ccg-workflow 1.7.39 → 1.7.42
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.
- package/bin/codeagent-wrapper-darwin-amd64 +0 -0
- package/bin/codeagent-wrapper-darwin-arm64 +0 -0
- package/bin/codeagent-wrapper-linux-amd64 +0 -0
- package/bin/codeagent-wrapper-linux-arm64 +0 -0
- package/bin/codeagent-wrapper-windows-amd64.exe +0 -0
- package/bin/codeagent-wrapper-windows-arm64.exe +0 -0
- package/dist/cli.mjs +1 -1
- package/dist/index.mjs +1 -1
- package/dist/shared/{ccg-workflow.DTSqMYKy.mjs → ccg-workflow.HUW7vGVD.mjs} +1 -1
- package/package.json +25 -2
- package/templates/commands/backend.md +3 -2
- package/templates/commands/debug.md +13 -2
- package/templates/commands/feat.md +6 -0
- package/templates/commands/frontend.md +3 -2
- package/templates/commands/optimize.md +17 -1
- package/templates/commands/review.md +10 -0
- package/templates/commands/test.md +12 -0
- package/templates/commands/workflow.md +5 -0
- package/templates/commands/execute.md +0 -308
- package/templates/commands/plan.md +0 -260
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/dist/cli.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import cac from 'cac';
|
|
3
3
|
import ansis from 'ansis';
|
|
4
|
-
import { z as diagnoseMcpConfig, A as isWindows, B as readClaudeCodeConfig, C as fixWindowsMcpConfig, D as writeClaudeCodeConfig, r as readCcgConfig, b as initI18n, s as showMainMenu, i as init, E as configMcp, F as version, a as i18n } from './shared/ccg-workflow.
|
|
4
|
+
import { z as diagnoseMcpConfig, A as isWindows, B as readClaudeCodeConfig, C as fixWindowsMcpConfig, D as writeClaudeCodeConfig, r as readCcgConfig, b as initI18n, s as showMainMenu, i as init, E as configMcp, F as version, a as i18n } from './shared/ccg-workflow.HUW7vGVD.mjs';
|
|
5
5
|
import 'inquirer';
|
|
6
6
|
import 'node:child_process';
|
|
7
7
|
import 'node:util';
|
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { c as changeLanguage, x as checkForUpdates, y as compareVersions, d as createDefaultConfig, e as createDefaultRouting, g as getCcgDir, f as getConfigPath, t as getCurrentVersion, v as getLatestVersion, j as getWorkflowById, h as getWorkflowConfigs, a as i18n, i as init, b as initI18n, l as installAceTool, m as installAceToolRs, k as installWorkflows, p as migrateToV1_4_0, q as needsMigration, r as readCcgConfig, s as showMainMenu, o as uninstallAceTool, n as uninstallWorkflows, u as update, w as writeCcgConfig } from './shared/ccg-workflow.
|
|
1
|
+
export { c as changeLanguage, x as checkForUpdates, y as compareVersions, d as createDefaultConfig, e as createDefaultRouting, g as getCcgDir, f as getConfigPath, t as getCurrentVersion, v as getLatestVersion, j as getWorkflowById, h as getWorkflowConfigs, a as i18n, i as init, b as initI18n, l as installAceTool, m as installAceToolRs, k as installWorkflows, p as migrateToV1_4_0, q as needsMigration, r as readCcgConfig, s as showMainMenu, o as uninstallAceTool, n as uninstallWorkflows, u as update, w as writeCcgConfig } from './shared/ccg-workflow.HUW7vGVD.mjs';
|
|
2
2
|
import 'ansis';
|
|
3
3
|
import 'inquirer';
|
|
4
4
|
import 'node:child_process';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ccg-workflow",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.42",
|
|
4
4
|
"description": "Claude-Codex-Gemini 多模型协作系统 - 智能路由多模型开发工作流",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"packageManager": "pnpm@10.17.1",
|
|
@@ -27,7 +27,30 @@
|
|
|
27
27
|
"files": [
|
|
28
28
|
"bin",
|
|
29
29
|
"dist",
|
|
30
|
-
"templates"
|
|
30
|
+
"templates/commands/analyze.md",
|
|
31
|
+
"templates/commands/backend.md",
|
|
32
|
+
"templates/commands/clean-branches.md",
|
|
33
|
+
"templates/commands/commit.md",
|
|
34
|
+
"templates/commands/debug.md",
|
|
35
|
+
"templates/commands/enhance.md",
|
|
36
|
+
"templates/commands/feat.md",
|
|
37
|
+
"templates/commands/frontend.md",
|
|
38
|
+
"templates/commands/init.md",
|
|
39
|
+
"templates/commands/optimize.md",
|
|
40
|
+
"templates/commands/review.md",
|
|
41
|
+
"templates/commands/rollback.md",
|
|
42
|
+
"templates/commands/test.md",
|
|
43
|
+
"templates/commands/workflow.md",
|
|
44
|
+
"templates/commands/worktree.md",
|
|
45
|
+
"templates/commands/agents/",
|
|
46
|
+
"templates/prompts/codex/",
|
|
47
|
+
"templates/prompts/gemini/analyzer.md",
|
|
48
|
+
"templates/prompts/gemini/debugger.md",
|
|
49
|
+
"templates/prompts/gemini/frontend.md",
|
|
50
|
+
"templates/prompts/gemini/optimizer.md",
|
|
51
|
+
"templates/prompts/gemini/reviewer.md",
|
|
52
|
+
"templates/prompts/gemini/tester.md",
|
|
53
|
+
"templates/prompts/claude/"
|
|
31
54
|
],
|
|
32
55
|
"scripts": {
|
|
33
56
|
"dev": "tsx src/cli.ts",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: '后端专项工作流(研究→构思→计划→执行→优化→评审),Codex主导'
|
|
2
|
+
description: '后端专项工作流(研究→构思→计划→执行→优化→评审),Codex 主导'
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
# Backend - 后端专项开发
|
|
@@ -14,7 +14,7 @@ description: '后端专项工作流(研究→构思→计划→执行→优化
|
|
|
14
14
|
|
|
15
15
|
- 后端任务:$ARGUMENTS
|
|
16
16
|
- Codex 主导,Gemini 辅助参考
|
|
17
|
-
- 适用:API设计、算法实现、数据库优化、业务逻辑
|
|
17
|
+
- 适用:API 设计、算法实现、数据库优化、业务逻辑
|
|
18
18
|
|
|
19
19
|
## 你的角色
|
|
20
20
|
|
|
@@ -79,6 +79,7 @@ EOF",
|
|
|
79
79
|
|
|
80
80
|
1. 响应以模式标签 `[模式:X]` 开始,初始为 `[模式:研究]`
|
|
81
81
|
2. 严格按 `研究 → 构思 → 计划 → 执行 → 优化 → 评审` 顺序流转
|
|
82
|
+
3. 在需要询问用户时,尽量使用 `AskUserQuestion` 工具进行交互,举例场景:请求用户确认/选择/批准
|
|
82
83
|
|
|
83
84
|
---
|
|
84
85
|
|
|
@@ -28,6 +28,7 @@ description: '多模型调试:Codex 后端诊断 + Gemini 前端诊断,交
|
|
|
28
28
|
```
|
|
29
29
|
Bash({
|
|
30
30
|
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend <codex|gemini> - \"$PWD\" <<'EOF'
|
|
31
|
+
ROLE_FILE: <角色提示词路径>
|
|
31
32
|
<TASK>
|
|
32
33
|
需求:<增强后的需求(如未增强则用 $ARGUMENTS)>
|
|
33
34
|
上下文:<错误日志、堆栈信息、复现步骤等>
|
|
@@ -40,6 +41,13 @@ EOF",
|
|
|
40
41
|
})
|
|
41
42
|
```
|
|
42
43
|
|
|
44
|
+
**角色提示词**:
|
|
45
|
+
|
|
46
|
+
| 模型 | 提示词 |
|
|
47
|
+
|------|--------|
|
|
48
|
+
| Codex | `~/.claude/.ccg/prompts/codex/debugger.md` |
|
|
49
|
+
| Gemini | `~/.claude/.ccg/prompts/gemini/debugger.md` |
|
|
50
|
+
|
|
43
51
|
**并行调用**:使用 `run_in_background: true` 启动,用 `TaskOutput` 等待结果。**必须等所有模型返回后才能进入下一阶段**。
|
|
44
52
|
|
|
45
53
|
**等待后台任务**(使用最大超时 600000ms = 10 分钟):
|
|
@@ -78,9 +86,12 @@ TaskOutput({ task_id: "<task_id>", block: true, timeout: 600000 })
|
|
|
78
86
|
**⚠️ 必须发起两个并行 Bash 调用**(参照上方调用规范):
|
|
79
87
|
|
|
80
88
|
1. **Codex 后端诊断**:`Bash({ command: "...--backend codex...", run_in_background: true })`
|
|
81
|
-
|
|
89
|
+
- ROLE_FILE: `~/.claude/.ccg/prompts/codex/debugger.md`
|
|
90
|
+
- OUTPUT:诊断假设(按可能性排序),每个假设包含原因、证据、修复建议
|
|
82
91
|
|
|
83
|
-
|
|
92
|
+
2. **Gemini 前端诊断**:`Bash({ command: "...--backend gemini...", run_in_background: true })`
|
|
93
|
+
- ROLE_FILE: `~/.claude/.ccg/prompts/gemini/debugger.md`
|
|
94
|
+
- OUTPUT:诊断假设(按可能性排序),每个假设包含原因、证据、修复建议
|
|
84
95
|
|
|
85
96
|
用 `TaskOutput` 等待两个模型的诊断结果。**必须等所有模型返回后才能进入下一阶段**。
|
|
86
97
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: '前端专项工作流(研究→构思→计划→执行→优化→评审),Gemini主导'
|
|
2
|
+
description: '前端专项工作流(研究→构思→计划→执行→优化→评审),Gemini 主导'
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
# Frontend - 前端专项开发
|
|
@@ -14,7 +14,7 @@ description: '前端专项工作流(研究→构思→计划→执行→优化
|
|
|
14
14
|
|
|
15
15
|
- 前端任务:$ARGUMENTS
|
|
16
16
|
- Gemini 主导,Codex 辅助参考
|
|
17
|
-
- 适用:组件设计、响应式布局、UI动画、样式优化
|
|
17
|
+
- 适用:组件设计、响应式布局、UI 动画、样式优化
|
|
18
18
|
|
|
19
19
|
## 你的角色
|
|
20
20
|
|
|
@@ -79,6 +79,7 @@ EOF",
|
|
|
79
79
|
|
|
80
80
|
1. 响应以模式标签 `[模式:X]` 开始,初始为 `[模式:研究]`
|
|
81
81
|
2. 严格按 `研究 → 构思 → 计划 → 执行 → 优化 → 评审` 顺序流转
|
|
82
|
+
3. 在需要询问用户时,尽量使用 `AskUserQuestion` 工具进行交互,举例场景:请求用户确认/选择/批准
|
|
82
83
|
|
|
83
84
|
---
|
|
84
85
|
|
|
@@ -34,6 +34,7 @@ description: '多模型性能优化:Codex 后端优化 + Gemini 前端优化'
|
|
|
34
34
|
```
|
|
35
35
|
Bash({
|
|
36
36
|
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend <codex|gemini> - \"$PWD\" <<'EOF'
|
|
37
|
+
ROLE_FILE: <角色提示词路径>
|
|
37
38
|
<TASK>
|
|
38
39
|
需求:<增强后的需求(如未增强则用 $ARGUMENTS)>
|
|
39
40
|
上下文:<目标代码、现有性能指标等>
|
|
@@ -46,6 +47,13 @@ EOF",
|
|
|
46
47
|
})
|
|
47
48
|
```
|
|
48
49
|
|
|
50
|
+
**角色提示词**:
|
|
51
|
+
|
|
52
|
+
| 模型 | 提示词 |
|
|
53
|
+
|------|--------|
|
|
54
|
+
| Codex | `~/.claude/.ccg/prompts/codex/optimizer.md` |
|
|
55
|
+
| Gemini | `~/.claude/.ccg/prompts/gemini/optimizer.md` |
|
|
56
|
+
|
|
49
57
|
**并行调用**:使用 `run_in_background: true` 启动,用 `TaskOutput` 等待结果。**必须等所有模型返回后才能进入下一阶段**。
|
|
50
58
|
|
|
51
59
|
**等待后台任务**(使用最大超时 600000ms = 10 分钟):
|
|
@@ -61,6 +69,12 @@ TaskOutput({ task_id: "<task_id>", block: true, timeout: 600000 })
|
|
|
61
69
|
|
|
62
70
|
---
|
|
63
71
|
|
|
72
|
+
## 沟通守则
|
|
73
|
+
|
|
74
|
+
1. 在需要询问用户时,尽量使用 `AskUserQuestion` 工具进行交互,举例场景:请求用户确认/选择/批准
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
64
78
|
## 执行工作流
|
|
65
79
|
|
|
66
80
|
**优化目标**:$ARGUMENTS
|
|
@@ -84,10 +98,12 @@ TaskOutput({ task_id: "<task_id>", block: true, timeout: 600000 })
|
|
|
84
98
|
**⚠️ 必须发起两个并行 Bash 调用**(参照上方调用规范):
|
|
85
99
|
|
|
86
100
|
1. **Codex 后端分析**:`Bash({ command: "...--backend codex...", run_in_background: true })`
|
|
101
|
+
- ROLE_FILE: `~/.claude/.ccg/prompts/codex/optimizer.md`
|
|
87
102
|
- 需求:分析后端性能问题($ARGUMENTS)
|
|
88
103
|
- OUTPUT:性能瓶颈列表、优化方案、预期收益
|
|
89
104
|
|
|
90
105
|
2. **Gemini 前端分析**:`Bash({ command: "...--backend gemini...", run_in_background: true })`
|
|
106
|
+
- ROLE_FILE: `~/.claude/.ccg/prompts/gemini/optimizer.md`
|
|
91
107
|
- 需求:分析前端性能问题(Core Web Vitals)
|
|
92
108
|
- OUTPUT:性能瓶颈列表、优化方案、预期收益
|
|
93
109
|
|
|
@@ -131,7 +147,7 @@ TaskOutput({ task_id: "<task_id>", block: true, timeout: 600000 })
|
|
|
131
147
|
|
|
132
148
|
**后端**:N+1→批量加载、缺索引→复合索引、重复计算→缓存、同步→异步
|
|
133
149
|
|
|
134
|
-
**前端**:大Bundle→代码分割、频繁重渲染→memo、大列表→虚拟滚动、未优化图片→WebP
|
|
150
|
+
**前端**:大 Bundle→代码分割、频繁重渲染→memo、大列表→虚拟滚动、未优化图片→WebP
|
|
135
151
|
|
|
136
152
|
---
|
|
137
153
|
|
|
@@ -24,6 +24,7 @@ description: '多模型代码审查:无参数时自动审查 git diff,双模
|
|
|
24
24
|
```
|
|
25
25
|
Bash({
|
|
26
26
|
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend <codex|gemini> - \"$PWD\" <<'EOF'
|
|
27
|
+
ROLE_FILE: <角色提示词路径>
|
|
27
28
|
<TASK>
|
|
28
29
|
审查以下代码变更:
|
|
29
30
|
<git diff 内容>
|
|
@@ -36,6 +37,13 @@ EOF",
|
|
|
36
37
|
})
|
|
37
38
|
```
|
|
38
39
|
|
|
40
|
+
**角色提示词**:
|
|
41
|
+
|
|
42
|
+
| 模型 | 提示词 |
|
|
43
|
+
|------|--------|
|
|
44
|
+
| Codex | `~/.claude/.ccg/prompts/codex/reviewer.md` |
|
|
45
|
+
| Gemini | `~/.claude/.ccg/prompts/gemini/reviewer.md` |
|
|
46
|
+
|
|
39
47
|
**并行调用**:使用 `run_in_background: true` 启动,用 `TaskOutput` 等待结果。**必须等所有模型返回后才能进入下一阶段**。
|
|
40
48
|
|
|
41
49
|
**等待后台任务**(使用最大超时 600000ms = 10 分钟):
|
|
@@ -70,10 +78,12 @@ TaskOutput({ task_id: "<task_id>", block: true, timeout: 600000 })
|
|
|
70
78
|
**⚠️ 必须发起两个并行 Bash 调用**(参照上方调用规范):
|
|
71
79
|
|
|
72
80
|
1. **Codex 后端审查**:`Bash({ command: "...--backend codex...", run_in_background: true })`
|
|
81
|
+
- ROLE_FILE: `~/.claude/.ccg/prompts/codex/reviewer.md`
|
|
73
82
|
- 需求:审查代码变更(git diff 内容)
|
|
74
83
|
- OUTPUT:按 Critical/Major/Minor/Suggestion 分类列出安全性、性能、错误处理问题
|
|
75
84
|
|
|
76
85
|
2. **Gemini 前端审查**:`Bash({ command: "...--backend gemini...", run_in_background: true })`
|
|
86
|
+
- ROLE_FILE: `~/.claude/.ccg/prompts/gemini/reviewer.md`
|
|
77
87
|
- 需求:审查代码变更(git diff 内容)
|
|
78
88
|
- OUTPUT:按 Critical/Major/Minor/Suggestion 分类列出可访问性、响应式、设计一致性问题
|
|
79
89
|
|
|
@@ -34,6 +34,7 @@ description: '多模型测试生成:智能路由 Codex 后端测试 / Gemini
|
|
|
34
34
|
```
|
|
35
35
|
Bash({
|
|
36
36
|
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend <codex|gemini> - \"$PWD\" <<'EOF'
|
|
37
|
+
ROLE_FILE: <角色提示词路径>
|
|
37
38
|
<TASK>
|
|
38
39
|
需求:为以下代码生成测试
|
|
39
40
|
<代码内容>
|
|
@@ -50,6 +51,13 @@ EOF",
|
|
|
50
51
|
})
|
|
51
52
|
```
|
|
52
53
|
|
|
54
|
+
**角色提示词**:
|
|
55
|
+
|
|
56
|
+
| 模型 | 提示词 |
|
|
57
|
+
|------|--------|
|
|
58
|
+
| Codex | `~/.claude/.ccg/prompts/codex/tester.md` |
|
|
59
|
+
| Gemini | `~/.claude/.ccg/prompts/gemini/tester.md` |
|
|
60
|
+
|
|
53
61
|
**智能路由**:
|
|
54
62
|
|
|
55
63
|
| 代码类型 | 路由 |
|
|
@@ -97,10 +105,14 @@ TaskOutput({ task_id: "<task_id>", block: true, timeout: 600000 })
|
|
|
97
105
|
**⚠️ 根据代码类型必须调用对应模型**(参照上方调用规范):
|
|
98
106
|
|
|
99
107
|
- **后端代码** → `Bash({ command: "...--backend codex...", run_in_background: false })`
|
|
108
|
+
- ROLE_FILE: `~/.claude/.ccg/prompts/codex/tester.md`
|
|
100
109
|
- **前端代码** → `Bash({ command: "...--backend gemini...", run_in_background: false })`
|
|
110
|
+
- ROLE_FILE: `~/.claude/.ccg/prompts/gemini/tester.md`
|
|
101
111
|
- **全栈代码** → 并行调用两者:
|
|
102
112
|
1. `Bash({ command: "...--backend codex...", run_in_background: true })`
|
|
113
|
+
- ROLE_FILE: `~/.claude/.ccg/prompts/codex/tester.md`
|
|
103
114
|
2. `Bash({ command: "...--backend gemini...", run_in_background: true })`
|
|
115
|
+
- ROLE_FILE: `~/.claude/.ccg/prompts/gemini/tester.md`
|
|
104
116
|
用 `TaskOutput` 等待结果
|
|
105
117
|
|
|
106
118
|
OUTPUT:完整测试代码(使用项目现有测试框架,覆盖正常路径、边界条件、异常处理)
|
|
@@ -98,6 +98,7 @@ TaskOutput({ task_id: "<task_id>", block: true, timeout: 600000 })
|
|
|
98
98
|
2. 核心工作流严格按 `研究 → 构思 → 计划 → 执行 → 优化 → 评审` 顺序流转。
|
|
99
99
|
3. 每个阶段完成后必须请求用户确认。
|
|
100
100
|
4. 评分低于 7 分或用户未批准时强制停止。
|
|
101
|
+
5. 在需要询问用户时,尽量使用 `AskUserQuestion` 工具进行交互,举例场景:请求用户确认/选择/批准
|
|
101
102
|
|
|
102
103
|
---
|
|
103
104
|
|
|
@@ -139,6 +140,8 @@ TaskOutput({ task_id: "<task_id>", block: true, timeout: 600000 })
|
|
|
139
140
|
|
|
140
141
|
用 `TaskOutput` 等待结果。
|
|
141
142
|
|
|
143
|
+
**务必遵循上方 `多模型调用规范` 的 `重要` 指示**
|
|
144
|
+
|
|
142
145
|
**Claude 综合规划**:采纳 Codex 后端规划 + Gemini 前端规划,用户批准后存入 `.claude/plan/任务名.md`
|
|
143
146
|
|
|
144
147
|
### ⚡ 阶段 4:实施
|
|
@@ -159,6 +162,8 @@ TaskOutput({ task_id: "<task_id>", block: true, timeout: 600000 })
|
|
|
159
162
|
|
|
160
163
|
用 `TaskOutput` 等待结果。整合审查意见,用户确认后执行优化。
|
|
161
164
|
|
|
165
|
+
**务必遵循上方 `多模型调用规范` 的 `重要` 指示**
|
|
166
|
+
|
|
162
167
|
### ✅ 阶段 6:质量审查
|
|
163
168
|
|
|
164
169
|
`[模式:评审]` - 最终评估:
|
|
@@ -1,308 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: '多模型协作执行 - 根据计划获取原型 → Claude 重构实施 → 多模型审计交付'
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# Execute - 多模型协作执行
|
|
6
|
-
|
|
7
|
-
$ARGUMENTS
|
|
8
|
-
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
## 核心协议
|
|
12
|
-
|
|
13
|
-
- **语言协议**:与工具/模型交互用**英语**,与用户交互用**中文**
|
|
14
|
-
- **代码主权**:外部模型对文件系统**零写入权限**,所有修改由 Claude 执行
|
|
15
|
-
- **脏原型重构**:将 Codex/Gemini 的 Unified Diff 视为"脏原型",必须重构为生产级代码
|
|
16
|
-
- **止损机制**:当前阶段输出通过验证前,不进入下一阶段
|
|
17
|
-
- **前置条件**:仅在用户对 `/ccg:plan` 输出明确回复 "Y" 后执行(如缺失,必须先二次确认)
|
|
18
|
-
|
|
19
|
-
---
|
|
20
|
-
|
|
21
|
-
## 多模型调用规范
|
|
22
|
-
|
|
23
|
-
**调用语法**(并行用 `run_in_background: true`):
|
|
24
|
-
|
|
25
|
-
```
|
|
26
|
-
# 复用会话调用(推荐)- 原型生成(Implementation Prototype)
|
|
27
|
-
Bash({
|
|
28
|
-
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend <codex|gemini> resume <SESSION_ID> - \"$PWD\" <<'EOF'
|
|
29
|
-
ROLE_FILE: <角色提示词路径>
|
|
30
|
-
<TASK>
|
|
31
|
-
需求:<任务描述>
|
|
32
|
-
上下文:<计划内容 + 目标文件>
|
|
33
|
-
</TASK>
|
|
34
|
-
OUTPUT: Unified Diff Patch ONLY. Strictly prohibit any actual modifications.
|
|
35
|
-
EOF",
|
|
36
|
-
run_in_background: true,
|
|
37
|
-
timeout: 3600000,
|
|
38
|
-
description: "简短描述"
|
|
39
|
-
})
|
|
40
|
-
|
|
41
|
-
# 新会话调用 - 原型生成(Implementation Prototype)
|
|
42
|
-
Bash({
|
|
43
|
-
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend <codex|gemini> - \"$PWD\" <<'EOF'
|
|
44
|
-
ROLE_FILE: <角色提示词路径>
|
|
45
|
-
<TASK>
|
|
46
|
-
需求:<任务描述>
|
|
47
|
-
上下文:<计划内容 + 目标文件>
|
|
48
|
-
</TASK>
|
|
49
|
-
OUTPUT: Unified Diff Patch ONLY. Strictly prohibit any actual modifications.
|
|
50
|
-
EOF",
|
|
51
|
-
run_in_background: true,
|
|
52
|
-
timeout: 3600000,
|
|
53
|
-
description: "简短描述"
|
|
54
|
-
})
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
**审计调用语法**(Code Review / Audit):
|
|
58
|
-
|
|
59
|
-
```
|
|
60
|
-
Bash({
|
|
61
|
-
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend <codex|gemini> resume <SESSION_ID> - \"$PWD\" <<'EOF'
|
|
62
|
-
ROLE_FILE: <角色提示词路径>
|
|
63
|
-
<TASK>
|
|
64
|
-
Scope: Audit the final code changes.
|
|
65
|
-
Inputs:
|
|
66
|
-
- The applied patch (git diff / final unified diff)
|
|
67
|
-
- The touched files (relevant excerpts if needed)
|
|
68
|
-
Constraints:
|
|
69
|
-
- Do NOT modify any files.
|
|
70
|
-
- Do NOT output tool commands that assume filesystem access.
|
|
71
|
-
</TASK>
|
|
72
|
-
OUTPUT:
|
|
73
|
-
1) A prioritized list of issues (severity, file, rationale)
|
|
74
|
-
2) Concrete fixes; if code changes are needed, include a Unified Diff Patch in a fenced code block.
|
|
75
|
-
EOF",
|
|
76
|
-
run_in_background: true,
|
|
77
|
-
timeout: 3600000,
|
|
78
|
-
description: "简短描述"
|
|
79
|
-
})
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
**角色提示词**:
|
|
83
|
-
|
|
84
|
-
| 阶段 | Codex | Gemini |
|
|
85
|
-
|------|-------|--------|
|
|
86
|
-
| 实施 | `~/.claude/.ccg/prompts/codex/architect.md` | `~/.claude/.ccg/prompts/gemini/frontend.md` |
|
|
87
|
-
| 审查 | `~/.claude/.ccg/prompts/codex/reviewer.md` | `~/.claude/.ccg/prompts/gemini/reviewer.md` |
|
|
88
|
-
|
|
89
|
-
**会话复用**:如果 `/ccg:plan` 提供了 SESSION_ID,使用 `resume <SESSION_ID>` 复用上下文。
|
|
90
|
-
|
|
91
|
-
**等待后台任务**(最大超时 600000ms = 10 分钟):
|
|
92
|
-
|
|
93
|
-
```
|
|
94
|
-
TaskOutput({ task_id: "<task_id>", block: true, timeout: 600000 })
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
**重要**:
|
|
98
|
-
- 必须指定 `timeout: 600000`,否则默认只有 30 秒会导致提前超时
|
|
99
|
-
- 若 10 分钟后仍未完成,继续用 `TaskOutput` 轮询,**绝对不要 Kill 进程**
|
|
100
|
-
- 若因等待时间过长跳过了等待,**必须调用 `AskUserQuestion` 询问用户选择继续等待还是 Kill Task**
|
|
101
|
-
|
|
102
|
-
---
|
|
103
|
-
|
|
104
|
-
## 执行工作流
|
|
105
|
-
|
|
106
|
-
**执行任务**:$ARGUMENTS
|
|
107
|
-
|
|
108
|
-
### 📖 Phase 0:读取计划
|
|
109
|
-
|
|
110
|
-
`[模式:准备]`
|
|
111
|
-
|
|
112
|
-
1. **识别输入类型**:
|
|
113
|
-
- 计划文件路径(如 `.claude/plan/xxx.md`)
|
|
114
|
-
- 直接的任务描述
|
|
115
|
-
|
|
116
|
-
2. **读取计划内容**:
|
|
117
|
-
- 若提供了计划文件路径,读取并解析
|
|
118
|
-
- 提取:任务类型、实施步骤、关键文件、SESSION_ID
|
|
119
|
-
|
|
120
|
-
3. **执行前确认**:
|
|
121
|
-
- 若输入为"直接任务描述"或计划中缺失 `SESSION_ID` / 关键文件:先向用户确认补全信息
|
|
122
|
-
- 若无法确认用户是否已对计划回复 "Y":必须二次询问确认后再进入下一阶段
|
|
123
|
-
|
|
124
|
-
4. **任务类型判断**:
|
|
125
|
-
|
|
126
|
-
| 任务类型 | 判断依据 | 路由 |
|
|
127
|
-
|----------|----------|------|
|
|
128
|
-
| **前端** | 页面、组件、UI、样式、布局 | Gemini |
|
|
129
|
-
| **后端** | API、接口、数据库、逻辑、算法 | Codex |
|
|
130
|
-
| **全栈** | 同时包含前后端 | Codex ∥ Gemini 并行 |
|
|
131
|
-
|
|
132
|
-
---
|
|
133
|
-
|
|
134
|
-
### 🔍 Phase 1:上下文快速检索
|
|
135
|
-
|
|
136
|
-
`[模式:检索]`
|
|
137
|
-
|
|
138
|
-
**⚠️ 必须使用 MCP 工具快速检索上下文,禁止手动逐个读取文件**
|
|
139
|
-
|
|
140
|
-
根据计划中的"关键文件"列表,调用 `mcp__ace-tool__search_context` 检索相关代码:
|
|
141
|
-
|
|
142
|
-
```
|
|
143
|
-
mcp__ace-tool__search_context({
|
|
144
|
-
query: "<基于计划内容构建的语义查询,包含关键文件、模块、函数名>",
|
|
145
|
-
project_root_path: "$PWD"
|
|
146
|
-
})
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
**检索策略**:
|
|
150
|
-
- 从计划的"关键文件"表格提取目标路径
|
|
151
|
-
- 构建语义查询覆盖:入口文件、依赖模块、相关类型定义
|
|
152
|
-
- 若检索结果不足,可追加 1-2 次递归检索
|
|
153
|
-
- **禁止**使用 Bash + find/ls 手动探索项目结构
|
|
154
|
-
|
|
155
|
-
**检索完成后**:
|
|
156
|
-
- 整理检索到的代码片段
|
|
157
|
-
- 确认已获取实施所需的完整上下文
|
|
158
|
-
- 进入 Phase 3
|
|
159
|
-
|
|
160
|
-
---
|
|
161
|
-
|
|
162
|
-
### 🎨 Phase 3:原型获取
|
|
163
|
-
|
|
164
|
-
`[模式:原型]`
|
|
165
|
-
|
|
166
|
-
**根据任务类型路由**:
|
|
167
|
-
|
|
168
|
-
#### Route A: 前端/UI/样式 → Gemini
|
|
169
|
-
|
|
170
|
-
**限制**:上下文 < 32k tokens
|
|
171
|
-
|
|
172
|
-
1. 调用 Gemini(使用 `~/.claude/.ccg/prompts/gemini/frontend.md`)
|
|
173
|
-
2. 输入:计划内容 + 检索到的上下文 + 目标文件
|
|
174
|
-
3. OUTPUT: `Unified Diff Patch ONLY. Strictly prohibit any actual modifications.`
|
|
175
|
-
4. **Gemini 是前端设计的权威,其 CSS/React/Vue 原型为最终视觉基准**
|
|
176
|
-
5. ⚠️ **警告**:忽略 Gemini 对后端逻辑的建议
|
|
177
|
-
6. 若计划包含 `GEMINI_SESSION`:优先 `resume <GEMINI_SESSION>`
|
|
178
|
-
|
|
179
|
-
#### Route B: 后端/逻辑/算法 → Codex
|
|
180
|
-
|
|
181
|
-
1. 调用 Codex(使用 `~/.claude/.ccg/prompts/codex/architect.md`)
|
|
182
|
-
2. 输入:计划内容 + 检索到的上下文 + 目标文件
|
|
183
|
-
3. OUTPUT: `Unified Diff Patch ONLY. Strictly prohibit any actual modifications.`
|
|
184
|
-
4. **Codex 是后端逻辑的权威,利用其逻辑运算与 Debug 能力**
|
|
185
|
-
5. 若计划包含 `CODEX_SESSION`:优先 `resume <CODEX_SESSION>`
|
|
186
|
-
|
|
187
|
-
#### Route C: 全栈 → 并行调用
|
|
188
|
-
|
|
189
|
-
1. **并行调用**(`run_in_background: true`):
|
|
190
|
-
- Gemini:处理前端部分
|
|
191
|
-
- Codex:处理后端部分
|
|
192
|
-
2. 用 `TaskOutput` 等待两个模型的完整结果
|
|
193
|
-
3. 各自使用计划中对应的 `SESSION_ID` 进行 `resume`(若缺失则创建新会话)
|
|
194
|
-
|
|
195
|
-
**务必遵循上方 `多模型调用规范` 的 `重要` 指示**
|
|
196
|
-
|
|
197
|
-
---
|
|
198
|
-
|
|
199
|
-
### ⚡ Phase 4:编码实施
|
|
200
|
-
|
|
201
|
-
`[模式:实施]`
|
|
202
|
-
|
|
203
|
-
**Claude 作为代码主权者执行以下步骤**:
|
|
204
|
-
|
|
205
|
-
1. **读取 Diff**:解析 Codex/Gemini 返回的 Unified Diff Patch
|
|
206
|
-
|
|
207
|
-
2. **思维沙箱**:
|
|
208
|
-
- 模拟应用 Diff 到目标文件
|
|
209
|
-
- 检查逻辑一致性
|
|
210
|
-
- 识别潜在冲突或副作用
|
|
211
|
-
|
|
212
|
-
3. **重构清理**:
|
|
213
|
-
- 将"脏原型"重构为**高可读、高可维护性、企业发布级代码**
|
|
214
|
-
- 去除冗余代码
|
|
215
|
-
- 确保符合项目现有代码规范
|
|
216
|
-
- **非必要不生成注释与文档**,代码自解释
|
|
217
|
-
|
|
218
|
-
4. **最小作用域**:
|
|
219
|
-
- 变更仅限需求范围
|
|
220
|
-
- **强制审查**变更是否引入副作用
|
|
221
|
-
- 做针对性修正
|
|
222
|
-
|
|
223
|
-
5. **应用变更**:
|
|
224
|
-
- 使用 Edit/Write 工具执行实际修改
|
|
225
|
-
- **仅修改必要的代码**,严禁影响用户现有的其他功能
|
|
226
|
-
6. **自检验证**(强烈建议):
|
|
227
|
-
- 运行项目既有的 lint / typecheck / tests(优先最小相关范围)
|
|
228
|
-
- 若失败:优先修复回归,再继续进入 Phase 5
|
|
229
|
-
|
|
230
|
-
---
|
|
231
|
-
|
|
232
|
-
### ✅ Phase 5:审计与交付
|
|
233
|
-
|
|
234
|
-
`[模式:审计]`
|
|
235
|
-
|
|
236
|
-
#### 5.1 自动审计
|
|
237
|
-
|
|
238
|
-
**变更生效后,强制立即并行调用** Codex 和 Gemini 进行 Code Review:
|
|
239
|
-
|
|
240
|
-
1. **Codex 审查**(`run_in_background: true`):
|
|
241
|
-
- ROLE_FILE: `~/.claude/.ccg/prompts/codex/reviewer.md`
|
|
242
|
-
- 输入:变更的 Diff + 目标文件
|
|
243
|
-
- 关注:安全性、性能、错误处理、逻辑正确性
|
|
244
|
-
|
|
245
|
-
2. **Gemini 审查**(`run_in_background: true`):
|
|
246
|
-
- ROLE_FILE: `~/.claude/.ccg/prompts/gemini/reviewer.md`
|
|
247
|
-
- 输入:变更的 Diff + 目标文件
|
|
248
|
-
- 关注:可访问性、设计一致性、用户体验
|
|
249
|
-
|
|
250
|
-
用 `TaskOutput` 等待两个模型的完整审查结果。优先复用 Phase 3 的会话(`resume <SESSION_ID>`)以保持上下文一致。
|
|
251
|
-
|
|
252
|
-
#### 5.2 整合修复
|
|
253
|
-
|
|
254
|
-
1. 综合 Codex + Gemini 的审查意见
|
|
255
|
-
2. 按信任规则权衡:后端以 Codex 为准,前端以 Gemini 为准
|
|
256
|
-
3. 执行必要的修复
|
|
257
|
-
4. 修复后按需重复 Phase 5.1(直到风险可接受)
|
|
258
|
-
|
|
259
|
-
#### 5.3 交付确认
|
|
260
|
-
|
|
261
|
-
审计通过后,向用户报告:
|
|
262
|
-
|
|
263
|
-
```markdown
|
|
264
|
-
## ✅ 执行完成
|
|
265
|
-
|
|
266
|
-
### 变更摘要
|
|
267
|
-
| 文件 | 操作 | 说明 |
|
|
268
|
-
|------|------|------|
|
|
269
|
-
| path/to/file.ts | 修改 | 描述 |
|
|
270
|
-
|
|
271
|
-
### 审计结果
|
|
272
|
-
- Codex:<通过/发现 N 个问题>
|
|
273
|
-
- Gemini:<通过/发现 N 个问题>
|
|
274
|
-
|
|
275
|
-
### 后续建议
|
|
276
|
-
1. [ ] <建议的测试步骤>
|
|
277
|
-
2. [ ] <建议的验证步骤>
|
|
278
|
-
```
|
|
279
|
-
|
|
280
|
-
---
|
|
281
|
-
|
|
282
|
-
## 关键规则
|
|
283
|
-
|
|
284
|
-
1. **代码主权** – 所有文件修改由 Claude 执行,外部模型零写入权限
|
|
285
|
-
2. **脏原型重构** – Codex/Gemini 的输出视为草稿,必须重构
|
|
286
|
-
3. **信任规则** – 后端以 Codex 为准,前端以 Gemini 为准
|
|
287
|
-
4. **最小变更** – 仅修改必要的代码,不引入副作用
|
|
288
|
-
5. **强制审计** – 变更后必须进行多模型 Code Review
|
|
289
|
-
|
|
290
|
-
---
|
|
291
|
-
|
|
292
|
-
## 使用方法
|
|
293
|
-
|
|
294
|
-
```bash
|
|
295
|
-
# 执行计划文件
|
|
296
|
-
/ccg:execute .claude/plan/功能名.md
|
|
297
|
-
|
|
298
|
-
# 直接执行任务(适用于已在上下文中讨论过的计划)
|
|
299
|
-
/ccg:execute 根据之前的计划实施用户认证功能
|
|
300
|
-
```
|
|
301
|
-
|
|
302
|
-
---
|
|
303
|
-
|
|
304
|
-
## 与 /ccg:plan 的关系
|
|
305
|
-
|
|
306
|
-
1. `/ccg:plan` 生成计划 + SESSION_ID
|
|
307
|
-
2. 用户确认 "Y" 后
|
|
308
|
-
3. `/ccg:execute` 读取计划,复用 SESSION_ID,执行实施
|
|
@@ -1,260 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: '多模型协作规划 - 上下文检索 + 双模型分析 → 生成 Step-by-step 实施计划'
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
# Plan - 多模型协作规划
|
|
6
|
-
|
|
7
|
-
$ARGUMENTS
|
|
8
|
-
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
## 核心协议
|
|
12
|
-
|
|
13
|
-
- **语言协议**:与工具/模型交互用**英语**,与用户交互用**中文**
|
|
14
|
-
- **强制并行**:Codex/Gemini 调用必须使用 `run_in_background: true`(包含单模型调用,避免阻塞主线程)
|
|
15
|
-
- **代码主权**:外部模型对文件系统**零写入权限**,所有修改由 Claude 执行
|
|
16
|
-
- **止损机制**:当前阶段输出通过验证前,不进入下一阶段
|
|
17
|
-
- **仅规划**:本命令允许读取上下文与写入 `.claude/plan/*` 计划文件,但**禁止修改产品代码**
|
|
18
|
-
|
|
19
|
-
---
|
|
20
|
-
|
|
21
|
-
## 多模型调用规范
|
|
22
|
-
|
|
23
|
-
**调用语法**(并行用 `run_in_background: true`):
|
|
24
|
-
|
|
25
|
-
```
|
|
26
|
-
Bash({
|
|
27
|
-
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--backend <codex|gemini> - \"$PWD\" <<'EOF'
|
|
28
|
-
ROLE_FILE: <角色提示词路径>
|
|
29
|
-
<TASK>
|
|
30
|
-
需求:<增强后的需求>
|
|
31
|
-
上下文:<检索到的项目上下文>
|
|
32
|
-
</TASK>
|
|
33
|
-
OUTPUT: Step-by-step implementation plan with pseudo-code. DO NOT modify any files.
|
|
34
|
-
EOF",
|
|
35
|
-
run_in_background: true,
|
|
36
|
-
timeout: 3600000,
|
|
37
|
-
description: "简短描述"
|
|
38
|
-
})
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
**角色提示词**:
|
|
42
|
-
|
|
43
|
-
| 阶段 | Codex | Gemini |
|
|
44
|
-
|------|-------|--------|
|
|
45
|
-
| 分析 | `~/.claude/.ccg/prompts/codex/analyzer.md` | `~/.claude/.ccg/prompts/gemini/analyzer.md` |
|
|
46
|
-
| 规划 | `~/.claude/.ccg/prompts/codex/architect.md` | `~/.claude/.ccg/prompts/gemini/architect.md` |
|
|
47
|
-
|
|
48
|
-
**会话复用**:每次调用返回 `SESSION_ID: xxx`(通常由 wrapper 输出),**必须保存**以供后续 `/ccg:execute` 使用。
|
|
49
|
-
|
|
50
|
-
**等待后台任务**(最大超时 600000ms = 10 分钟):
|
|
51
|
-
|
|
52
|
-
```
|
|
53
|
-
TaskOutput({ task_id: "<task_id>", block: true, timeout: 600000 })
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
**重要**:
|
|
57
|
-
- 必须指定 `timeout: 600000`,否则默认只有 30 秒会导致提前超时
|
|
58
|
-
- 若 10 分钟后仍未完成,继续用 `TaskOutput` 轮询,**绝对不要 Kill 进程**
|
|
59
|
-
- 若因等待时间过长跳过了等待,**必须调用 `AskUserQuestion` 询问用户选择继续等待还是 Kill Task**
|
|
60
|
-
|
|
61
|
-
---
|
|
62
|
-
|
|
63
|
-
## 执行工作流
|
|
64
|
-
|
|
65
|
-
**规划任务**:$ARGUMENTS
|
|
66
|
-
|
|
67
|
-
### 🔍 Phase 1:上下文全量检索
|
|
68
|
-
|
|
69
|
-
`[模式:研究]`
|
|
70
|
-
|
|
71
|
-
#### 1.1 Prompt 增强(必须首先执行)
|
|
72
|
-
|
|
73
|
-
**⚠️ 必须调用 `mcp__ace-tool__enhance_prompt` 工具**:
|
|
74
|
-
|
|
75
|
-
```
|
|
76
|
-
mcp__ace-tool__enhance_prompt({
|
|
77
|
-
prompt: "$ARGUMENTS",
|
|
78
|
-
conversation_history: "<最近5-10轮对话历史>",
|
|
79
|
-
project_root_path: "$PWD"
|
|
80
|
-
})
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
等待返回增强后的 prompt,**用增强结果替代原始 $ARGUMENTS** 用于后续所有阶段。
|
|
84
|
-
|
|
85
|
-
#### 1.2 上下文检索
|
|
86
|
-
|
|
87
|
-
**调用 `mcp__ace-tool__search_context` 工具**:
|
|
88
|
-
|
|
89
|
-
```
|
|
90
|
-
mcp__ace-tool__search_context({
|
|
91
|
-
query: "<基于增强后需求构建的语义查询>",
|
|
92
|
-
project_root_path: "$PWD"
|
|
93
|
-
})
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
- 使用自然语言构建语义查询(Where/What/How)
|
|
97
|
-
- **禁止基于假设回答**
|
|
98
|
-
- 若 MCP 不可用:回退到 Glob + Grep 进行文件发现与关键符号定位
|
|
99
|
-
|
|
100
|
-
#### 1.3 完整性检查
|
|
101
|
-
|
|
102
|
-
- 必须获取相关类、函数、变量的**完整定义与签名**
|
|
103
|
-
- 若上下文不足,触发**递归检索**
|
|
104
|
-
- 优先输出:入口文件 + 行号 + 关键符号名;必要时补充最小代码片段(仅用于消除歧义)
|
|
105
|
-
|
|
106
|
-
#### 1.4 需求对齐
|
|
107
|
-
|
|
108
|
-
- 若需求仍有模糊空间,**必须**向用户输出引导性问题列表
|
|
109
|
-
- 直至需求边界清晰(无遗漏、无冗余)
|
|
110
|
-
|
|
111
|
-
### 💡 Phase 2:多模型协作分析
|
|
112
|
-
|
|
113
|
-
`[模式:分析]`
|
|
114
|
-
|
|
115
|
-
#### 2.1 分发输入
|
|
116
|
-
|
|
117
|
-
**并行调用** Codex 和 Gemini(`run_in_background: true`):
|
|
118
|
-
|
|
119
|
-
将**原始需求**(不带预设观点)分发给两个模型:
|
|
120
|
-
|
|
121
|
-
1. **Codex 后端分析**:
|
|
122
|
-
- ROLE_FILE: `~/.claude/.ccg/prompts/codex/analyzer.md`
|
|
123
|
-
- 关注:技术可行性、架构影响、性能考量、潜在风险
|
|
124
|
-
- OUTPUT: 多角度解决方案 + 优劣势分析
|
|
125
|
-
|
|
126
|
-
2. **Gemini 前端分析**:
|
|
127
|
-
- ROLE_FILE: `~/.claude/.ccg/prompts/gemini/analyzer.md`
|
|
128
|
-
- 关注:UI/UX 影响、用户体验、视觉设计
|
|
129
|
-
- OUTPUT: 多角度解决方案 + 优劣势分析
|
|
130
|
-
|
|
131
|
-
用 `TaskOutput` 等待两个模型的完整结果。**📌 保存 SESSION_ID**(`CODEX_SESSION` 和 `GEMINI_SESSION`)。
|
|
132
|
-
|
|
133
|
-
#### 2.2 交叉验证
|
|
134
|
-
|
|
135
|
-
整合各方思路,进行迭代优化:
|
|
136
|
-
|
|
137
|
-
1. **识别一致观点**(强信号)
|
|
138
|
-
2. **识别分歧点**(需权衡)
|
|
139
|
-
3. **互补优势**:后端逻辑以 Codex 为准,前端设计以 Gemini 为准
|
|
140
|
-
4. **逻辑推演**:消除方案中的逻辑漏洞
|
|
141
|
-
|
|
142
|
-
#### 2.3(可选但推荐)双模型产出“计划草案”
|
|
143
|
-
|
|
144
|
-
为降低 Claude 合成计划的遗漏风险,可并行让两个模型输出“计划草案”(仍然**不允许**修改文件):
|
|
145
|
-
|
|
146
|
-
1. **Codex 计划草案**(后端权威):
|
|
147
|
-
- ROLE_FILE: `~/.claude/.ccg/prompts/codex/architect.md`
|
|
148
|
-
- OUTPUT: Step-by-step plan + pseudo-code(重点:数据流/边界条件/错误处理/测试策略)
|
|
149
|
-
|
|
150
|
-
2. **Gemini 计划草案**(前端权威):
|
|
151
|
-
- ROLE_FILE: `~/.claude/.ccg/prompts/gemini/architect.md`
|
|
152
|
-
- OUTPUT: Step-by-step plan + pseudo-code(重点:信息架构/交互/可访问性/视觉一致性)
|
|
153
|
-
|
|
154
|
-
用 `TaskOutput` 等待两个模型的完整结果,并记录其建议的关键差异点。
|
|
155
|
-
|
|
156
|
-
#### 2.4 生成实施计划(Claude 最终版)
|
|
157
|
-
|
|
158
|
-
综合双方分析,生成 **Step-by-step 实施计划**:
|
|
159
|
-
|
|
160
|
-
```markdown
|
|
161
|
-
## 📋 实施计划:<任务名称>
|
|
162
|
-
|
|
163
|
-
### 任务类型
|
|
164
|
-
- [ ] 前端 (→ Gemini)
|
|
165
|
-
- [ ] 后端 (→ Codex)
|
|
166
|
-
- [ ] 全栈 (→ 并行)
|
|
167
|
-
|
|
168
|
-
### 技术方案
|
|
169
|
-
<综合 Codex + Gemini 分析的最优方案>
|
|
170
|
-
|
|
171
|
-
### 实施步骤
|
|
172
|
-
1. <步骤 1> - 预期产物
|
|
173
|
-
2. <步骤 2> - 预期产物
|
|
174
|
-
...
|
|
175
|
-
|
|
176
|
-
### 关键文件
|
|
177
|
-
| 文件 | 操作 | 说明 |
|
|
178
|
-
|------|------|------|
|
|
179
|
-
| path/to/file.ts:L10-L50 | 修改 | 描述 |
|
|
180
|
-
|
|
181
|
-
### 风险与缓解
|
|
182
|
-
| 风险 | 缓解措施 |
|
|
183
|
-
|------|----------|
|
|
184
|
-
|
|
185
|
-
### SESSION_ID(供 /ccg:execute 使用)
|
|
186
|
-
- CODEX_SESSION: <session_id>
|
|
187
|
-
- GEMINI_SESSION: <session_id>
|
|
188
|
-
```
|
|
189
|
-
|
|
190
|
-
### ⛔ Phase 2 结束:计划交付(非执行)
|
|
191
|
-
|
|
192
|
-
**`/ccg:plan` 的职责到此结束,必须执行以下动作**:
|
|
193
|
-
|
|
194
|
-
1. 向用户展示完整实施计划(含伪代码)
|
|
195
|
-
2. 将计划保存至 `.claude/plan/<功能名>.md`(功能名从需求中提取,如 `user-auth`、`payment-module` 等)
|
|
196
|
-
3. 以**加粗文本**输出提示(必须使用实际保存的文件路径):
|
|
197
|
-
|
|
198
|
-
---
|
|
199
|
-
**📋 计划已生成并保存至 `.claude/plan/实际功能名.md`**
|
|
200
|
-
|
|
201
|
-
**请审查上述计划,您可以:**
|
|
202
|
-
- 🔧 **修改计划**:告诉我需要调整的部分,我会更新计划
|
|
203
|
-
- ▶️ **执行计划**:复制以下命令到新会话执行
|
|
204
|
-
|
|
205
|
-
```
|
|
206
|
-
/ccg:execute .claude/plan/实际功能名.md
|
|
207
|
-
```
|
|
208
|
-
---
|
|
209
|
-
|
|
210
|
-
**⚠️ 注意**:上面的 `实际功能名.md` 必须替换为你实际保存的文件名!
|
|
211
|
-
|
|
212
|
-
4. **立即终止当前回复**(Stop here. No more tool calls.)
|
|
213
|
-
|
|
214
|
-
**⚠️ 绝对禁止**:
|
|
215
|
-
- ❌ 问用户 "Y/N" 然后自动执行(执行是 `/ccg:execute` 的职责)
|
|
216
|
-
- ❌ 对产品代码进行任何写操作
|
|
217
|
-
- ❌ 自动调用 `/ccg:execute` 或任何实施动作
|
|
218
|
-
- ❌ 在用户未明确要求修改时继续触发模型调用
|
|
219
|
-
|
|
220
|
-
---
|
|
221
|
-
|
|
222
|
-
## 计划保存
|
|
223
|
-
|
|
224
|
-
规划完成后,将计划保存至:
|
|
225
|
-
|
|
226
|
-
- **首次规划**:`.claude/plan/<功能名>.md`
|
|
227
|
-
- **迭代版本**:`.claude/plan/<功能名>-v2.md`、`.claude/plan/<功能名>-v3.md`...
|
|
228
|
-
|
|
229
|
-
计划文件写入应在向用户展示计划前完成。
|
|
230
|
-
|
|
231
|
-
---
|
|
232
|
-
|
|
233
|
-
## 计划修改流程
|
|
234
|
-
|
|
235
|
-
如果用户要求修改计划:
|
|
236
|
-
|
|
237
|
-
1. 根据用户反馈调整计划内容
|
|
238
|
-
2. 更新 `.claude/plan/<功能名>.md` 文件
|
|
239
|
-
3. 重新展示修改后的计划
|
|
240
|
-
4. 再次提示用户审查或执行
|
|
241
|
-
|
|
242
|
-
---
|
|
243
|
-
|
|
244
|
-
## 后续步骤
|
|
245
|
-
|
|
246
|
-
用户审查满意后,**手动**执行:
|
|
247
|
-
|
|
248
|
-
```bash
|
|
249
|
-
/ccg:execute .claude/plan/<功能名>.md
|
|
250
|
-
```
|
|
251
|
-
|
|
252
|
-
---
|
|
253
|
-
|
|
254
|
-
## 关键规则
|
|
255
|
-
|
|
256
|
-
1. **仅规划不实施** – 本命令不执行任何代码变更
|
|
257
|
-
2. **不问 Y/N** – 只展示计划,让用户决定下一步
|
|
258
|
-
3. **信任规则** – 后端以 Codex 为准,前端以 Gemini 为准
|
|
259
|
-
4. 外部模型对文件系统**零写入权限**
|
|
260
|
-
5. **SESSION_ID 交接** – 计划末尾必须包含 `CODEX_SESSION` / `GEMINI_SESSION`(供 `/ccg:execute resume <SESSION_ID>` 使用)
|