@bbyx0011/ghostcode 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/bin/ghostcode-mcp +11 -0
  2. package/bin/ghostcode-mcp-darwin-arm64 +0 -0
  3. package/bin/ghostcode-mcp-darwin-x64 +0 -0
  4. package/bin/ghostcode-mcp-linux-x64 +0 -0
  5. package/bin/ghostcode-wrapper +11 -0
  6. package/bin/ghostcode-wrapper-darwin-arm64 +0 -0
  7. package/bin/ghostcode-wrapper-darwin-x64 +0 -0
  8. package/bin/ghostcode-wrapper-linux-x64 +0 -0
  9. package/bin/ghostcoded-darwin-arm64 +0 -0
  10. package/bin/ghostcoded-darwin-x64 +0 -0
  11. package/bin/ghostcoded-linux-x64 +0 -0
  12. package/dist/cli.d.ts +21 -0
  13. package/dist/cli.js +97 -0
  14. package/dist/daemon.d.ts +72 -0
  15. package/dist/index.d.ts +31 -0
  16. package/dist/index.js +35 -0
  17. package/dist/install.d.ts +61 -0
  18. package/dist/ipc.d.ts +121 -0
  19. package/dist/postinstall.d.ts +42 -0
  20. package/dist/session-lease.d.ts +110 -0
  21. package/dist/web.d.ts +51 -0
  22. package/hooks/hooks.json +101 -0
  23. package/package.json +29 -0
  24. package/prompts/codex-analyzer.md +64 -0
  25. package/prompts/codex-reviewer.md +73 -0
  26. package/prompts/gemini-analyzer.md +82 -0
  27. package/prompts/gemini-reviewer.md +91 -0
  28. package/scripts/hook-pre-compact.mjs +128 -0
  29. package/scripts/hook-pre-tool-use.mjs +225 -0
  30. package/scripts/hook-session-end.mjs +108 -0
  31. package/scripts/hook-session-start.mjs +243 -0
  32. package/scripts/hook-stop.mjs +143 -0
  33. package/scripts/hook-subagent-start.mjs +231 -0
  34. package/scripts/hook-subagent-stop.mjs +168 -0
  35. package/scripts/hook-user-prompt-submit.mjs +134 -0
  36. package/scripts/lib/daemon-client.mjs +165 -0
  37. package/scripts/lib/stdin.mjs +88 -0
  38. package/scripts/run.mjs +98 -0
  39. package/skills/execute/SKILL.md +481 -0
  40. package/skills/plan/SKILL.md +318 -0
  41. package/skills/research/SKILL.md +267 -0
  42. package/skills/review/SKILL.md +238 -0
