ccg-workflow 1.7.99 → 1.8.1
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/dist/cli.mjs +1 -1
- package/dist/index.mjs +1 -1
- package/dist/shared/{ccg-workflow.C2t36BW6.mjs → ccg-workflow.B875X4bw.mjs} +1 -1
- package/package.json +1 -1
- package/templates/commands/analyze.md +1 -2
- package/templates/commands/backend.md +1 -2
- package/templates/commands/codex-exec.md +2 -3
- package/templates/commands/debug.md +1 -1
- package/templates/commands/execute.md +7 -8
- package/templates/commands/feat.md +3 -4
- package/templates/commands/frontend.md +5 -6
- package/templates/commands/optimize.md +1 -2
- package/templates/commands/plan.md +5 -6
- package/templates/commands/review.md +1 -2
- package/templates/commands/spec-impl.md +3 -3
- package/templates/commands/spec-init.md +2 -1
- package/templates/commands/spec-plan.md +1 -1
- package/templates/commands/spec-research.md +1 -1
- package/templates/commands/spec-review.md +1 -1
- package/templates/commands/team-plan.md +1 -1
- package/templates/commands/team-research.md +1 -1
- package/templates/commands/team-review.md +1 -1
- package/templates/commands/test.md +1 -2
- package/templates/commands/workflow.md +5 -6
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, a as i18n, s as showMainMenu, i as init, E as configMcp, F as version } 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, a as i18n, s as showMainMenu, i as init, E as configMcp, F as version } from './shared/ccg-workflow.B875X4bw.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.B875X4bw.mjs';
|
|
2
2
|
import 'ansis';
|
|
3
3
|
import 'inquirer';
|
|
4
4
|
import 'node:child_process';
|
|
@@ -10,7 +10,7 @@ import { parse, stringify } from 'smol-toml';
|
|
|
10
10
|
import i18next from 'i18next';
|
|
11
11
|
import ora from 'ora';
|
|
12
12
|
|
|
13
|
-
const version = "1.
|
|
13
|
+
const version = "1.8.1";
|
|
14
14
|
|
|
15
15
|
function cmd(id, order, category, name, nameEn, description, descriptionEn, cmdOverride) {
|
|
16
16
|
return {
|
package/package.json
CHANGED
|
@@ -25,10 +25,9 @@ description: '多模型技术分析(并行执行):Codex 后端视角 + Gem
|
|
|
25
25
|
## 多模型调用规范
|
|
26
26
|
|
|
27
27
|
**工作目录**:
|
|
28
|
-
- `{{WORKDIR}}
|
|
28
|
+
- `{{WORKDIR}}`:**必须通过 Bash 执行 `pwd`(Unix)或 `cd`(Windows CMD)获取当前工作目录的绝对路径**,禁止从 `$HOME` 或环境变量推断
|
|
29
29
|
- 如果用户通过 `/add-dir` 添加了多个工作区,先用 Glob/Grep 确定任务相关的工作区
|
|
30
30
|
- 如果无法确定,用 `AskUserQuestion` 询问用户选择目标工作区
|
|
31
|
-
- 默认使用当前工作目录
|
|
32
31
|
|
|
33
32
|
**调用语法**(并行用 `run_in_background: true`):
|
|
34
33
|
|
|
@@ -30,10 +30,9 @@ description: '后端专项工作流(研究→构思→计划→执行→优化
|
|
|
30
30
|
## 多模型调用规范
|
|
31
31
|
|
|
32
32
|
**工作目录**:
|
|
33
|
-
- `{{WORKDIR}}
|
|
33
|
+
- `{{WORKDIR}}`:**必须通过 Bash 执行 `pwd`(Unix)或 `cd`(Windows CMD)获取当前工作目录的绝对路径**,禁止从 `$HOME` 或环境变量推断
|
|
34
34
|
- 如果用户通过 `/add-dir` 添加了多个工作区,先用 Glob/Grep 确定任务相关的工作区
|
|
35
35
|
- 如果无法确定,用 `AskUserQuestion` 询问用户选择目标工作区
|
|
36
|
-
- 默认使用当前工作目录
|
|
37
36
|
|
|
38
37
|
**调用语法**:
|
|
39
38
|
|
|
@@ -42,10 +42,9 @@ $ARGUMENTS
|
|
|
42
42
|
## 多模型调用规范
|
|
43
43
|
|
|
44
44
|
**工作目录**:
|
|
45
|
-
- `{{WORKDIR}}
|
|
45
|
+
- `{{WORKDIR}}`:**必须通过 Bash 执行 `pwd`(Unix)或 `cd`(Windows CMD)获取当前工作目录的绝对路径**,禁止从 `$HOME` 或环境变量推断
|
|
46
46
|
- 如果用户通过 `/add-dir` 添加了多个工作区,先用 Glob/Grep 确定任务相关的工作区
|
|
47
47
|
- 如果无法确定,用 `AskUserQuestion` 询问用户选择目标工作区
|
|
48
|
-
- 默认使用当前工作目录
|
|
49
48
|
|
|
50
49
|
**Codex 执行调用语法**:
|
|
51
50
|
|
|
@@ -142,7 +141,7 @@ TaskOutput({ task_id: "<task_id>", block: true, timeout: 600000 })
|
|
|
142
141
|
- 技术方案
|
|
143
142
|
- 实施步骤
|
|
144
143
|
- 关键文件列表
|
|
145
|
-
- SESSION_ID(`CODEX_SESSION
|
|
144
|
+
- SESSION_ID(`CODEX_SESSION` / `GEMINI_SESSION`)
|
|
146
145
|
|
|
147
146
|
3. **执行前确认**:
|
|
148
147
|
向用户展示计划摘要,确认后执行:
|
|
@@ -26,7 +26,7 @@ description: '多模型调试:Codex 后端诊断 + Gemini 前端诊断,交
|
|
|
26
26
|
**工作目录**:
|
|
27
27
|
- 如果用户通过 `/add-dir` 添加了多个工作区,先用 Glob/Grep 确定任务相关的工作区
|
|
28
28
|
- 如果无法确定,用 `AskUserQuestion` 询问用户选择目标工作区
|
|
29
|
-
-
|
|
29
|
+
- **必须通过 Bash 执行 `pwd`(Unix)或 `cd`(Windows CMD)获取当前工作目录的绝对路径**,禁止从 `$HOME` 或环境变量推断
|
|
30
30
|
|
|
31
31
|
**调用示例**:
|
|
32
32
|
|
|
@@ -21,17 +21,16 @@ $ARGUMENTS
|
|
|
21
21
|
## 多模型调用规范
|
|
22
22
|
|
|
23
23
|
**工作目录**:
|
|
24
|
-
- `{{WORKDIR}}
|
|
24
|
+
- `{{WORKDIR}}`:**必须通过 Bash 执行 `pwd`(Unix)或 `cd`(Windows CMD)获取当前工作目录的绝对路径**,禁止从 `$HOME` 或环境变量推断
|
|
25
25
|
- 如果用户通过 `/add-dir` 添加了多个工作区,先用 Glob/Grep 确定任务相关的工作区
|
|
26
26
|
- 如果无法确定,用 `AskUserQuestion` 询问用户选择目标工作区
|
|
27
|
-
- 默认使用当前工作目录
|
|
28
27
|
|
|
29
28
|
**调用语法**(并行用 `run_in_background: true`):
|
|
30
29
|
|
|
31
30
|
```
|
|
32
31
|
# 复用会话调用(推荐)- 原型生成(Implementation Prototype)
|
|
33
32
|
Bash({
|
|
34
|
-
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--progress --backend <codex|gemini> {{GEMINI_MODEL_FLAG}}resume <SESSION_ID
|
|
33
|
+
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--progress --backend <codex|gemini> {{GEMINI_MODEL_FLAG}}resume <SESSION_ID> - \"{{WORKDIR}}\" <<'EOF'
|
|
35
34
|
ROLE_FILE: <角色提示词路径>
|
|
36
35
|
<TASK>
|
|
37
36
|
需求:<任务描述>
|
|
@@ -64,7 +63,7 @@ EOF",
|
|
|
64
63
|
|
|
65
64
|
```
|
|
66
65
|
Bash({
|
|
67
|
-
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--progress --backend <codex|gemini> {{GEMINI_MODEL_FLAG}}resume <SESSION_ID
|
|
66
|
+
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--progress --backend <codex|gemini> {{GEMINI_MODEL_FLAG}}resume <SESSION_ID> - \"{{WORKDIR}}\" <<'EOF'
|
|
68
67
|
ROLE_FILE: <角色提示词路径>
|
|
69
68
|
<TASK>
|
|
70
69
|
Scope: Audit the final code changes.
|
|
@@ -95,7 +94,7 @@ EOF",
|
|
|
95
94
|
| 实施 | `~/.claude/.ccg/prompts/codex/architect.md` | `~/.claude/.ccg/prompts/gemini/frontend.md` |
|
|
96
95
|
| 审查 | `~/.claude/.ccg/prompts/codex/reviewer.md` | `~/.claude/.ccg/prompts/gemini/reviewer.md` |
|
|
97
96
|
|
|
98
|
-
|
|
97
|
+
**会话复用**:如果 `/ccg:plan` 提供了 SESSION_ID,使用 `resume <SESSION_ID>` 复用上下文。
|
|
99
98
|
|
|
100
99
|
**等待后台任务**(最大超时 600000ms = 10 分钟):
|
|
101
100
|
|
|
@@ -185,7 +184,7 @@ TaskOutput({ task_id: "<task_id>", block: true, timeout: 600000 })
|
|
|
185
184
|
3. OUTPUT: `Unified Diff Patch ONLY. Strictly prohibit any actual modifications.`
|
|
186
185
|
4. **Gemini 是前端设计的权威,其 CSS/React/Vue 原型为最终视觉基准**
|
|
187
186
|
5. ⚠️ **警告**:忽略 Gemini 对后端逻辑的建议
|
|
188
|
-
6.
|
|
187
|
+
6. 若计划包含 `GEMINI_SESSION`:优先 `resume <GEMINI_SESSION>`
|
|
189
188
|
|
|
190
189
|
#### Route B: 后端/逻辑/算法 → Codex
|
|
191
190
|
|
|
@@ -201,7 +200,7 @@ TaskOutput({ task_id: "<task_id>", block: true, timeout: 600000 })
|
|
|
201
200
|
- Gemini:处理前端部分
|
|
202
201
|
- Codex:处理后端部分
|
|
203
202
|
2. 用 `TaskOutput` 等待两个模型的完整结果
|
|
204
|
-
3.
|
|
203
|
+
3. 各自使用计划中对应的 `SESSION_ID` 进行 `resume`(若缺失则创建新会话)
|
|
205
204
|
|
|
206
205
|
**务必遵循上方 `多模型调用规范` 的 `重要` 指示**
|
|
207
206
|
|
|
@@ -258,7 +257,7 @@ TaskOutput({ task_id: "<task_id>", block: true, timeout: 600000 })
|
|
|
258
257
|
- 输入:变更的 Diff + 目标文件
|
|
259
258
|
- 关注:可访问性、设计一致性、用户体验
|
|
260
259
|
|
|
261
|
-
用 `TaskOutput` 等待两个模型的完整审查结果。优先复用 Phase 3 的会话(`resume <SESSION_ID
|
|
260
|
+
用 `TaskOutput` 等待两个模型的完整审查结果。优先复用 Phase 3 的会话(`resume <SESSION_ID>`)以保持上下文一致。
|
|
262
261
|
|
|
263
262
|
#### 5.2 整合修复
|
|
264
263
|
|
|
@@ -11,10 +11,9 @@ $ARGUMENTS
|
|
|
11
11
|
## 多模型调用规范
|
|
12
12
|
|
|
13
13
|
**工作目录**:
|
|
14
|
-
- `{{WORKDIR}}
|
|
14
|
+
- `{{WORKDIR}}`:**必须通过 Bash 执行 `pwd`(Unix)或 `cd`(Windows CMD)获取当前工作目录的绝对路径**,禁止从 `$HOME` 或环境变量推断
|
|
15
15
|
- 如果用户通过 `/add-dir` 添加了多个工作区,先用 Glob/Grep 确定任务相关的工作区
|
|
16
16
|
- 如果无法确定,用 `AskUserQuestion` 询问用户选择目标工作区
|
|
17
|
-
- 默认使用当前工作目录
|
|
18
17
|
|
|
19
18
|
**调用语法**(并行用 `run_in_background: true`,串行用 `false`):
|
|
20
19
|
|
|
@@ -36,7 +35,7 @@ EOF",
|
|
|
36
35
|
|
|
37
36
|
# 复用会话调用
|
|
38
37
|
Bash({
|
|
39
|
-
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--progress --backend <codex|gemini> {{GEMINI_MODEL_FLAG}}resume <SESSION_ID
|
|
38
|
+
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--progress --backend <codex|gemini> {{GEMINI_MODEL_FLAG}}resume <SESSION_ID> - \"{{WORKDIR}}\" <<'EOF'
|
|
40
39
|
ROLE_FILE: <角色提示词路径>
|
|
41
40
|
<TASK>
|
|
42
41
|
需求:<增强后的需求(如未增强则用 $ARGUMENTS)>
|
|
@@ -62,7 +61,7 @@ EOF",
|
|
|
62
61
|
| 实施 | `~/.claude/.ccg/prompts/codex/architect.md` | `~/.claude/.ccg/prompts/gemini/frontend.md` |
|
|
63
62
|
| 审查 | `~/.claude/.ccg/prompts/codex/reviewer.md` | `~/.claude/.ccg/prompts/gemini/reviewer.md` |
|
|
64
63
|
|
|
65
|
-
|
|
64
|
+
**会话复用**:每次调用返回 `SESSION_ID: xxx`,后续阶段用 `resume xxx` 复用上下文。
|
|
66
65
|
|
|
67
66
|
**并行调用**:使用 `run_in_background: true` 启动,用 `TaskOutput` 等待结果。**必须等所有模型返回后才能进入下一阶段**。
|
|
68
67
|
|
|
@@ -30,10 +30,9 @@ description: '前端专项工作流(研究→构思→计划→执行→优化
|
|
|
30
30
|
## 多模型调用规范
|
|
31
31
|
|
|
32
32
|
**工作目录**:
|
|
33
|
-
- `{{WORKDIR}}
|
|
33
|
+
- `{{WORKDIR}}`:**必须通过 Bash 执行 `pwd`(Unix)或 `cd`(Windows CMD)获取当前工作目录的绝对路径**,禁止从 `$HOME` 或环境变量推断
|
|
34
34
|
- 如果用户通过 `/add-dir` 添加了多个工作区,先用 Glob/Grep 确定任务相关的工作区
|
|
35
35
|
- 如果无法确定,用 `AskUserQuestion` 询问用户选择目标工作区
|
|
36
|
-
- 默认使用当前工作目录
|
|
37
36
|
|
|
38
37
|
**调用语法**:
|
|
39
38
|
|
|
@@ -55,7 +54,7 @@ EOF",
|
|
|
55
54
|
|
|
56
55
|
# 复用会话调用
|
|
57
56
|
Bash({
|
|
58
|
-
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--progress --backend gemini --gemini-model gemini-3.1-pro-preview resume
|
|
57
|
+
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--progress --backend gemini --gemini-model gemini-3.1-pro-preview resume <GEMINI_SESSION> - \"{{WORKDIR}}\" <<'EOF'
|
|
59
58
|
ROLE_FILE: <角色提示词路径>
|
|
60
59
|
<TASK>
|
|
61
60
|
需求:<增强后的需求(如未增强则用 $ARGUMENTS)>
|
|
@@ -77,7 +76,7 @@ EOF",
|
|
|
77
76
|
| 规划 | `~/.claude/.ccg/prompts/gemini/architect.md` |
|
|
78
77
|
| 审查 | `~/.claude/.ccg/prompts/gemini/reviewer.md` |
|
|
79
78
|
|
|
80
|
-
|
|
79
|
+
**会话复用**:每次调用返回 `SESSION_ID: xxx`,后续阶段用 `resume xxx` 复用上下文。阶段 2 保存 `GEMINI_SESSION`,阶段 3 和 5 使用 `resume` 复用。
|
|
81
80
|
|
|
82
81
|
⛔ **Gemini 失败必须重试**:若 Gemini 调用失败(非零退出码或输出包含错误信息),最多重试 2 次(间隔 5 秒)。仅当 3 次全部失败时才报告错误并终止。
|
|
83
82
|
|
|
@@ -114,7 +113,7 @@ EOF",
|
|
|
114
113
|
- 上下文:阶段 1 收集的项目上下文
|
|
115
114
|
- OUTPUT: UI 可行性分析、推荐方案(至少 2 个)、用户体验评估
|
|
116
115
|
|
|
117
|
-
**📌
|
|
116
|
+
**📌 保存 SESSION_ID**(`GEMINI_SESSION`)用于后续阶段复用。
|
|
118
117
|
|
|
119
118
|
输出方案(至少 2 个),等待用户选择。
|
|
120
119
|
|
|
@@ -122,7 +121,7 @@ EOF",
|
|
|
122
121
|
|
|
123
122
|
`[模式:计划]` - Gemini 主导规划
|
|
124
123
|
|
|
125
|
-
**⚠️ 必须调用 Gemini**(使用 `resume
|
|
124
|
+
**⚠️ 必须调用 Gemini**(使用 `resume <GEMINI_SESSION>` 复用会话):
|
|
126
125
|
- ROLE_FILE: `~/.claude/.ccg/prompts/gemini/architect.md`
|
|
127
126
|
- 需求:用户选择的方案
|
|
128
127
|
- 上下文:阶段 2 的分析结果
|
|
@@ -30,10 +30,9 @@ description: '多模型性能优化:Codex 后端优化 + Gemini 前端优化'
|
|
|
30
30
|
## 多模型调用规范
|
|
31
31
|
|
|
32
32
|
**工作目录**:
|
|
33
|
-
- `{{WORKDIR}}
|
|
33
|
+
- `{{WORKDIR}}`:**必须通过 Bash 执行 `pwd`(Unix)或 `cd`(Windows CMD)获取当前工作目录的绝对路径**,禁止从 `$HOME` 或环境变量推断
|
|
34
34
|
- 如果用户通过 `/add-dir` 添加了多个工作区,先用 Glob/Grep 确定任务相关的工作区
|
|
35
35
|
- 如果无法确定,用 `AskUserQuestion` 询问用户选择目标工作区
|
|
36
|
-
- 默认使用当前工作目录
|
|
37
36
|
|
|
38
37
|
**调用语法**(并行用 `run_in_background: true`):
|
|
39
38
|
|
|
@@ -21,10 +21,9 @@ $ARGUMENTS
|
|
|
21
21
|
## 多模型调用规范
|
|
22
22
|
|
|
23
23
|
**工作目录**:
|
|
24
|
-
- `{{WORKDIR}}
|
|
24
|
+
- `{{WORKDIR}}`:**必须通过 Bash 执行 `pwd`(Unix)或 `cd`(Windows CMD)获取当前工作目录的绝对路径**,禁止从 `$HOME` 或环境变量推断
|
|
25
25
|
- 如果用户通过 `/add-dir` 添加了多个工作区,先用 Glob/Grep 确定任务相关的工作区
|
|
26
26
|
- 如果无法确定,用 `AskUserQuestion` 询问用户选择目标工作区
|
|
27
|
-
- 默认使用当前工作目录
|
|
28
27
|
|
|
29
28
|
**调用语法**(并行用 `run_in_background: true`):
|
|
30
29
|
|
|
@@ -54,7 +53,7 @@ EOF",
|
|
|
54
53
|
| 分析 | `~/.claude/.ccg/prompts/codex/analyzer.md` | `~/.claude/.ccg/prompts/gemini/analyzer.md` |
|
|
55
54
|
| 规划 | `~/.claude/.ccg/prompts/codex/architect.md` | `~/.claude/.ccg/prompts/gemini/architect.md` |
|
|
56
55
|
|
|
57
|
-
|
|
56
|
+
**会话复用**:每次调用返回 `SESSION_ID: xxx`(通常由 wrapper 输出),**必须保存**以供后续 `/ccg:execute` 使用。
|
|
58
57
|
|
|
59
58
|
**等待后台任务**(最大超时 600000ms = 10 分钟):
|
|
60
59
|
|
|
@@ -129,7 +128,7 @@ TaskOutput({ task_id: "<task_id>", block: true, timeout: 600000 })
|
|
|
129
128
|
- 关注:UI/UX 影响、用户体验、视觉设计
|
|
130
129
|
- OUTPUT: 多角度解决方案 + 优劣势分析
|
|
131
130
|
|
|
132
|
-
用 `TaskOutput` 等待两个模型的完整结果。**📌 保存
|
|
131
|
+
用 `TaskOutput` 等待两个模型的完整结果。**📌 保存 SESSION_ID**(`CODEX_SESSION` 和 `GEMINI_SESSION`)。
|
|
133
132
|
|
|
134
133
|
#### 2.2 交叉验证
|
|
135
134
|
|
|
@@ -185,7 +184,7 @@ TaskOutput({ task_id: "<task_id>", block: true, timeout: 600000 })
|
|
|
185
184
|
|
|
186
185
|
### SESSION_ID(供 /ccg:execute 使用)
|
|
187
186
|
- CODEX_SESSION: <session_id>
|
|
188
|
-
- GEMINI_SESSION:
|
|
187
|
+
- GEMINI_SESSION: <session_id>
|
|
189
188
|
```
|
|
190
189
|
|
|
191
190
|
### ⛔ Phase 2 结束:计划交付(非执行)
|
|
@@ -258,4 +257,4 @@ TaskOutput({ task_id: "<task_id>", block: true, timeout: 600000 })
|
|
|
258
257
|
2. **不问 Y/N** – 只展示计划,让用户决定下一步
|
|
259
258
|
3. **信任规则** – 后端以 Codex 为准,前端以 Gemini 为准
|
|
260
259
|
4. 外部模型对文件系统**零写入权限**
|
|
261
|
-
5. **SESSION_ID 交接** – 计划末尾必须包含 `CODEX_SESSION`(供 `/ccg:execute resume <SESSION_ID>`
|
|
260
|
+
5. **SESSION_ID 交接** – 计划末尾必须包含 `CODEX_SESSION` / `GEMINI_SESSION`(供 `/ccg:execute resume <SESSION_ID>` 使用)
|
|
@@ -20,10 +20,9 @@ description: '多模型代码审查:无参数时自动审查 git diff,双模
|
|
|
20
20
|
## 多模型调用规范
|
|
21
21
|
|
|
22
22
|
**工作目录**:
|
|
23
|
-
- `{{WORKDIR}}
|
|
23
|
+
- `{{WORKDIR}}`:**必须通过 Bash 执行 `pwd`(Unix)或 `cd`(Windows CMD)获取当前工作目录的绝对路径**,禁止从 `$HOME` 或环境变量推断
|
|
24
24
|
- 如果用户通过 `/add-dir` 添加了多个工作区,先用 Glob/Grep 确定任务相关的工作区
|
|
25
25
|
- 如果无法确定,用 `AskUserQuestion` 询问用户选择目标工作区
|
|
26
|
-
- 默认使用当前工作目录
|
|
27
26
|
|
|
28
27
|
**调用语法**(并行用 `run_in_background: true`):
|
|
29
28
|
|
|
@@ -43,7 +43,7 @@ description: '按规范执行 + 多模型协作 + 归档'
|
|
|
43
43
|
- **Route A: Gemini** — Frontend/UI/styling (CSS, React, Vue, HTML, components)
|
|
44
44
|
- **Route B: Codex** — Backend/logic/algorithm (API, data processing, business logic)
|
|
45
45
|
|
|
46
|
-
**工作目录**:`{{WORKDIR}}`
|
|
46
|
+
**工作目录**:`{{WORKDIR}}` **必须通过 Bash 执行 `pwd`(Unix)或 `cd`(Windows CMD)获取当前工作目录的绝对路径**,禁止从 `$HOME` 或环境变量推断。如果用户通过 `/add-dir` 添加了多个工作区,先确定任务相关的工作区。
|
|
47
47
|
|
|
48
48
|
For each task:
|
|
49
49
|
```
|
|
@@ -57,7 +57,7 @@ description: '按规范执行 + 多模型协作 + 归档'
|
|
|
57
57
|
|
|
58
58
|
Note: `--gemini-model` parameter is only used when `--backend gemini` is specified.
|
|
59
59
|
|
|
60
|
-
|
|
60
|
+
**会话复用**:保存返回的 `SESSION_ID:`(Codex → `CODEX_PROTO_SESSION`,Gemini → `GEMINI_PROTO_SESSION`),Step 7 审查时复用。
|
|
61
61
|
|
|
62
62
|
5. **Rewrite Prototype to Production Code**
|
|
63
63
|
Upon receiving diff patch, **NEVER apply directly**. Rewrite by:
|
|
@@ -95,7 +95,7 @@ description: '按规范执行 + 多模型协作 + 归档'
|
|
|
95
95
|
**SECOND Bash call (Gemini) - IN THE SAME MESSAGE**:
|
|
96
96
|
```
|
|
97
97
|
Bash({
|
|
98
|
-
command: "~/.claude/bin/codeagent-wrapper --progress --backend gemini --gemini-model gemini-3.1-pro-preview resume
|
|
98
|
+
command: "~/.claude/bin/codeagent-wrapper --progress --backend gemini --gemini-model gemini-3.1-pro-preview resume <GEMINI_PROTO_SESSION> - \"{{WORKDIR}}\" <<'EOF'\nReview the implementation changes:\n- Maintainability: readability, complexity\n- Patterns: consistency with project style\n- Integration: cross-module impacts\nOUTPUT: JSON with findings\nEOF",
|
|
99
99
|
run_in_background: true,
|
|
100
100
|
timeout: 300000,
|
|
101
101
|
description: "Gemini: maintainability/patterns review"
|
|
@@ -39,6 +39,7 @@ description: '初始化 OpenSpec (OPSX) 环境 + 验证多模型 MCP 工具'
|
|
|
39
39
|
- **Note**: Always use `openspec` (not `opsx`) for CLI commands.
|
|
40
40
|
|
|
41
41
|
3. **Initialize OPSX for Current Project**
|
|
42
|
+
- **重要**:所有命令必须在当前工作目录下执行,禁止 `cd` 到其他路径。如不确定当前目录,先执行 `pwd` 确认。
|
|
42
43
|
- Check if already initialized:
|
|
43
44
|
```bash
|
|
44
45
|
ls -la openspec/ .claude/skills/openspec-* 2>/dev/null || echo "Not initialized"
|
|
@@ -59,7 +60,7 @@ description: '初始化 OpenSpec (OPSX) 环境 + 验证多模型 MCP 工具'
|
|
|
59
60
|
|
|
60
61
|
4. **Validate Multi-Model MCP Tools**
|
|
61
62
|
- Check `codeagent-wrapper` availability: `~/.claude/bin/codeagent-wrapper --version`
|
|
62
|
-
- **工作目录**:`{{WORKDIR}}`
|
|
63
|
+
- **工作目录**:`{{WORKDIR}}` **必须通过 Bash 执行 `pwd`(Unix)或 `cd`(Windows CMD)获取当前工作目录的绝对路径**,禁止从 `$HOME` 或环境变量推断。如果用户通过 `/add-dir` 添加了多个工作区,先确定任务相关的工作区。
|
|
63
64
|
- Test Codex backend:
|
|
64
65
|
```bash
|
|
65
66
|
echo "echo test" | ~/.claude/bin/codeagent-wrapper --backend codex - "{{WORKDIR}}"
|
|
@@ -26,7 +26,7 @@ description: '多模型分析 → 消除歧义 → 零决策可执行计划'
|
|
|
26
26
|
2. **Multi-Model Implementation Analysis (PARALLEL)**
|
|
27
27
|
- **CRITICAL**: You MUST launch BOTH Codex AND Gemini in a SINGLE message with TWO Bash tool calls.
|
|
28
28
|
- **DO NOT** call one model first and wait. Launch BOTH simultaneously with `run_in_background: true`.
|
|
29
|
-
- **工作目录**:`{{WORKDIR}}`
|
|
29
|
+
- **工作目录**:`{{WORKDIR}}` **必须通过 Bash 执行 `pwd`(Unix)或 `cd`(Windows CMD)获取当前工作目录的绝对路径**,禁止从 `$HOME` 或环境变量推断。如果用户通过 `/add-dir` 添加了多个工作区,先确定任务相关的工作区。
|
|
30
30
|
|
|
31
31
|
**Step 2.1**: In ONE message, make TWO parallel Bash calls:
|
|
32
32
|
|
|
@@ -51,7 +51,7 @@ description: '需求 → 约束集(并行探索 + OPSX 提案)'
|
|
|
51
51
|
4. **Parallel Multi-Model Exploration**
|
|
52
52
|
- **CRITICAL**: You MUST launch BOTH Codex AND Gemini in a SINGLE message with TWO Bash tool calls.
|
|
53
53
|
- **DO NOT** call one model first and wait. Launch BOTH simultaneously with `run_in_background: true`.
|
|
54
|
-
- **工作目录**:`{{WORKDIR}}`
|
|
54
|
+
- **工作目录**:`{{WORKDIR}}` **必须通过 Bash 执行 `pwd`(Unix)或 `cd`(Windows CMD)获取当前工作目录的绝对路径**,禁止从 `$HOME` 或环境变量推断。如果用户通过 `/add-dir` 添加了多个工作区,先确定任务相关的工作区。
|
|
55
55
|
|
|
56
56
|
**Output Template** (instruct both models to use this format):
|
|
57
57
|
```json
|
|
@@ -27,7 +27,7 @@ description: '双模型交叉审查(独立工具,随时可用)'
|
|
|
27
27
|
3. **Multi-Model Review (PARALLEL)**
|
|
28
28
|
- **CRITICAL**: You MUST launch BOTH Codex AND Gemini in a SINGLE message with TWO Bash tool calls.
|
|
29
29
|
- **DO NOT** call one model first and wait. Launch BOTH simultaneously with `run_in_background: true`.
|
|
30
|
-
- **工作目录**:`{{WORKDIR}}`
|
|
30
|
+
- **工作目录**:`{{WORKDIR}}` **必须通过 Bash 执行 `pwd`(Unix)或 `cd`(Windows CMD)获取当前工作目录的绝对路径**,禁止从 `$HOME` 或环境变量推断。如果用户通过 `/add-dir` 添加了多个工作区,先确定任务相关的工作区。
|
|
31
31
|
|
|
32
32
|
**Step 3.1**: In ONE message, make TWO parallel Bash calls:
|
|
33
33
|
|
|
@@ -21,7 +21,7 @@ description: 'Agent Teams 规划 - Lead 调用 Codex/Gemini 并行分析,产
|
|
|
21
21
|
|
|
22
22
|
2. **多模型并行分析(PARALLEL)**
|
|
23
23
|
- **CRITICAL**: 必须在一条消息中同时发起两个 Bash 调用,`run_in_background: true`。
|
|
24
|
-
- **工作目录**:`{{WORKDIR}}`
|
|
24
|
+
- **工作目录**:`{{WORKDIR}}` **必须通过 Bash 执行 `pwd`(Unix)或 `cd`(Windows CMD)获取当前工作目录的绝对路径**,禁止从 `$HOME` 或环境变量推断。
|
|
25
25
|
|
|
26
26
|
**FIRST Bash call (Codex)**:
|
|
27
27
|
```
|
|
@@ -34,7 +34,7 @@ description: 'Agent Teams 需求研究 - 并行探索代码库,产出约束集
|
|
|
34
34
|
|
|
35
35
|
3. **多模型并行探索(PARALLEL)**
|
|
36
36
|
- **CRITICAL**: 必须在一条消息中同时发起两个 Bash 调用。
|
|
37
|
-
- **工作目录**:`{{WORKDIR}}`
|
|
37
|
+
- **工作目录**:`{{WORKDIR}}` **必须通过 Bash 执行 `pwd`(Unix)或 `cd`(Windows CMD)获取当前工作目录的绝对路径**,禁止从 `$HOME` 或环境变量推断。
|
|
38
38
|
|
|
39
39
|
**FIRST Bash call (Codex)**:
|
|
40
40
|
```
|
|
@@ -20,7 +20,7 @@ description: 'Agent Teams 审查 - 双模型交叉审查并行实施的产出,
|
|
|
20
20
|
|
|
21
21
|
2. **多模型审查(PARALLEL)**
|
|
22
22
|
- **CRITICAL**: 必须在一条消息中同时发起两个 Bash 调用。
|
|
23
|
-
- **工作目录**:`{{WORKDIR}}`
|
|
23
|
+
- **工作目录**:`{{WORKDIR}}` **必须通过 Bash 执行 `pwd`(Unix)或 `cd`(Windows CMD)获取当前工作目录的绝对路径**,禁止从 `$HOME` 或环境变量推断。
|
|
24
24
|
|
|
25
25
|
**FIRST Bash call (Codex)**:
|
|
26
26
|
```
|
|
@@ -30,10 +30,9 @@ description: '多模型测试生成:智能路由 Codex 后端测试 / Gemini
|
|
|
30
30
|
## 多模型调用规范
|
|
31
31
|
|
|
32
32
|
**工作目录**:
|
|
33
|
-
- `{{WORKDIR}}
|
|
33
|
+
- `{{WORKDIR}}`:**必须通过 Bash 执行 `pwd`(Unix)或 `cd`(Windows CMD)获取当前工作目录的绝对路径**,禁止从 `$HOME` 或环境变量推断
|
|
34
34
|
- 如果用户通过 `/add-dir` 添加了多个工作区,先用 Glob/Grep 确定任务相关的工作区
|
|
35
35
|
- 如果无法确定,用 `AskUserQuestion` 询问用户选择目标工作区
|
|
36
|
-
- 默认使用当前工作目录
|
|
37
36
|
|
|
38
37
|
**调用语法**(并行用 `run_in_background: true`):
|
|
39
38
|
|
|
@@ -33,10 +33,9 @@ description: '多模型协作开发工作流(研究→构思→计划→执行
|
|
|
33
33
|
## 多模型调用规范
|
|
34
34
|
|
|
35
35
|
**工作目录**:
|
|
36
|
-
- `{{WORKDIR}}
|
|
36
|
+
- `{{WORKDIR}}`:**必须通过 Bash 执行 `pwd`(Unix)或 `cd`(Windows CMD)获取当前工作目录的绝对路径**,禁止从 `$HOME` 或环境变量推断
|
|
37
37
|
- 如果用户通过 `/add-dir` 添加了多个工作区,先用 Glob/Grep 确定任务相关的工作区
|
|
38
38
|
- 如果无法确定,用 `AskUserQuestion` 询问用户选择目标工作区
|
|
39
|
-
- 默认使用当前工作目录
|
|
40
39
|
|
|
41
40
|
**调用语法**(并行用 `run_in_background: true`,串行用 `false`):
|
|
42
41
|
|
|
@@ -58,7 +57,7 @@ EOF",
|
|
|
58
57
|
|
|
59
58
|
# 复用会话调用
|
|
60
59
|
Bash({
|
|
61
|
-
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--progress --backend <codex|gemini> {{GEMINI_MODEL_FLAG}}resume <SESSION_ID
|
|
60
|
+
command: "~/.claude/bin/codeagent-wrapper {{LITE_MODE_FLAG}}--progress --backend <codex|gemini> {{GEMINI_MODEL_FLAG}}resume <SESSION_ID> - \"{{WORKDIR}}\" <<'EOF'
|
|
62
61
|
ROLE_FILE: <角色提示词路径>
|
|
63
62
|
<TASK>
|
|
64
63
|
需求:<增强后的需求(如未增强则用 $ARGUMENTS)>
|
|
@@ -83,7 +82,7 @@ EOF",
|
|
|
83
82
|
| 规划 | `~/.claude/.ccg/prompts/codex/architect.md` | `~/.claude/.ccg/prompts/gemini/architect.md` |
|
|
84
83
|
| 审查 | `~/.claude/.ccg/prompts/codex/reviewer.md` | `~/.claude/.ccg/prompts/gemini/reviewer.md` |
|
|
85
84
|
|
|
86
|
-
|
|
85
|
+
**会话复用**:每次调用返回 `SESSION_ID: xxx`,后续阶段用 `resume xxx` 复用上下文(注意:是 `resume`,不是 `--resume`)。
|
|
87
86
|
|
|
88
87
|
**并行调用**:使用 `run_in_background: true` 启动,用 `TaskOutput` 等待结果。**必须等所有模型返回后才能进入下一阶段**。
|
|
89
88
|
|
|
@@ -134,7 +133,7 @@ TaskOutput({ task_id: "<task_id>", block: true, timeout: 600000 })
|
|
|
134
133
|
- Codex:使用分析提示词,输出技术可行性、方案、风险
|
|
135
134
|
- Gemini:使用分析提示词,输出 UI 可行性、方案、体验
|
|
136
135
|
|
|
137
|
-
用 `TaskOutput` 等待结果。**📌 保存
|
|
136
|
+
用 `TaskOutput` 等待结果。**📌 保存 SESSION_ID**(`CODEX_SESSION` 和 `GEMINI_SESSION`)。
|
|
138
137
|
|
|
139
138
|
**务必遵循上方 `多模型调用规范` 的 `重要` 指示**
|
|
140
139
|
|
|
@@ -146,7 +145,7 @@ TaskOutput({ task_id: "<task_id>", block: true, timeout: 600000 })
|
|
|
146
145
|
|
|
147
146
|
**并行调用**(复用会话):
|
|
148
147
|
- Codex:使用规划提示词 + `resume $CODEX_SESSION`,输出后端架构
|
|
149
|
-
- Gemini:使用规划提示词 + `resume
|
|
148
|
+
- Gemini:使用规划提示词 + `resume $GEMINI_SESSION`,输出前端架构
|
|
150
149
|
|
|
151
150
|
用 `TaskOutput` 等待结果。
|
|
152
151
|
|