Codex harness 运行时
Codex harness 轮次的运行时契约。有关设置和路由,请参阅 Codex harness。有关配置字段,请参阅 Codex harness reference。
概述¶
Codex 负责原生模型循环、原生线程恢复、原生工具继续和原生压缩。OpenClaw 负责通道路由、会话文件、可见消息投递、OpenClaw 动态工具、审批、媒体投递,以及围绕该边界的转录镜像。
成功的 /btw 侧边问题会向回复用量钩子报告聚合用量,并在启用诊断时报告 model.usage 事件。总计包括缓存读取、缓存写入以及侧边线程原生工具循环中每次已完成的模型调用;重放的响应 ID 只计一次。可见回复仍然只包含最后一个答案,主会话的用量和上下文快照保持不变。
对于原生连接应用,Codex 还负责每个线程的最终应用和工具策略。OpenClaw 会缓存运行时和工作区范围的 plugin/installed 快照,读取精确配置的插件详情,临时仅允许明确允许且所有权已证明的应用,并创建默认拒绝的原生线程。一次 app/installed 请求可在不强制刷新清单的情况下验证实际线程 ID。缺失、已禁用或不可调用的应用会产生一条警告;对话使用剩余工具继续。Codex 仍会对实际线程执行应用和工具权限。
此检查在 OpenClaw 注入历史、开始轮次或提交线程绑定之前完成。如果快照请求失败,持久临时线程会被删除,临时线程会被取消订阅。当无法确认安全清理时,OpenClaw 会退役 app-server 连接。受监督分支也会清理其临时探针,并在清理失败时保留恢复状态。
账户范围的应用访问权限无法覆盖明确禁用的已配置工作区插件。OpenClaw 使用其已安装快照,并只读取该精确插件的详情来识别并拒绝其应用;它从不扫描无关市场或激活该插件。
提示路由遵循所选运行时,而不仅仅是提供商字符串。原生 Codex 轮次会获得 Codex app-server 开发者指令;显式 OpenClaw 兼容路由即使使用 Codex 风格的 OpenAI 认证或传输,也会保留正常的 OpenClaw 系统提示。
OpenClaw 启动和恢复原生 Codex 线程时,会禁用 Codex 内置人格(personality: "none"),以便工作区人格文件和 OpenClaw 代理身份保持权威。除此之外,原生 Codex 保留 Codex 拥有的基础/模型指令和项目文档加载。普通策略受限轮次没有原生文件系统环境,因此 OpenClaw 改为携带有界工作区 AGENTS.md 快照作为线程级开发者指令。轻量级、零环、仅消息和禁用工具的内置轮次会抑制项目文档加载和该回退载体。
OpenClaw 开发者指令涵盖 OpenClaw 运行时关注点:源通道投递、OpenClaw 动态工具、ACP 委派、适配器上下文,以及活动代理工作区配置文件。对于 OpenClaw 管理的直接 stdio app-server,包括为 Computer Use 选择的 Desktop 可执行文件,技能目录、人格文件、内存提供程序指令和工具路由的 MEMORY.md 指导会由私有推理中继追加到父模型请求指令中。原生基础和目录指令保持不变;此新上下文不会写入原生对话历史,也不会被原生子代理自动继承。没有该中继的连接改为在线程开发者指令中携带符合条件的技能目录,以便在模型拥有协作模式指令时保留投递。有关回退刷新和继承语义,请参阅 工作区引导文件。活动的 BOOTSTRAP.md 以及(当内存工具不可用时)有界的 MEMORY.md 内容以普通轮次输入引用的形式传递。它们在新原生线程、冷恢复或原生压缩之后,以及其渲染内容变化时引入。一旦完整块已提交,连续的温轮次会省略未更改的引用。被提示适配丢弃或截断的引用会在后续轮次中再次引入。进程本地跟踪在 Gateway 重启时重置。
内存插件在准备其指令时接收完整的可用工具集,包括延迟插件工具。该策略不依赖于旧内存工具名称或工作区文件路由。
自定义命令、Desktop 代理附件、外部 Unix/WebSocket app-server 连接、非 OpenAI 原生提供商、自定义上游端点、不受支持的原生账户、锁定上游以及原生 features.respect_system_proxy 配置保留其现有协作载体。托管中继请求使用 Gateway 的 HTTP(S) 代理和 TLS 配置,而不是更改原生网络设置。OpenClaw 会报告父级本地变通方案在那里不可用,而不是替换另一个应用程序的实时配置。现有历史(包括任何旧嵌入人格或明确共享的任务文本)都会保留;这不是追溯性历史清理。请参阅 工作区引导文件。
投递模式和当前消息目标要求在每个用户轮次之前作为紧凑的应用上下文到达。它们明确取代先前的投递指导,同时保留权限和时间上下文。在可用工具相同的情况下,在自动回复和仅消息工具回复之间切换时,静态指令和消息工具定义保持不变。如果在仅消息工具轮次中消息工具不可用,最终文本仅对调用工作流私有;它不会投递到源对话。
When openclaw_direct.sessions_yield is available, those instructions also
tell a native Codex parent to end the current turn when a child's result should
arrive in a later turn. Native wait_agent remains for an intentional same-turn
wait when the immediate next step is blocked on the child; completion polling
loops are not a substitute.
Most OpenClaw dynamic tools use the searchable openclaw namespace. Tools
marked catalogMode: "direct-only" use openclaw_direct, which Codex keeps
directly model-visible as DirectModelOnly instead of exposing it to nested
Code Mode execution.
Background dynamic-tool launches count as potential side effects, including launches from tools that normally perform read-only work. Turn recovery preserves that evidence so it does not repeat an already accepted background task.
Tool-schema repairs preserve literal property and definition names, including
__proto__. The schema advertised to Codex and the schema used to validate
OpenClaw tool calls retain the same required fields and constraints.
For a managed GitHub identity, gateway_exec uses OpenClaw's private local process-launch credential binding. Native Codex shell instead receives only the non-secret GH_CONFIG_DIR and token-clearing overlay; a missing or tokenless profile can still let GitHub CLI fall back to the OS keyring. Status and Gateway-owned publication guarantees do not cover that native shell path. Use gateway_exec when launch-bound managed GitHub credentials are required.
媒体与交付¶
OpenClaw 继续负责媒体交付和媒体提供商选择。图像、视频、音乐、PDF、TTS 和媒体理解使用相应的提供商/模型设置,例如 agents.defaults.mediaModels.image、agents.defaults.mediaModels.video、pdfModel 和 tts。
文本、图像、视频、音乐、TTS、审批和消息工具输出继续通过正常的 OpenClaw 交付路径;媒体生成不需要旧版运行时。当 Codex 发出带有 savedPath 的原生图像生成项时,即使 Codex 轮次没有助手文本,OpenClaw 也会通过正常的回复媒体路径转发该确切文件。
发送附件只会抑制同一目标上匹配的生成图像;其他生成图像仍可用。内部 UI 源回复会保留其已交付的附件,而不会添加第二份生成副本。部分交付回执不会抑制未确认交付的图像。
各章节迁移位置¶
单页版本的每个章节现在都位于此页面或以下九个子页面之一。单页版本的锚点仍会解析到此处。
Codex 进程恢复¶
Codex 进程恢复 — 在 Gateway 强制停止后,检测并清理孤立的 Codex app-server 进程。
Codex 线程绑定与监督¶
Codex 线程绑定与监督 — OpenClaw 如何绑定原生 Codex 线程、更改模型并继续受监督的会话。
Codex 回复与最终答案¶
Codex 回复与最终答案 — 可见回复交付、心跳轮次和有界的最终答案恢复。
Codex 钩子边界¶
Codex 钩子边界 — 哪个钩子层拥有每个 Codex 轮次事件,以及原生钩子中继可以做什么。
Codex 沙箱进程流式传输¶
Codex 沙箱进程流式传输 — 实验性原生沙箱执行流式传输和基于节点的远程 exec。
Codex 运行时 v1 支持契约¶
Codex 运行时 v1 支持契约 — Codex 运行时 v1 中支持和不支持的内容,以及每个边界的原因。
Codex 原生权限与征询¶
Codex 原生权限与征询 — 原生权限决策、记住的审批和 MCP 征询限制。
Codex 队列引导与反馈上传¶
Codex 队列引导与反馈上传 — Codex 轮次上的活动运行队列引导以及 Codex 反馈上传路径。
Codex 压缩与转录镜像¶
Codex 压缩与转录镜像 — 原生 Codex 压缩、OpenClaw 转录镜像和连续性投影。
相关¶
- Codex 框架
- Codex 框架参考
- Codex 监督
- 原生 Codex 插件
- 插件钩子
- Agent 框架插件
- Agent 运行时
- 诊断导出
- 轨迹导出
- ACP 代理 — 如何配置和绑定 ACP 代理
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 cl/openclaw