完成 Codex runner 集成#20
Issue #16 已经梳理了动态拉起 Codex / DoAgent 运行环境、托管凭证、长驻实例、一次性任务、事件流和资源回收等总体设计。为了先落地可验证闭环,需要单独拆出 Codex 集成任务。
完成 auto-harness 与 Codex runner 的首期集成,让系统可以按配置拉起 Codex 运行环境、注入受控凭证、执行任务,并在执行过程中持续向对话通道输出事件。
codex
codex --version
codex exec
plan
progress
final
error
ConversationSink
runners: - id: codex-default type: codex workspace: /workspace command: argv: - codex - exec - --sandbox - workspace-write - - health: argv: - codex - --version credentialRefs: - codex-token
type Runner interface { Type() string Probe(ctx context.Context, env RuntimeEnv) error Run(ctx context.Context, task Task, env RuntimeEnv, sink ConversationSink) (Result, error) }
支持托管凭证模式:
credentials: - id: codex-token type: cnb_api_token source: managed expose: never
要求:
~/.codex/auth.json
Codex runner 不直接操作 CNB Issue 或 AgentForge 对话,只产生 RunnerEvent:
RunnerEvent
type RunnerEvent struct { SessionID string InstanceID string TaskID string RunnerID string Type string // plan | progress | final | error | artifact Visibility string // user | internal | audit Body string CreatedAt time.Time }
由 ConversationSink 负责输出到:
auto-harness validate
auto-harness serve
chat/sendMessage
codex-ready
已合并并发布到 main:Codex runner/NPC 首期集成已进入主线,包含 NPC 入口、配置、运行镜像和事件入口。main 构建 cnb-6u8-1jojcvdm4 成功。
背景
Issue #16 已经梳理了动态拉起 Codex / DoAgent 运行环境、托管凭证、长驻实例、一次性任务、事件流和资源回收等总体设计。为了先落地可验证闭环,需要单独拆出 Codex 集成任务。
目标
完成 auto-harness 与 Codex runner 的首期集成,让系统可以按配置拉起 Codex 运行环境、注入受控凭证、执行任务,并在执行过程中持续向对话通道输出事件。
范围
codexrunner 类型。codex --version。codex exec。plan/progress/final/error。ConversationSink将事件转为 AgentForge ACP SSE 对话更新。建议实现
1. Spec 扩展
runners: - id: codex-default type: codex workspace: /workspace command: argv: - codex - exec - --sandbox - workspace-write - - health: argv: - codex - --version credentialRefs: - codex-token2. Runner 接口
type Runner interface { Type() string Probe(ctx context.Context, env RuntimeEnv) error Run(ctx context.Context, task Task, env RuntimeEnv, sink ConversationSink) (Result, error) }3. Codex runner 行为
codex --version。progress事件。final事件。error事件并保留脱敏日志。4. 凭证注入
支持托管凭证模式:
credentials: - id: codex-token type: cnb_api_token source: managed expose: never要求:
~/.codex/auth.json,必须在运行环境内临时生成,并设置严格权限。5. 事件输出
Codex runner 不直接操作 CNB Issue 或 AgentForge 对话,只产生
RunnerEvent:type RunnerEvent struct { SessionID string InstanceID string TaskID string RunnerID string Type string // plan | progress | final | error | artifact Visibility string // user | internal | audit Body string CreatedAt time.Time }由
ConversationSink负责输出到:验收标准
auto-harness validate可校验 Codex runner 配置。auto-harness serve可以通过chat/sendMessage路由到 Codex runner。codex-ready。非目标
关联