@@ -0,0 +1,318 @@
1
+ ---
2
+ name: plan
3
+ description: '多模型协作规划:规模评估 -> 并行分析 -> 零决策实施计划(合并 spec-plan + team-plan)'
4
+ aliases:
5
+ - gc plan
6
+ - 规划
7
+ do_not_use_when: 尚未完成 gc:research、或任务过于简单不需要规划
8
+ ---
9
+
10
+ ## Purpose
11
+
12
+ 统一的规划命令,合并原 spec-plan(单人串行)和 team-plan(多 Builder 并行)的能力。
13
+
14
+ 基于 gc:research 产出的约束集,通过多模型并行分析生成零决策实施计划。
15
+ 在 Step 0 自动评估任务规模,决定执行模式:
16
+ - **parallel**:大型任务,多文件/多模块,生成 Builder 并行任务矩阵(Layer 分层)
17
+ - **serial**:小型任务,单模块,生成精确到行号的串行任务列表
18
+
19
+ 产出:`.claude/plan/<任务名>.md` 计划文件,包含 `execution_mode` 字段供 gc:execute 读取。
20
+
21
+ ## Use When
22
+
23
+ - 用户输入 "gc plan"、"gc:plan"、"plan"、"规划"
24
+ - 已完成 gc:research,约束集文档存在
25
+ - 需要生成零决策的详细实施计划
26
+ - 需要将需求拆分为可执行的子任务
27
+
28
+ ## Do Not Use When
29
+
30
+ - 尚未完成 gc:research(约束集不存在时禁止跳过直接规划)
31
+ - 任务已有现成的明确方案(直接实施更高效)
32
+ - 任务极其简单,过度规划浪费时间
33
+
34
+ ## Guardrails
35
+
36
+ - 多模型分析是 **mandatory**:必须同时调用 Codex(后端)和 Gemini(前端)
37
+ - 不写产品代码,只做分析和规划
38
+ - 计划文件必须包含多模型的实际分析摘要
39
+ - parallel 模式:每个子任务文件范围不重叠(硬性规则,不可违反)
40
+ - 无法避免重叠时,必须设为依赖关系而非并行
41
+ - 使用 AskUserQuestion 解决任何歧义
42
+ - GhostCode 特定:Rust 变更和 TS Plugin 变更必须作为不同 Layer 处理
43
+ - 计划文件必须包含 `execution_mode: parallel | serial` 字段
44
+
45
+ ## GhostCode Daemon 集成(MANDATORY)
46
+
47
+ 执行任何步骤之前,必须先初始化 GhostCode MCP 工具:
48
+
49
+ 1. 调用 ToolSearch 搜索 "+ghostcode message" 加载 GhostCode MCP 工具
50
+ 2. 调用 ghostcode_group_info 确认 Daemon 在线且 Group 存在
51
+ - 如果失败:立即报错「GhostCode Daemon 未运行,请先启动 Daemon」,终止流程
52
+ 3. 后续步骤中使用以下 MCP 工具发送进度消息(Dashboard 实时可见):
53
+ - ghostcode_message_send: 发送消息
54
+ - ghostcode_dashboard_snapshot: 获取当前状态快照
55
+
56
+ ## Steps
57
+
58
+ ### Step 0: 规模评估
59
+
60
+ 分析 $ARGUMENTS,确认规划目标和范围边界。
61
+
62
+ 读取 `.claude/research/<任务名>-research.md` 约束集文档,若不存在则提示先运行 gc:research,终止。
63
+
64
+ **规模判断标准**:
65
+ - **parallel**(大型任务):涉及多文件、多模块、需要多 Builder 并行、Rust + TS 协调变更
66
+ - **serial**(小型任务):单模块、单人串行 TDD、变更范围集中
67
+
68
+ 将判断结果记为 `execution_mode`,后续步骤根据此值分流。
69
+
70
+ **MCP 调用**:规模评估完成后发送消息:
71
+ ```
72
+ ghostcode_message_send({ text: "gc:plan 启动(execution_mode: <parallel|serial>):基于约束集 <文件名>" })
73
+ ```
74
+
75
+ ### Step 1: 上下文收集
76
+
77
+ 用 Glob/Grep/Read 分析项目结构:
78
+
79
+ ```bash
80
+ # 了解现有模块结构
81
+ ls src/core/src/
82
+ ls src/plugin/src/
83
+
84
+ # 检查现有代码模式
85
+ grep -r "pub fn\|pub struct\|pub enum" src/core/src/ --include="*.rs" | head -20
86
+ grep -r "export function\|export class\|export const" src/plugin/src/ --include="*.ts" | head -20
87
+ ```
88
+
89
+ 整理出:技术栈、目录结构、关键文件、现有模式。
90
+
91
+ ### Step 1.5: 开启 Session Gate(MANDATORY,不可跳过)
92
+
93
+ 调用 ghostcode_session_gate_open(command_type="plan", required_models=["codex", "gemini"])
94
+ → 得到 session_id,后续所有 submit/close 都使用此 session_id
95
+ 若 Daemon 离线 → 终止流程,报告错误「GhostCode Daemon 未运行」
96
+
97
+ ### Step 2: 多模型并行分析(PARALLEL)
98
+
99
+ **CRITICAL**: 必须在一条消息中同时发起两个 Bash 后台调用,run_in_background: true。
100
+
101
+ **Bash 调用 1(Codex 后端分析)**:
102
+ ```bash
103
+ ~/.ghostcode/bin/ghostcode-wrapper --backend codex --workdir "$(pwd)" --timeout 600 --stdin <<'CODEX_TASK'
104
+ ROLE_FILE: ~/.ghostcode/prompts/codex-analyzer.md
105
+
106
+ 你正在为 GhostCode 项目(Rust 核心 + TS Plugin 多 Agent 协作平台)进行 Rust 核心分析规划。
107
+
108
+ 请基于约束集文档,提供:
109
+ 1. 技术可行性评估:Rust 编译器约束、tokio 异步限制、内存安全要求
110
+ 2. 推荐实施方案:精确到文件路径和函数名的 Rust 核心实施步骤
111
+ 3. Rust 模块依赖分析:哪些模块需要先实现、模块间接口约定
112
+ 4. 风险评估:编译时间风险、并发安全风险、接口兼容性风险及缓解方案
113
+
114
+ 请以结构化 JSON 格式输出,包含 feasibility、implementation_plan、module_dependencies、risks 字段。
115
+ CODEX_TASK
116
+ ```
117
+
118
+ **Bash 调用 2(Gemini 前端分析)**:
119
+ ```bash
120
+ ~/.ghostcode/bin/ghostcode-wrapper --backend gemini --workdir "$(pwd)" --timeout 600 --stdin <<'GEMINI_TASK'
121
+ ROLE_FILE: ~/.ghostcode/prompts/gemini-analyzer.md
122
+
123
+ 你正在为 GhostCode 项目(Rust 核心 + TS Plugin 多 Agent 协作平台)进行 TS Plugin 分析规划。
124
+
125
+ 请基于约束集文档,提供:
126
+ 1. TS Plugin 可行性评估:hook 生命周期约束、skill 格式限制、TypeScript 类型安全要求
127
+ 2. 推荐实施方案:精确到文件路径和函数名的 TS Plugin 实施步骤
128
+ 3. Plugin 与核心 IPC 接口对齐方案:消息格式约定、错误处理对齐、版本兼容策略
129
+ 4. 集成风险:IPC 协议变更风险、hook 调用时序风险、类型不匹配风险及缓解方案
130
+
131
+ 请以结构化 JSON 格式输出,包含 feasibility、implementation_plan、ipc_alignment、risks 字段。
132
+ GEMINI_TASK
133
+ ```
134
+
135
+ 等待两个后台任务完成:使用 TaskOutput(block: true, timeout: 600000) 读取各自结果。
136
+
137
+ **wrapper 失败处理(按退出码分级)**:
138
+ - exit 127(命令不存在)→ 终止流程,提示「ghostcode-wrapper 未安装,请检查环境」
139
+ - exit 124(超时)→ 自动重试一次,仍失败则进入用户确认
140
+ - 其他(如 429 额度用完)→ AskUserQuestion 让用户选择:
141
+ [重试] / [跳过并记录 bypass_reason] / [终止整个流程]
142
+ - 用户选「跳过」→ ghostcode_session_gate_submit(session_id, model,
143
+ output_type="bypass", data={}, bypass=true, bypass_reason="quota_exceeded")
144
+ - 用户选「终止」→ ghostcode_session_gate_abort(session_id) 后退出
145
+
146
+ Codex wrapper 完成后,调用:
147
+ ```
148
+ ghostcode_session_gate_submit(session_id=<session_id>,
149
+ model="codex",
150
+ output_type="plan_analysis",
151
+ data=<codex wrapper 输出>)
152
+ ```
153
+
154
+ Gemini wrapper 完成后,调用:
155
+ ```
156
+ ghostcode_session_gate_submit(session_id=<session_id>,
157
+ model="gemini",
158
+ output_type="plan_analysis",
159
+ data=<gemini wrapper 输出>)
160
+ ```
161
+
162
+ **MCP 调用**:多模型分析完成后发送消息:
163
+ ```
164
+ ghostcode_message_send({ text: "多模型分析完成,开始综合方案并生成计划" })
165
+ ```
166
+
167
+ ### Step 3: 综合分析 + 任务拆分
168
+
169
+ 调用 ghostcode_session_gate_close(session_id=<session_id>)
170
+ → 返回合并输出(含 partial 标记和 missing_models 列表)
171
+ → 若 SESSION_INCOMPLETE → 终止,必须补全 missing_models
172
+ → 若 partial=true → 报告顶部标注 WARNING PARTIAL_SESSION(有模型使用了 bypass)
173
+
174
+ 后端方案以 Claude/Codex 为准,前端/Plugin 方案以 Gemini 为准。
175
+ 若存在矛盾(如 IPC 接口定义冲突),提交给用户确认。
176
+
177
+ **根据 execution_mode 分流**:
178
+
179
+ #### parallel 模式(大型任务)
180
+
181
+ 拆分原则:
182
+ - 每个子任务文件范围不重叠(**强制**)
183
+ - 如果无法避免重叠 -> 设为依赖关系
184
+ - 每个子任务有具体实施步骤和验收标准
185
+ - GhostCode 特定:Rust 核心任务先于 TS Plugin 任务(因为 Plugin 调用核心接口)
186
+
187
+ 按依赖关系分层(Layer):
188
+ - **Layer 1**:无依赖的并行任务
189
+ - **Layer 2**:依赖 Layer 1 完成的任务
190
+ - **Layer N**:依此类推
191
+
192
+ #### serial 模式(小型任务)
193
+
194
+ 拆分原则:
195
+ - 任务按执行顺序排列,精确到文件、函数、行号粒度
196
+ - 每个任务包含 TDD 流程:Red -> Green -> Refactor
197
+ - 提取硬约束(HC-N)、软约束(SC-N)、依赖关系(DEP-N)、成功判据(OK-N)
198
+
199
+ ### Step 4: 写入计划文件
200
+
201
+ 路径:`.claude/plan/<任务名>.md`
202
+
203
+ #### parallel 模式计划文件格式
204
+
205
+ ```markdown
206
+ # Plan: <任务名>
207
+
208
+ execution_mode: parallel
209
+
210
+ ## 概述
211
+ <一句话描述>
212
+
213
+ ## 多模型分析摘要
214
+
215
+ ### Claude/Codex 分析(Rust 核心)
216
+ <实际返回的关键内容>
217
+
218
+ ### Gemini 分析(TS Plugin)
219
+ <实际返回的关键内容>
220
+
221
+ ## 技术方案
222
+ <综合最优方案,含关键技术决策>
223
+
224
+ ## 子任务列表
225
+
226
+ ### Task 1: <名称>
227
+ - **类型**: Rust 核心 / TS Plugin / 跨层
228
+ - **文件范围**: <精确文件路径列表>
229
+ - **依赖**: 无 / Task N
230
+ - **实施步骤**:
231
+ 1. <具体步骤>
232
+ 2. <具体步骤>
233
+ - **TDD 验收**:
234
+ - 测试文件:<路径>
235
+ - 通过条件:cargo test / pnpm test 全通过
236
+
237
+ ### Task 2: <名称>
238
+ ...
239
+
240
+ ## 文件冲突检查
241
+ 无冲突 / 已通过依赖关系解决
242
+
243
+ ## 并行分组
244
+ - Layer 1(并行): Task 1, Task 2
245
+ - Layer 2(依赖 Layer 1): Task 3
246
+ ```
247
+
248
+ #### serial 模式计划文件格式
249
+
250
+ ```markdown
251
+ # Plan: <任务名>
252
+
253
+ execution_mode: serial
254
+
255
+ ## 概述
256
+ <一句话描述>
257
+
258
+ ## 多模型分析摘要
259
+
260
+ ### Claude/Codex(Rust 核心)
261
+ <实际分析的关键内容摘要>
262
+
263
+ ### Gemini(TS Plugin)
264
+ <实际分析的关键内容摘要>
265
+
266
+ ## 技术方案
267
+ <综合最优方案,含关键技术决策及理由>
268
+
269
+ ## TDD 实施计划
270
+
271
+ ### Task 1: <名称>
272
+ - **类型**: Rust 核心 / TS Plugin
273
+ - **文件范围**:
274
+ - 测试文件:`<路径>_test.rs` 或 `<路径>.test.ts`
275
+ - 实现文件:`<精确路径>`
276
+ - **TDD 流程**:
277
+ 1. Red:创建测试文件,运行确认失败
278
+ 2. Green:写最少实现代码,测试通过
279
+ 3. Refactor:集成到现有模块
280
+ - **验收**:
281
+ - `cargo test <测试名>` 全通过
282
+ - `cargo build` 零警告
283
+
284
+ ### Task 2: <名称>
285
+ ...
286
+
287
+ ## 成功判据映射
288
+ - [OK-1] -> Task 1 验收
289
+ - [OK-2] -> Task 2 验收
290
+ ```
291
+
292
+ **MCP 调用**:计划文件写入后发送消息:
293
+ ```
294
+ ghostcode_message_send({ text: "计划已生成:<文件路径>,execution_mode: <parallel|serial>,N 个子任务" })
295
+ ```
296
+
297
+ ### Step 5: 用户确认
298
+
299
+ 展示计划摘要(execution_mode、子任务数、并行分组/串行顺序)。
300
+ 使用 AskUserQuestion 请求确认。
301
+ 确认后提示:`计划已就绪,运行 gc:execute 开始实施`
302
+
303
+ ### Step 6: 上下文检查点
304
+
305
+ 报告当前上下文使用量。
306
+ 如果接近 80K:建议 `/clear` 后运行 `gc:execute`。
307
+
308
+ ## Exit Criteria
309
+
310
+ - [ ] 规模评估完成,execution_mode 已确定
311
+ - [ ] 多模型分析完成(Codex + Gemini 均输出结果)
312
+ - [ ] 所有矛盾已解决(无冲突技术方案)
313
+ - [ ] TDD 验收标准已为每个任务定义
314
+ - [ ] 计划文件已写入 `.claude/plan/<任务名>.md`
315
+ - [ ] 计划文件包含 `execution_mode` 字段
316
+ - [ ] 用户已确认计划
317
+ - [ ] parallel 模式:Layer 结构清晰无歧义,文件范围无冲突
318
+ - [ ] serial 模式:任务精确到文件/函数/行号粒度
@@ -0,0 +1,267 @@
1
+ ---
2
+ name: research
3
+ description: 多模型并行研究:代码库探索 + 约束集提取 + 成功判据定义(合并 spec-research + team-research)
4
+ aliases:
5
+ - gc research
6
+ - 研究
7
+ do_not_use_when: 任务范围已明确、约束集已存在
8
+ ---
9
+
10
+ ## Purpose
11
+
12
+ 并行调度多个 Agent 对 GhostCode 代码库进行深度探索,产出约束集和可验证的成功判据。
13
+
14
+ Research 阶段的产出不是信息堆砌,而是**约束集**。每条约束缩小解决方案空间,告诉后续
15
+ 的 plan 阶段「不要考虑这个方向」,使 plan 阶段能够产出零决策计划,Builder 能够
16
+ 无决策机械执行。
17
+
18
+ GhostCode 技术栈特殊性:Rust 核心引擎(src/core/)+ TypeScript Plugin 薄壳
19
+ (src/plugin/),两层之间通过 Unix socket / stdio JSON-RPC 通信,探索时需分别对待。
20
+
21
+ > **注意**:此 skill 合并了 `spec-research` 和 `team-research`,统一输出路径到
22
+ > `.claude/research/<任务名>-research.md`,不再区分 team-plan/ 和 spec-changes/。
23
+
24
+ ## Use When
25
+
26
+ - 用户输入 "gc research"、"gc:research"、"research"、"研究"
27
+ - 需要对 GhostCode 代码库进行全面分析(Rust 核心 + TS Plugin 双层)
28
+ - 需要提取硬约束和软约束
29
+ - 需求描述存在歧义,无法直接规划
30
+ - 启动一个新功能模块前需要了解现有架构约束
31
+ - 需要对特定需求进行深度研究(新模块、重大变更)
32
+
33
+ ## Do Not Use When
34
+
35
+ - 任务范围已明确,约束集已存在(直接使用 team-plan 或 spec-plan)
36
+ - 仅修改单一文件的小型改动(过度杀鸡用牛刀)
37
+ - 简单的 bug 修复或单文件改动(过度研究浪费时间)
38
+ - 时间紧迫且风险可接受时(可跳过直接 plan)
39
+
40
+ ## Guardrails
41
+
42
+ - **STOP! BEFORE ANY OTHER ACTION**: 必须先做 Step 0 Prompt 增强,不可跳过
43
+ - 按上下文边界划分探索范围,不按角色划分(禁止「架构师 Agent」「安全专家 Agent」)
44
+ - 多模型协作是 **mandatory**:Claude(Rust 核心/后端边界)+ Gemini(TS Plugin/前端边界)
45
+ - 不做架构决策——只发现约束
46
+ - 使用 AskUserQuestion 解决任何歧义,绝不假设
47
+ - GhostCode 特定:Rust 核心变更必须与 TS Plugin 接口同步检查
48
+
49
+ ## GhostCode Daemon 集成(MANDATORY)
50
+
51
+ 执行任何步骤之前,必须先初始化 GhostCode MCP 工具:
52
+
53
+ 1. 调用 ToolSearch 搜索 "+ghostcode message" 加载 GhostCode MCP 工具
54
+ 2. 调用 ghostcode_group_info 确认 Daemon 在线且 Group 存在
55
+ - 如果失败:立即报错「GhostCode Daemon 未运行,请先启动 Daemon」,终止流程
56
+ 3. 后续步骤中使用以下 MCP 工具发送进度消息(Dashboard 实时可见):
57
+ - ghostcode_message_send: 发送消息
58
+ - ghostcode_dashboard_snapshot: 获取当前状态快照
59
+
60
+ ## Steps
61
+
62
+ ### Step 0: MANDATORY Prompt 增强(立即执行,不可跳过)
63
+
64
+ **立即执行,不可跳过。**
65
+
66
+ 分析 $ARGUMENTS 的意图、缺失信息、隐含假设,补全为结构化需求:
67
+ - **目标**:用户实际想要达成什么业务/技术目标
68
+ - **技术约束**:GhostCode Rust core + TS Plugin 的架构限制
69
+ - **范围边界**:哪些文件/模块在范围内,哪些明确排除
70
+ - **验收标准**:怎么算完成,可观测的成功行为
71
+
72
+ 后续所有步骤使用增强后的需求。
73
+
74
+ **MCP 调用**:Prompt 增强完成后发送消息:
75
+ ```
76
+ ghostcode_message_send({ text: "gc:research 启动:<需求摘要>" })
77
+ ```
78
+
79
+ ### Step 1: GhostCode 代码库评估
80
+
81
+ 使用 Glob/Grep/Read 扫描项目结构:
82
+
83
+ ```bash
84
+ # 扫描 Rust 核心结构
85
+ find src/core/src -name "*.rs" | head -30
86
+
87
+ # 扫描 TS Plugin 结构
88
+ find src/plugin/src -name "*.ts" | grep -v test | head -30
89
+
90
+ # 检查 IPC 协议定义
91
+ grep -r "JSON-RPC\|socket\|stdio" src/core/src/ --include="*.rs" -l
92
+ ```
93
+
94
+ 识别:
95
+ - Rust 核心现有模块(daemon、ipc、messaging 等)
96
+ - TS Plugin 现有 hook handlers、skills、router
97
+ - IPC 边界:什么走 Unix socket,什么走 stdio
98
+ - 现有模式:错误处理、日志格式、测试风格
99
+
100
+ ### Step 2: 定义探索边界(按上下文划分,非角色划分)
101
+
102
+ 识别自然的上下文边界(不是功能角色):
103
+
104
+ | 边界编号 | 范围 | 描述 |
105
+ |---------|------|------|
106
+ | 边界 A | src/core/src/ | Rust 核心引擎:daemon、ipc、messaging |
107
+ | 边界 B | src/plugin/src/ | TS Plugin 薄壳:hooks、router、skills |
108
+ | 边界 C | IPC 协议层 | Unix socket 消息格式、JSON-RPC 结构 |
109
+
110
+ 每个边界应自包含,并行探索无需跨边界通信。
111
+
112
+ ### Step 2.5: 开启 Session Gate(MANDATORY,不可跳过)
113
+
114
+ 调用 ghostcode_session_gate_open(command_type="research", required_models=["codex", "gemini"])
115
+ → 得到 session_id,后续所有 submit/close 都使用此 session_id
116
+ 若 Daemon 离线 → 终止流程,报告错误「GhostCode Daemon 未运行」
117
+
118
+ ### Step 3: 多模型并行探索(PARALLEL)
119
+
120
+ **CRITICAL**: 必须在一条消息中同时发起两个 Bash 后台调用,run_in_background: true。
121
+
122
+ **Bash 调用 1(Codex 后端分析)**:
123
+ ```bash
124
+ ~/.ghostcode/bin/ghostcode-wrapper --backend codex --workdir "$(pwd)" --timeout 600 --stdin <<'CODEX_TASK'
125
+ ROLE_FILE: ~/.ghostcode/prompts/codex-analyzer.md
126
+
127
+ 你正在探索 GhostCode 项目(Rust 核心 + TS Plugin 多 Agent 协作平台)的后端/核心约束边界。
128
+
129
+ 请分析 src/core/src/ 目录(边界 A),重点识别:
130
+ 1. Rust 核心架构约束:模块结构、公开接口、依赖关系
131
+ 2. tokio 异步模式:任务调度方式、channel 使用、并发控制
132
+ 3. 错误类型定义:自定义错误类型、错误传播链、panic 策略
133
+ 4. IPC 接口定义:Unix socket/stdio 协议、消息序列化格式
134
+ 5. 现有测试模式:测试文件结构、mock 方式、断言风格
135
+
136
+ 输出 JSON 格式约束集,包含 existing_structures、existing_conventions、constraints_discovered、risks 字段。
137
+ CODEX_TASK
138
+ ```
139
+
140
+ **Bash 调用 2(Gemini 前端分析)**:
141
+ ```bash
142
+ ~/.ghostcode/bin/ghostcode-wrapper --backend gemini --workdir "$(pwd)" --timeout 600 --stdin <<'GEMINI_TASK'
143
+ ROLE_FILE: ~/.ghostcode/prompts/gemini-analyzer.md
144
+
145
+ 你正在探索 GhostCode 项目(Rust 核心 + TS Plugin 多 Agent 协作平台)的前端/Plugin 约束边界。
146
+
147
+ 请分析 src/plugin/src/ 目录(边界 B),重点识别:
148
+ 1. TS Plugin 架构约束:hook 注册方式、skill 加载机制、router 策略
149
+ 2. hook 生命周期:各 hook 的调用时机、副作用限制、异步处理方式
150
+ 3. skill 格式约束:SKILL.md 格式规范、参数传递、输出格式
151
+ 4. IPC 协议对齐:Plugin 调用 Rust 核心的方式、消息格式约定
152
+ 5. 现有测试模式:测试文件结构、mock 策略、集成测试方式
153
+
154
+ 输出 JSON 格式约束集,包含 existing_structures、existing_conventions、constraints_discovered、risks 字段。
155
+ GEMINI_TASK
156
+ ```
157
+
158
+ 等待两个后台任务完成:使用 TaskOutput(block: true, timeout: 600000) 读取各自结果。
159
+
160
+ **wrapper 失败处理(按退出码分级)**:
161
+ - exit 127(命令不存在)→ 终止流程,提示「ghostcode-wrapper 未安装,请检查环境」
162
+ - exit 124(超时)→ 自动重试一次,仍失败则进入用户确认
163
+ - 其他(如 429 额度用完)→ AskUserQuestion 让用户选择:
164
+ [重试] / [跳过并记录 bypass_reason] / [终止整个流程]
165
+ - 用户选「跳过」→ ghostcode_session_gate_submit(session_id, model,
166
+ output_type="bypass", data={}, bypass=true, bypass_reason="quota_exceeded")
167
+ - 用户选「终止」→ ghostcode_session_gate_abort(session_id) 后退出
168
+
169
+ Codex wrapper 完成后,调用:
170
+ ```
171
+ ghostcode_session_gate_submit(session_id=<session_id>,
172
+ model="codex",
173
+ output_type="research_analysis",
174
+ data=<codex wrapper 输出>)
175
+ ```
176
+
177
+ Gemini wrapper 完成后,调用:
178
+ ```
179
+ ghostcode_session_gate_submit(session_id=<session_id>,
180
+ model="gemini",
181
+ output_type="research_analysis",
182
+ data=<gemini wrapper 输出>)
183
+ ```
184
+
185
+ **MCP 调用**:并行探索完成后发送消息:
186
+ ```
187
+ ghostcode_message_send({ text: "并行探索完成,N 个 Agent 已汇报" })
188
+ ```
189
+
190
+ ### Step 4: 聚合与综合
191
+
192
+ 调用 ghostcode_session_gate_close(session_id=<session_id>)
193
+ → 返回合并输出(含 partial 标记和 missing_models 列表)
194
+ → 若 SESSION_INCOMPLETE → 终止,必须补全 missing_models
195
+ → 若 partial=true → 报告顶部标注 WARNING PARTIAL_SESSION(有模型使用了 bypass)
196
+
197
+ 合并所有探索输出为统一约束集:
198
+
199
+ - **硬约束**(HC-N):技术限制、不可违反的模式(如:Rust 所有权规则、IPC 消息格式)
200
+ - **软约束**(SC-N):惯例、偏好、风格指南(如:注释语言、日志前缀)
201
+ - **依赖关系**(DEP-N):影响实施顺序的跨模块关系
202
+ - **风险**(RISK-N):需要缓解的阻碍
203
+
204
+ ### Step 5: 歧义消解
205
+
206
+ 编译优先级排序的开放问题列表,使用 AskUserQuestion 系统性呈现:
207
+ - 分组相关问题,每次呈现不超过 3 个
208
+ - 为每个问题提供上下文和建议默认值
209
+ - 将用户回答转化为额外约束(HC-N 或 SC-N)
210
+
211
+ **MCP 调用**:歧义消解完成后发送消息:
212
+ ```
213
+ ghostcode_message_send({ text: "歧义消解完成,开始生成约束集文档" })
214
+ ```
215
+
216
+ ### Step 6: 写入研究文件
217
+
218
+ 路径:`.claude/research/<任务名>-research.md`
219
+
220
+ ```markdown
221
+ # Research: <任务名>
222
+
223
+ ## 增强后的需求
224
+ <结构化需求描述>
225
+
226
+ ## 约束集
227
+
228
+ ### 硬约束
229
+ - [HC-1] <约束描述> — 来源:<Agent/用户>
230
+ - [HC-2] ...
231
+
232
+ ### 软约束
233
+ - [SC-1] <约束描述> — 来源:<Agent/用户>
234
+
235
+ ### 依赖关系
236
+ - [DEP-1] <模块A> → <模块B>:<原因>
237
+
238
+ ### 风险
239
+ - [RISK-1] <风险描述> — 缓解:<策略>
240
+
241
+ ## 成功判据
242
+ - [OK-1] cargo test 全通过(Rust 核心)
243
+ - [OK-2] pnpm test 全通过(TS Plugin)
244
+ - [OK-3] <业务可观测行为>
245
+
246
+ ## 开放问题(已解决)
247
+ - Q1: <问题> → A: <用户回答> → 约束:[HC/SC-N]
248
+ ```
249
+
250
+ **MCP 调用**:研究文件写入后发送消息:
251
+ ```
252
+ ghostcode_message_send({ text: "约束集已生成:<文件路径>" })
253
+ ```
254
+
255
+ ### Step 7: 上下文检查点
256
+
257
+ 报告当前上下文使用量。
258
+ 提示:`研究完成,运行 /clear 后执行 /gc-plan <任务名> 开始规划`
259
+
260
+ ## Exit Criteria
261
+
262
+ - [ ] 多模型探索完成(至少 2 个 Agent 输出)
263
+ - [ ] Rust 核心边界和 TS Plugin 边界均已探索
264
+ - [ ] 所有歧义已通过用户确认解决
265
+ - [ ] 约束集(HC/SC/DEP/RISK)已写入研究文件
266
+ - [ ] 成功判据(OK-N)已定义
267
+ - [ ] 零开放问题残留