baa-conductor

git clone 

commit
96ceb40
parent
1e75818
author
im_wower
date
2026-03-23 08:10:15 +0800 CST
docs(codexd): clarify app-server-only product surface
4 files changed,  +31, -1
M DESIGN.md
+3, -0
 1@@ -94,6 +94,7 @@
 2   - 持续记录日志
 3 - 公开接口结论已经明确:
 4   - 主接口:`codex app-server`
 5+  - 不实现 `codex exec` 式无交互正式模式
 6   - `conductor-daemon` 对外只保留 `/v1/codex`、`/v1/codex/sessions`、`/v1/codex/sessions/:session_id`、`POST /v1/codex/sessions`、`POST /v1/codex/turn`
 7   - 不驱动 TUI
 8 - 负责 Codex 特有的会话、子进程、重试、超时和恢复语义
 9@@ -111,6 +112,8 @@
10 - `apps/codexd` 已有 daemon scaffold,但还没有完成 conductor 集成
11 - 所以 `codexd` 现在仍是半成品,不是已落地组件
12 - 正式产品口径只保留 session / turn / status,不把 `runs` / `exec` 当作 Codex 能力面
13+- 后续实现时,不再把 `exec` 当作主双工方案,也不再把它做成正式接口
14+- 原因:`codex exec` 卡顿明显且容易假死,不符合 `codexd` 的常驻双工目标
15 - 后续实现时,`conductor-daemon` 只能通过本地接口调用 `codexd`,不能自己长期维护一套并行 bridge
16 
17 ### `apps/worker-runner`
M README.md
+1, -1
1@@ -29,7 +29,7 @@
2 其中当前结论已经固定:
3 
4 - `codex app-server` 是未来 `codexd` 的主接口
5-- `codex exec` 只保留为简单调用、测试和兜底 worker
6+- 不实现 `codex exec` 式无交互正式模式
7 
8 ## 面向 AI 的推荐阅读顺序
9 
M docs/decisions/0002-codexd-independent-daemon.md
+1, -0
1@@ -19,6 +19,7 @@
2 ## 原因
3 
4 - 目标需求是 Codex 常驻、双工、多轮和可恢复,不是一次性调用
5+- `codex exec` 在当前环境里卡顿明显且容易假死,不适合作为正式运行面
6 - 内嵌在 `conductor-daemon` 内会把系统真相和 Codex 会话状态混在一起
7 - 独立进程更容易做崩溃隔离、日志落盘、会话恢复和运行态排障
8 - `conductor-daemon` 与 `codexd` 都由 `launchd` 管理时,可以各自重启并重新建立连接
M docs/runtime/codexd.md
+26, -0
 1@@ -127,6 +127,7 @@
 2 基于当前本机已验证的 Codex CLI 公开接口,`codexd` 的设计结论应明确为:
 3 
 4 - 主会话与双工能力:基于 `codex app-server`
 5+- 不实现 `codex exec` 式无交互正式模式
 6 - `conductor-daemon` 对外正式能力只保留 session / turn / status
 7 - 不驱动 TUI
 8 - 不逆向私有协议
 9@@ -134,6 +135,8 @@
10 原因:
11 
12 - 当前目标是常驻、多轮、可恢复的会话代理,不是一次性命令壳
13+- `codex exec` 虽然适合一次性非交互执行,但天然不是多轮双工模型
14+- 在当前环境里,`codex exec` 还表现出明显卡顿和假死风险
15 - `codex app-server` 虽然仍标记为 experimental,但它已经公开了最完整的线程、turn、流式事件和恢复语义
16 - 已验证单个 `app-server` 进程可承载多个 `thread`,因此默认不需要“一对话一进程”
17 
18@@ -142,6 +145,8 @@
19 - `codexd v1` 继续围绕 `app-server`
20 - `conductor-daemon -> codexd` 是唯一正式代理链路
21 - 不新增、不对外暴露 `/v1/codex/runs*`
22+- 不新增、不扩展、不对外暴露 `codex exec` 路线
23+- 已存在的 `run` / fallback 相关实现视为过渡代码,应逐步删除
24 
25 ## 当前骨架已经落下的内容
26 
27@@ -206,6 +211,7 @@
28 - 受 timeout / retry / checkpoint 约束
29 - 由 `worker-runner` / `conductor-daemon` 编排
30 - 正式实现只走 `app-server`
31+- 不再把 `exec` 作为 worker 正路或降级路径
32 
33 ### 2. duplex 对话模式
34 
35@@ -262,6 +268,21 @@
36   - 本地 HTTP:session / turn / status
37   - 本地 WS 或 SSE:增量事件流
38 
39+### v1 约束
40+
41+`codexd` 不再提供 `codex exec` 式无交互正式能力:
42+
43+- 不新增 `/runs` 类正式接口
44+- 不把 `exec` 当作 worker 正路
45+- 不把 `exec` 当作会话降级面
46+- 不把 `exec` 暴露给上层 AI 直接调用
47+
48+原因:
49+
50+- 卡顿明显
51+- 容易假死
52+- 不符合常驻双工模型
53+
54 ### v2
55 
56 - 在 `app-server` 之上继续补:
57@@ -317,8 +338,13 @@
58 如果开始实现 `codexd`,默认遵守这条约束:
59 
60 - `app-server` 是主能力面
61+<<<<<<< ours
62 - 不把 `runs` / `exec` 扩成正式产品能力
63 - `conductor-daemon` 只代理独立 `codexd`
64+=======
65+- `exec` 不是主会话系统,只是简单调用和测试工具
66+- `packages/codex-exec` 不再作为正式产品能力推进;后续应缩成内部测试/迁移遗留,或直接删除
67+>>>>>>> theirs
68 
69 不要把当前系统误认为已经有:
70