明确 AGC 使用新 Agent 内核的替换目标

将替换对象从 Codex 适配器修正为 Agent Kernel 与 Engine 执行循环

保留 AGC 宿主的工具、权限、持久化、预览和完成门

规划 agent_runtime 实验模式与可回滚接线
This commit is contained in:
2026-09-09 21:09:36 +08:00
parent 9eb1abfda5
commit ce8425e671
@@ -5,6 +5,10 @@
当前不能直接把 AGC 的 Codex 实现替换成 `rust/` workspace 的
`agent-codex`,也不能只替换可执行文件后宣称兼容。三处版本和职责并不一致:
这里的目标不是“换一个 Codex 适配器”,而是让 AGC 的 Codex 模式改由新 Agent
Kernel/Engine 执行;AGC 继续作为宿主,保留项目工具、权限、持久化、预览和完成门。
因此替换对象是 Codex 的推理/工具循环,不是把 AGC 的宿主安全层删掉。
| 位置 | 当前版本/协议 | 实际范围 |
| --- | --- | --- |
| AGC npm/Windows sidecar | `@openai/codex` / `codex-cli 0.147.0` | 自建 Tokio app-server 连接池、隔离 `CODEX_HOME`、workspace sandbox、MCP/Skill、项目工具桥、Runtime 事件和取消/审计 |
@@ -38,21 +42,22 @@ thread queue、resume/steer、settings、goals、realtime、plugins、skills、M
## 分阶段替换路线
1.在独立 workspace 新增明确命名的 `codex_0_153_4` typed adapter,基于该版本生成的
provenance/schema fixture,覆盖 initialize、thread/start、turn/start、interrupt、
核心通知和 dynamic-tool request;未覆盖方法默认拒绝或保留 raw,不静默猜测。
2. 给通用 process facade 增加显式的工作目录和环境策略接口,或由 AGC 外层继续负责
`CODEX_HOME`、凭据桥和敏感环境排除;不能因接入 Rust adapter 而削弱隔离。
3. 在 AGC 内增加版本无关的窄 adapter trait,让现有 `codex_app_server.rs` 与 Rust
adapter 可切换;保留 0.147.0 路径作为回滚实现,先做离线握手、通知、server-request、
cancel/timeout 和 Runtime 事件回归。
4. 通过隔离 `CODEX_HOME` 的真实 0.153.4 initialize/thread/turn/tool smoke 后,才考虑
更新 npm lock、Windows sidecar、NOTICE、build manifest 和默认版本;真实 turn 必须
使用授权环境,不能用 fixture 代替
1.把 AGC 宿主能力抽成新 Engine 可调用的 Provider/Tool/Approval/Context 端口适配器;
AGC 仍持有项目 Runtime、权限、审计、预览和持久化真相。
2. 给独立 Engine 增加 AGC 所需的异步 facadeTokio↔同步 Engine 的受控线程桥),并把
AGC 的工具动作转换为新 Kernel 的 `ToolExecutor`,不复制第二套项目状态机。
3. 在 AGC 增加实验模式 `agent_runtime`,与旧 `codex_app_server` 并行;先覆盖文本、
function tool、审批拒绝/等待、取消、超时和事件投影,失败自动回滚到旧模式。
4. 再处理 Codex 版本适配:新 Agent 若仍通过 Codex App Server 访问模型,新增
`codex_0_153_4` typed adapter;若直接用 OpenAI Provider,则不把 Codex wire 作为
新 Engine 依赖。两条路径都必须保留 AGC 的隔离环境策略。
5. 通过同一批 AGC fixture 对比两条模式的消息、工具调用、Runtime 事件、取消和终态,
之后才考虑把 `agent_runtime` 设为默认;0.147.0 旧路径在验收前保留
## 当前不做
- 不直接修改 AGC 的生产 Codex 接线或删除 0.147.0 fallback
- 本阶段不直接修改 AGC 的默认 Codex 接线或删除 0.147.0 fallback;先实现可回滚的
`agent_runtime` 实验路径。
- 不复制 `codex-core`、ThreadStore、sandbox、认证、MCP/Skill/plugin 子系统到独立内核。
- 不把本机 0.153.4 的握手通过写成完整 session、工具或版本兼容已验收。