ccg-workflow 1.2.2 → 1.3.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.
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# 【开源缝合】CCG
|
|
1
|
+
# 【开源缝合】CCG: Claude Code 编排三 CLI 协作
|
|
2
2
|
|
|
3
3
|
<div align="center">
|
|
4
4
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
[](https://opensource.org/licenses/MIT)
|
|
9
9
|
[](https://claude.ai/code)
|
|
10
10
|
|
|
11
|
-
>
|
|
11
|
+
> **最新版本 v1.3.0**:MCP 动态选择系统 - 支持 ace-tool / auggie 双 MCP 方案
|
|
12
12
|
|
|
13
13
|
</div>
|
|
14
14
|
|
|
@@ -16,6 +16,30 @@
|
|
|
16
16
|
|
|
17
17
|
## 🎉 最新更新
|
|
18
18
|
|
|
19
|
+
### v1.3.0 - MCP 动态选择系统 ⭐
|
|
20
|
+
- ✅ **多 MCP 支持**:安装时可选 ace-tool(Prompt增强+代码检索)或 auggie(仅代码检索)
|
|
21
|
+
- ✅ **交互式选择**:友好的 MCP 选择界面,对比功能差异
|
|
22
|
+
- ✅ **配置驱动**:生成 `~/.ccg/config.toml`,命令模板自动适配
|
|
23
|
+
- ✅ **简洁高效**:命令模板减少 50% 提示词,引用共享配置文档
|
|
24
|
+
- ✅ **完全兼容**:11个命令模板支持动态 MCP 工具调用
|
|
25
|
+
|
|
26
|
+
### v1.2.3 - 安装体验优化
|
|
27
|
+
- ✅ **二进制验证**:安装后自动验证 `codeagent-wrapper` 可用性
|
|
28
|
+
- ✅ **错误显示**:安装失败时显示详细错误信息和解决方案
|
|
29
|
+
- ✅ **文档清理**:删除过时提示,优化用户体验
|
|
30
|
+
|
|
31
|
+
### v1.2.0 - ROLE_FILE 动态注入 ⭐
|
|
32
|
+
- ✅ **真正的动态注入**:`codeagent-wrapper` 自动识别 `ROLE_FILE:` 指令
|
|
33
|
+
- ✅ **0 token 消耗**:Claude 无需先用 Read 工具读取提示词文件
|
|
34
|
+
- ✅ **自动化管理**:一行 `ROLE_FILE:` 搞定,无需手动粘贴
|
|
35
|
+
- ✅ **完整日志**:注入过程可追溯(文件路径、大小)
|
|
36
|
+
|
|
37
|
+
### v1.1.3 - PATH 自动配置
|
|
38
|
+
- ✅ **Mac/Linux**:自动添加到 `.zshrc` / `.bashrc`
|
|
39
|
+
- ✅ **Windows**:详细手动配置指南 + PowerShell 一键命令
|
|
40
|
+
- ✅ **智能检测**:避免重复配置
|
|
41
|
+
- ✅ **开箱即用**:安装后直接可用 `codeagent-wrapper`
|
|
42
|
+
|
|
19
43
|
### v1.1.0 - 智能更新系统
|
|
20
44
|
- ✅ **一键更新**:`npx ccg-workflow` 选择"更新工作流"
|
|
21
45
|
- ✅ **自动版本检测**:自动对比当前版本与 npm 最新版本
|
|
@@ -23,24 +47,14 @@
|
|
|
23
47
|
- ✅ **强制修复**:支持强制重装,修复损坏的文件
|
|
24
48
|
- ✅ **零权限**:无需 sudo,无需全局安装
|
|
25
49
|
|
|
26
|
-
###
|
|
50
|
+
### v1.0.0 - npm 首次发布
|
|
27
51
|
- ✅ 从 Python 脚本重构为 **TypeScript + unbuild** 构建系统
|
|
28
52
|
- ✅ 发布到 npm: **`npx ccg-workflow`** 一键安装
|
|
29
53
|
- ✅ 交互式配置菜单(初始化/更新/卸载)
|
|
30
|
-
- ✅
|
|
31
|
-
|
|
32
|
-
### 三 CLI 协作时代
|
|
33
|
-
- ✅ **Claude Code CLI** 作为主导编排者
|
|
34
|
-
- ✅ **Codex CLI** 负责后端原型生成
|
|
35
|
-
- ✅ **Gemini CLI** 负责前端原型生成
|
|
36
|
-
- ✅ **Claude CLI** 子进程负责全栈整合
|
|
37
|
-
- ✅ 新增 6 个 Claude 角色提示词
|
|
38
|
-
- ✅ 从 12 个专家提示词扩展到 **18 个**
|
|
39
|
-
|
|
40
|
-
### 配置系统升级
|
|
54
|
+
- ✅ **三 CLI 协作**:Claude + Codex + Gemini
|
|
55
|
+
- ✅ **18个专家提示词**:Codex 6个 + Gemini 6个 + Claude 6个
|
|
41
56
|
- ✅ 配置文件从 `config.json` 迁移到 `~/.ccg/config.toml`
|
|
42
57
|
- ✅ 支持 **smart/parallel/sequential** 三种协作模式
|
|
43
|
-
- ✅ 可配置前端/后端模型优先级
|
|
44
58
|
|
|
45
59
|
---
|
|
46
60
|
|
|
@@ -79,7 +93,7 @@
|
|
|
79
93
|
| **Claude Code 主导** | Claude Code CLI 作为编排者,Codex/Gemini/Claude 子进程协作 |
|
|
80
94
|
| **三 CLI 协作** | 同时调用 Codex CLI + Gemini CLI + Claude CLI 进行交叉验证 |
|
|
81
95
|
| **智能路由** | 前端任务 → Gemini,后端任务 → Codex,全栈整合 → Claude |
|
|
82
|
-
| **Prompt 增强** |
|
|
96
|
+
| **Prompt 增强** | 支持 ace-tool / auggie MCP,可选 Prompt 自动优化 |
|
|
83
97
|
| **6阶段工作流** | Prompt增强 → 上下文检索 → 三 CLI 分析 → 原型生成 → 代码实施 → 审计交付 |
|
|
84
98
|
| **18个专家提示词** | Codex 6个 + Gemini 6个 + Claude 6个角色 |
|
|
85
99
|
| **交互式安装** | npx 一键运行,图形化配置界面 |
|
|
@@ -141,11 +155,14 @@ pnpm start
|
|
|
141
155
|
|
|
142
156
|
选择 **"初始化 CCG 配置"** 进行首次安装,会引导你:
|
|
143
157
|
1. 选择语言(中文/English)
|
|
144
|
-
2.
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
158
|
+
2. **选择 MCP 代码检索工具**:
|
|
159
|
+
- **ace-tool**(推荐):内置 Prompt 增强 + 代码检索
|
|
160
|
+
- **auggie**(官方原版):仅代码检索,需查看[配置教程](https://linux.do/t/topic/1280612)
|
|
161
|
+
- **跳过**:稍后手动配置
|
|
162
|
+
3. 配置前端模型(Gemini/Codex/Claude)
|
|
163
|
+
4. 配置后端模型(Codex/Gemini/Claude)
|
|
164
|
+
5. 选择协作模式(并行/智能/顺序)
|
|
165
|
+
6. 选择要安装的工作流
|
|
149
166
|
|
|
150
167
|
### 更新到最新版
|
|
151
168
|
|
|
@@ -260,7 +277,7 @@ pnpm start
|
|
|
260
277
|
|
|
261
278
|
```
|
|
262
279
|
┌─────────────────────────────────────────────────────────────┐
|
|
263
|
-
│
|
|
280
|
+
│ /ccg:dev 工作流 │
|
|
264
281
|
├─────────────────────────────────────────────────────────────┤
|
|
265
282
|
│ │
|
|
266
283
|
│ Phase 0: Prompt 增强 (ace-tool prompt-enhancer) │
|
|
@@ -322,7 +339,7 @@ pnpm start
|
|
|
322
339
|
|
|
323
340
|
```toml
|
|
324
341
|
[general]
|
|
325
|
-
version = "
|
|
342
|
+
version = "1.2.3"
|
|
326
343
|
language = "zh-CN"
|
|
327
344
|
|
|
328
345
|
[routing]
|
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 { r as readCcgConfig, b as initI18n, s as showMainMenu, i as init, a as i18n } from './shared/ccg-workflow.
|
|
4
|
+
import { r as readCcgConfig, b as initI18n, s as showMainMenu, i as init, a as i18n } from './shared/ccg-workflow.CDbjzCK1.mjs';
|
|
5
5
|
import 'inquirer';
|
|
6
6
|
import 'node:os';
|
|
7
7
|
import 'pathe';
|
|
@@ -13,7 +13,7 @@ import 'smol-toml';
|
|
|
13
13
|
import 'node:child_process';
|
|
14
14
|
import 'node:util';
|
|
15
15
|
|
|
16
|
-
const version = "1.
|
|
16
|
+
const version = "1.3.0";
|
|
17
17
|
|
|
18
18
|
function customizeHelp(sections) {
|
|
19
19
|
sections.unshift({
|
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { c as changeLanguage, q as checkForUpdates, t as compareVersions, d as createDefaultConfig, e as createDefaultRouting, g as getCcgDir, f as getConfigPath, o as getCurrentVersion, p as getLatestVersion, j as getWorkflowById, h as getWorkflowConfigs, a as i18n, i as init, b as initI18n, l as installAceTool, k as installWorkflows, r as readCcgConfig, s as showMainMenu, n as uninstallAceTool, m as uninstallWorkflows, u as update, w as writeCcgConfig } from './shared/ccg-workflow.
|
|
1
|
+
export { c as changeLanguage, q as checkForUpdates, t as compareVersions, d as createDefaultConfig, e as createDefaultRouting, g as getCcgDir, f as getConfigPath, o as getCurrentVersion, p as getLatestVersion, j as getWorkflowById, h as getWorkflowConfigs, a as i18n, i as init, b as initI18n, l as installAceTool, k as installWorkflows, r as readCcgConfig, s as showMainMenu, n as uninstallAceTool, m as uninstallWorkflows, u as update, w as writeCcgConfig } from './shared/ccg-workflow.CDbjzCK1.mjs';
|
|
2
2
|
import 'ansis';
|
|
3
3
|
import 'inquirer';
|
|
4
4
|
import 'node:os';
|
|
@@ -77,6 +77,7 @@ const zhCN = {
|
|
|
77
77
|
installedCommands: "\u5DF2\u5B89\u88C5\u547D\u4EE4:",
|
|
78
78
|
installedPrompts: "\u5DF2\u5B89\u88C5\u89D2\u8272\u63D0\u793A\u8BCD:",
|
|
79
79
|
installedBinary: "\u5DF2\u5B89\u88C5\u4E8C\u8FDB\u5236\u6587\u4EF6:",
|
|
80
|
+
installationErrors: "\u5B89\u88C5\u8FC7\u7A0B\u4E2D\u51FA\u73B0\u9519\u8BEF:",
|
|
80
81
|
pathWarning: "\u9700\u8981\u5C06 codeagent-wrapper \u6DFB\u52A0\u5230 PATH \u624D\u80FD\u4F7F\u7528",
|
|
81
82
|
autoConfigurePathPrompt: "\u662F\u5426\u81EA\u52A8\u914D\u7F6E PATH \u73AF\u5883\u53D8\u91CF\uFF1F",
|
|
82
83
|
pathConfigured: "PATH \u5DF2\u6DFB\u52A0\u5230 {{file}}",
|
|
@@ -236,6 +237,7 @@ const en = {
|
|
|
236
237
|
installedCommands: "Installed Commands:",
|
|
237
238
|
installedPrompts: "Installed Role Prompts:",
|
|
238
239
|
installedBinary: "Installed Binary:",
|
|
240
|
+
installationErrors: "Installation Errors:",
|
|
239
241
|
pathWarning: "codeagent-wrapper needs to be added to PATH",
|
|
240
242
|
autoConfigurePathPrompt: "Automatically configure PATH environment variable?",
|
|
241
243
|
pathConfigured: "PATH has been added to {{file}}",
|
|
@@ -771,10 +773,17 @@ ${workflow.description}
|
|
|
771
773
|
if (platform !== "win32") {
|
|
772
774
|
await fs.chmod(destBinary, 493);
|
|
773
775
|
}
|
|
774
|
-
|
|
775
|
-
|
|
776
|
+
try {
|
|
777
|
+
const { execSync } = await import('node:child_process');
|
|
778
|
+
execSync(`"${destBinary}" --version`, { stdio: "pipe" });
|
|
779
|
+
result.binPath = binDir;
|
|
780
|
+
result.binInstalled = true;
|
|
781
|
+
} catch (verifyError) {
|
|
782
|
+
result.errors.push(`Binary verification failed: ${verifyError}`);
|
|
783
|
+
result.success = false;
|
|
784
|
+
}
|
|
776
785
|
} else {
|
|
777
|
-
result.errors.push(`Binary not found: ${binaryName}`);
|
|
786
|
+
result.errors.push(`Binary not found in package: ${binaryName}`);
|
|
778
787
|
result.success = false;
|
|
779
788
|
}
|
|
780
789
|
} catch (error) {
|
|
@@ -1115,6 +1124,13 @@ async function init(options = {}) {
|
|
|
1115
1124
|
console.log(` ${ansis.green("\u2713")} ${model}: ${roles.join(", ")}`);
|
|
1116
1125
|
});
|
|
1117
1126
|
}
|
|
1127
|
+
if (result.errors.length > 0) {
|
|
1128
|
+
console.log();
|
|
1129
|
+
console.log(ansis.red(` \u26A0 ${i18n.t("init:installationErrors")}`));
|
|
1130
|
+
result.errors.forEach((error) => {
|
|
1131
|
+
console.log(` ${ansis.red("\u2717")} ${error}`);
|
|
1132
|
+
});
|
|
1133
|
+
}
|
|
1118
1134
|
if (result.binInstalled && result.binPath) {
|
|
1119
1135
|
console.log();
|
|
1120
1136
|
console.log(ansis.cyan(` ${i18n.t("init:installedBinary")}`));
|
package/package.json
CHANGED
|
@@ -87,7 +87,7 @@ strategy = "parallel"
|
|
|
87
87
|
|
|
88
88
|
**根据配置并行调用模型进行分析**(使用 `run_in_background: true` 非阻塞执行):
|
|
89
89
|
|
|
90
|
-
**调用方式**: 使用 `Bash` 工具调用 `codeagent-wrapper
|
|
90
|
+
**调用方式**: 使用 `Bash` 工具调用 `codeagent-wrapper`
|
|
91
91
|
|
|
92
92
|
```bash
|
|
93
93
|
# 后端模型分析示例
|