Commit Graph
80 Commits
Author SHA1 Message Date
li 1237d2bfe0 fix: 修复 Windows Codex 进程完成后不自动退出问题 (v1.7.21)
问题根因:
1. messageTimerCh 中阻塞等待 waitCh 导致无限挂起
2. Windows 上 proc.Kill() 只杀主进程不杀子进程

解决方案:
1. 移除 messageTimerCh case 中的阻塞等待
2. 新增 killProcessTree() 使用 taskkill /T /F /PID 终止进程树
3. 修改 terminateCommand/terminateProcess/forwardSignals 使用进程树终止
2026-01-13 16:32:28 +08:00
li e5cfdee7a9 fix: 修复并行调用指令格式不清晰问题 (v1.7.20)
v1.7.19 表格格式精简过度,Claude 无法理解需要 run_in_background: true
改为明确的 Bash 调用指令格式
2026-01-13 14:30:24 +08:00
li 97c7cb8bc6 docs: 精简命令模板去除冗余代码块 (v1.7.19)
- 统一所有调用外部模型的命令模板格式
- 顶部保留完整调用规范,阶段中只引用不重复
- 添加 ⚠️ 必须调用标记确保强制执行
- 修改文件:backend/frontend/debug/optimize/review/test/analyze.md
2026-01-13 14:24:40 +08:00
li 038abfd922 fix: 修复 Windows 系统 Codex 完成检测问题 (v1.7.17)
问题:
- Codex 任务实际已完成,但 Claude Code 一直显示"响应较慢"
- Windows 系统上 Codex CLI 发送完成事件延迟超过 1 秒
- 导致 wrapper 过早终止进程,上层认为任务未完成

修复:
- 增加默认延迟时间: 1秒 → 5秒
- 添加环境变量支持: CODEAGENT_POST_MESSAGE_DELAY
- 用户可自定义延迟时间(默认5秒,最大60秒)

修改文件:
- codeagent-wrapper/executor.go: 添加 resolvePostMessageDelay() 函数
- CHANGELOG.md: 添加 v1.7.17 变更记录
- package.json: 版本号升级到 1.7.17
- bin/*: 重新编译所有平台二进制文件
2026-01-12 18:10:21 +08:00
li 5d184d6be5 fix: 修复 Windows 二进制文件缺失问题 (v1.7.16)
根本原因:
- .gitignore 忽略了所有 .exe 文件
- Windows 二进制文件未被 Git 跟踪
- npm 包中缺失 Windows 二进制文件

修复内容:
- 修改 .gitignore: 添加 !bin/*.exe 例外规则
- 提交 Windows 二进制文件到 Git
  - bin/codeagent-wrapper-windows-amd64.exe
  - bin/codeagent-wrapper-windows-arm64.exe
- 更新版本号 1.7.15 → 1.7.16
- 更新 CHANGELOG.md

影响:
- Windows 用户现在可以正常安装和更新
- 所有平台(macOS/Linux/Windows)均可正常使用
2026-01-10 14:15:39 +08:00
li bc46115e86 fix: Windows 兼容性修复 - 路径处理和输出截断问题 (v1.7.15)
## 修复内容

### 1. 路径兼容性修复
- ✅ 统一使用正斜杠路径(`C:/Users/...`)避免 Git Bash heredoc 转义问题
- ✅ Windows 下自动添加 `.exe` 扩展名到 codeagent-wrapper

### 2. 输出截断修复
- ✅ 移除日志行长度限制(`codexLogLineLimit: 1000 → 0`)
- ✅ Windows 下强制刷新 stdout(`os.Stdout.Sync()`)

## 修改文件
- src/utils/installer.ts - 路径处理逻辑优化
- codeagent-wrapper/main.go - 升级至 v5.4.1
- 重新编译所有平台二进制文件
- package.json - 版本号 1.7.14 → 1.7.15
- CHANGELOG.md - 新增 v1.7.15 更新记录

## 影响范围
- 路径正斜杠:所有平台(安全,跨平台标准)
- .exe 扩展名:仅 Windows
- 无限制日志:所有平台(防止长输出截断)
- Stdout.Sync():仅 Windows
2026-01-10 11:01:54 +08:00
li 4b6b448b6b fix: 修复更新完成提示显示错误的源版本号 (v1.7.14)
问题:更新完成后显示"从 v1.7.13 升级到 v1.7.13"
原因:传入 performUpdate 的是 npm 包版本而不是本地配置版本
修复:当本地工作流需要更新时,使用 localVersion 作为 fromVersion
2026-01-09 23:48:01 +08:00
li 8a9582a81c fix: 修复更新版本判断问题 (v1.7.13)
问题:用户通过 npx 运行时,npm 包已是最新,但本地工作流可能过期
原因:只比较 npm registry 版本,没有比较本地配置版本
修复:
- 新增本地配置版本检测(config.general.version)
- 比较本地版本与当前 npm 包版本
- 当本地版本低于当前包版本时,默认选项改为"是"
- 显示"本地工作流版本"让用户清楚知道当前状态

涉及文件:
- src/commands/update.ts - 添加本地版本检测和智能提示
- CLAUDE.md - 精简变更记录,只保留最新版本
- CHANGELOG.md - 添加 v1.7.12 和 v1.7.13 记录
2026-01-09 23:45:17 +08:00
li beca0106ce fix: 修复 npm 全局安装用户的更新和卸载问题 (v1.7.11)
**问题背景**:
- 用户通过 `npm install -g` 全局安装后,存在双重路径问题
- 卸载显示成功但命令仍可用(只删除了工作流文件,npm 包未移除)
- 更新显示成功但版本号不变(只更新了工作流文件,命令入口仍指向旧版本)

**核心修复**:
1. 新增 checkIfGlobalInstall() 函数检测 npm 全局安装
2. 更新功能:检测到全局安装时引导用户使用 npm 更新
3. 卸载功能:提示两步卸载流程,避免困惑

**修改文件**:
- src/commands/update.ts - 添加全局安装检测和更新引导
- src/commands/menu.ts - 添加卸载引导逻辑
- README.md - 完善卸载说明,区分 npx 和全局安装
- CHANGELOG.md - 记录本次修复
- CLAUDE.md - 更新版本号和变更记录
- package.json - 版本号 1.7.10 → 1.7.11

**用户价值**:
解决"全局安装 + npx 混用"导致的更新/卸载混乱问题
2026-01-09 21:20:24 +08:00
li 90cee455f3 fix: Windows 兼容性修复 + 升级体验优化 (v1.7.10)
解决的问题:

1. Windows 路径兼容性问题
   - 修复 Git Bash 环境下路径转义问题(C:\Users\... → C:Users...)
   - 新增 convertToGitBashPath 函数支持盘符转换(C: → /c/)
   - 影响所有调用 codeagent-wrapper 的命令

2. 配置迁移问题
   - update 命令新增自动迁移逻辑(~/.ccg → ~/.claude/.ccg)
   - 从 v1.3.x 升级时自动迁移配置文件和 prompts
   - 显示详细迁移日志

3. Windows npx 缓存问题
   - update 命令在 Windows 上自动清理 npx 缓存
   - 确保更新时拉取最新版本,而不是使用缓存的旧版本
   - 先尝试 npx clear-npx-cache,失败则手动删除 ~/.npm/_npx

4. 卸载与更新文档优化
   - 新增 npx 缓存清理说明
   - 提供交互式卸载 + 手动清理两种方式

修改文件:
- src/utils/installer.ts (路径转换)
- src/commands/update.ts (迁移逻辑 + npx 缓存清理)
- README.md, CHANGELOG.md, CLAUDE.md (文档)
- bin/* (重新编译所有平台二进制)

版本:1.7.9 → 1.7.10
2026-01-09 19:51:15 +08:00
li 0799e08ffc fix: 修复并发执行器中潜在的 goroutine 泄漏问题
- 修复 executor.go 中 waitLoop 循环无法正确退出的问题
- 添加 waitErr 通道接收逻辑,确保子进程退出后 goroutine 能正常结束
- 更新 version 1.7.8 -> 1.7.9
- 重新编译所有平台二进制文件 (codeagent-wrapper)
2026-01-09 13:15:37 +08:00
li bfef6a7c4f fix: 强化卸载逻辑,强制递归删除所有目录
- 更新 uninstallWorkflows 逻辑,使用 fs.remove 强制递归删除整个目录
- 删除 ~/.claude/commands/ccg/ 及其所有内容(解决残留文件问题)
- 删除 ~/.claude/agents/ccg/
- 删除 ~/.claude/.ccg/ 配置目录(包含 prompts 和 config)
- 更新卸载确认提示文案,明确告知会强制删除所有数据
- 版本升级至 v1.7.8
2026-01-09 11:44:18 +08:00
li f01abce6a5 fix: 修复会话复用语法错误(--resume → resume)
- 修正 4 个命令模板中的 codeagent-wrapper 会话复用调用语法
- 正确语法:`resume <SESSION_ID>` (位置参数)
- 错误语法:`--resume <SESSION_ID>` (不存在的标志)
- 已测试 Codex 和 Gemini 的新会话和复用会话,均工作正常

修改文件:
- templates/commands/workflow.md
- templates/commands/backend.md
- templates/commands/frontend.md
- templates/commands/feat.md

其他开发命令(analyze/debug/optimize/test/review)为单次调用,不使用会话复用,无需修改。
2026-01-09 11:30:05 +08:00
li c0abfd67e1 fix: 更新工作流始终安装所有命令(包括新增命令)
## 核心问题
更新工作流时使用 `config?.workflows?.installed`,导致只更新已安装的命令,
新增的命令(如 /ccg:enhance)不会被安装。

## 修复方案
- 使用 getAllCommandIds() 获取所有 15 个命令
- 更新配置文件的 installed 列表为所有当前命令
- 确保更新时会安装所有新增命令

## 测试
- 现在更新会安装全部 15 个命令(包括 enhance)
- 配置文件会同步更新

涉及文件:
- src/commands/update.ts
- package.json (1.7.5 → 1.7.6)
2026-01-09 11:05:15 +08:00
li 78a7d6b972 fix: 更新工作流逻辑优化 + 添加 enhance 命令
## 更新工作流修复
- 移除模型选择询问(v1.7.0 已固定路由)
- 更新提示信息:明确包含 codeagent-wrapper 二进制更新
- 简化流程:直接使用现有配置,不再询问重新配置

## 添加 enhance 命令
- 在 WORKFLOW_CONFIGS 中添加 enhance 配置
- 更新命令数量:14 → 15
- order: 9.5(在 review 和 init-project 之间)

涉及文件:
- src/commands/update.ts
- src/utils/installer.ts
- package.json (1.7.4 → 1.7.5)
2026-01-09 11:01:10 +08:00
li 737b181ae1 chore: bump version to 1.7.4 2026-01-09 10:58:12 +08:00
li 514c27a58b fix: Windows 浏览器自动打开 + 更新工作流逻辑优化
## Windows 浏览器修复
- 修改 server.go 的 openBrowser 函数
- 将 `cmd /c start` 改为 `rundll32 url.dll,FileProtocolHandler`
- 提升 Windows 平台兼容性

## 更新工作流逻辑优化
- 修改 update.ts 的更新流程
- 即使版本相同也允许重新安装
- 新增步骤:先下载最新包 → 删除旧工作流 → 安装新工作流
- 优化提示信息,明确显示更新流程

## 重新构建
- 重新编译所有 6 个平台的 codeagent-wrapper 二进制文件
- 包含 Windows 浏览器修复

涉及文件:
- codeagent-wrapper/server.go
- src/commands/update.ts
- bin/codeagent-wrapper-* (6 个平台)
2026-01-09 10:56:53 +08:00
li 322a4d329e feat: Web UI 实时流式输出 + 自动打开浏览器 + 完成提示
- 新增 Web UI 实时输出(SSE)
  - 随机端口分配,避免端口冲突
  - 单面板显示,按后端类型分色(Codex 绿/Gemini 紫/Claude 橙)
  - 短生命周期,随任务结束而关闭
- 新增自动打开浏览器功能(跨平台:macOS/Linux/Windows)
- 新增完成提示(✓ 完成 + 浏览器通知)
- 新增内容类型显示
  - 💭 思考过程(reasoning - 灰色斜体)
  - 💻 命令执行(command - 黄色代码块)
  - 📝 最终回复(message - 白色)
- 修复 Codex turn.completed 事件捕获
- 扩展 stderr 噪音过滤到所有后端
- 新增 /ccg:enhance 命令(Prompt 增强)

修改文件:
- codeagent-wrapper/server.go: Web UI 核心实现
- codeagent-wrapper/executor.go: WebServer 集成
- codeagent-wrapper/parser.go: turn.completed 支持 + 内容类型
- codeagent-wrapper/filter.go: 全后端噪音过滤
- templates/commands/enhance.md: 新增 Prompt 增强命令
- README.md: 更新功能列表(15 个命令)
- package.json: v1.7.3

版本: v1.7.3
2026-01-09 04:27:10 +08:00
li 11a5e14cd6 refactor: feat.md 重构为统一调用规范 + 简化流程引用
- 添加"多模型调用规范"章节(调用语法、角色提示词表、会话复用、并行调用)
- 流程中简化引用:"按上方调用规范调用外部模型"
- 从 206 行精简到 158 行
2026-01-09 01:52:47 +08:00
li f85afcb743 fix: feat.md 添加调用语法模板并明确使用增强后的需求
- 2.0 阶段:明确用增强结果替代原始 $ARGUMENTS
- 3.3 阶段:添加完整调用语法模板,需求字段使用增强后的需求
- 简化全栈任务并行调用说明
2026-01-09 01:49:54 +08:00
li 05e664aa56 fix: 明确 enhance_prompt 增强结果替代原始需求的指示
- 更新所有命令模板的调用语法,需求字段改为"增强后的需求(如未增强则用 $ARGUMENTS)"
- 阶段 0 明确指示:用增强结果替代原始 $ARGUMENTS,后续调用 Codex/Gemini 时传入增强后的需求
- 为 analyze.md 添加阶段 0(Prompt 增强)

涉及文件:
- workflow.md, frontend.md, backend.md
- analyze.md, debug.md, optimize.md, test.md
- review.md(调用语法无需修改,审查 git diff 内容)
2026-01-09 01:48:41 +08:00
li 9be5ead28d fix: 修复 Gemini session_id 解析问题
- 在 parser.go 中提前提取 session_id(适用于所有后端)
- 增加对 Gemini init 事件的识别(type="init" && session_id 存在)
- 现在 Gemini 调用也能正确返回 SESSION_ID,支持 --resume 恢复会话
2026-01-09 01:06:53 +08:00
li ce9c69ea53 add 2026-01-08 17:18:53 +08:00
li 92f19d0f50 fix: 修复 backend/frontend 单独调用语法 (v1.7.2)
**问题**:
1. backend/frontend 的单独调用示例缺少必要参数
2. 硬编码角色提示词内容,而不是使用 ROLE_FILE 引用
3. 阶段 2/3/5 的调用示例不完整

**修复**:
1. 添加 `run_in_background: false` 参数(单独调用不需要后台)
2. 添加 `timeout: 3600000` 参数(1小时)
3. 改用 ROLE_FILE 引用角色提示词
4. 统一使用 Bash 工具调用格式
5. 为阶段 2/3/5 补充完整的调用示例

**修改内容**:
- backend.md:阶段 2(构思)、阶段 3(计划)、阶段 5(优化)
- frontend.md:阶段 2(构思)、阶段 3(计划)、阶段 5(优化)

**调用示例**:
```javascript
Bash({
  command: "~/.claude/bin/codeagent-wrapper --backend codex - \"$PWD\" <<'EOF_CODEX'
ROLE_FILE: ~/.claude/.ccg/prompts/codex/analyzer.md
<TASK>...</TASK>
OUTPUT: ...
EOF_CODEX",
  run_in_background: false,
  timeout: 3600000,
  description: "Codex 后端分析"
})
```

**涉及文件**:
- templates/commands/backend.md (3处修复)
- templates/commands/frontend.md (3处修复)
- skills-v2/CLAUDE.md
- package.json (v1.7.1 → v1.7.2)
2026-01-08 17:07:06 +08:00
li 4c25347826 release: v1.7.1 - Windows 兼容性修复 + 超时优化 + MCP 功能增强
**核心修复**:
1. **Windows 兼容性**:
   - 修复 Windows Git Bash 的 heredoc + 后台进程语法错误
   - 改用 Claude Code 的 `run_in_background: true` 参数
   - 统一使用不同的 EOF 标记(EOF_CODEX, EOF_GEMINI)

2. **超时时间优化**:
   - 所有命令模板的 timeout 从 10 分钟提升到 1 小时(3600000ms)
   - 适配复杂任务、大型项目分析等耗时操作

3. **MCP 功能增强**:
   - 为所有开发指令添加 Prompt 增强和代码检索
   - backend/frontend:新增阶段 0(Prompt 增强)+ 阶段 1(代码检索)
   - feat:新增阶段 2.0(Prompt 增强)
   - debug/optimize/test:新增阶段 0(Prompt 增强)

**涉及文件**:
- templates/commands/workflow.md (Windows 兼容性 + 超时优化)
- templates/commands/analyze.md (Windows 兼容性 + 超时优化)
- templates/commands/debug.md (Windows 兼容性 + 超时优化 + Prompt 增强)
- templates/commands/optimize.md (Windows 兼容性 + 超时优化 + Prompt 增强)
- templates/commands/review.md (Windows 兼容性 + 超时优化)
- templates/commands/test.md (Windows 兼容性 + 超时优化 + Prompt 增强)
- templates/commands/backend.md (Prompt 增强 + 代码检索)
- templates/commands/frontend.md (Prompt 增强 + 代码检索)
- templates/commands/feat.md (Prompt 增强)
- skills-v2/CLAUDE.md
- package.json (v1.7.0 → v1.7.1)

**用户价值**:
- ✅ Windows 用户可正常使用多模型并行工作流
- ⏱️ 复杂任务不再因超时中断
- 🎯 更精准的需求理解和代码定位
- 🔄 统一的工作流体验
2026-01-08 16:48:49 +08:00
li ea9f436ef4 fix: Windows 兼容性 - 改用 run_in_background 参数 (v1.7.1)
**问题**:
- Windows Git Bash 不支持 heredoc + `&` 后台进程语法
- 用户在调用 workflow 时触发语法错误

**修复**:
- 所有命令模板改用 Bash 工具的 `run_in_background: true` 参数
- 统一使用不同的 EOF 标记(EOF_CODEX, EOF_GEMINI)避免冲突
- 更新关键规则说明,移除 shell `&` 符号的说明

**影响范围**:
- templates/commands/workflow.md
- templates/commands/analyze.md
- templates/commands/debug.md
- templates/commands/optimize.md
- templates/commands/review.md
- templates/commands/test.md
- skills-v2/CLAUDE.md
- package.json (v1.7.0 → v1.7.1)

**测试验证**:
- macOS 现有功能不受影响
- Windows Git Bash 语法错误已解决
2026-01-08 16:26:28 +08:00
li 3f6fa128cb release: v1.7.0 - 大幅简化安装流程,固定模型路由
主要变更:
- 🎯 简化安装流程:只需配置 MCP(可选),无需选择语言/模型/命令
- 🔧 固定模型路由:Gemini (前端) + Codex (后端)
- ✂️ 精简命令:从 17 个减少到 14 个
  - 删除 think(与 analyze 重叠)
  - 删除 bugfix(与 debug 重叠)
  - 删除 code(被 workflow 覆盖)
  - 删除 enhance(集成到 workflow)
- 📝 重写所有命令模板:统一 [模式:X] 标签系统,精简到 100-140 行
- 📦 新增平台支持:Linux ARM64 + Windows ARM64
2026-01-07 23:59:27 +08:00
li 8c0fd802c1 docs: 重写 README 并添加 NPM 发布流程到 CLAUDE.md
- 重写 README.md(591 行 → 406 行,精简 31%)
  - 删除过时的 v1.6.0 改进、Windows MCP 修复内容
  - 删除不准确的 Codex/Gemini GitHub 链接
  - 优化结构,突出核心命令(3 个)
  - 修正错误命令 `npx ccg config mcp` → `npx ccg-workflow`

- 添加 NPM 发布流程到 CLAUDE.md
  - 前置要求(npm 账户、token 配置)
  - 4 步发布流程
  - 验证命令和注意事项

- 删除其他项目的 CLAUDE.md(skills、myclaude、zcf)
  - 仅保留 skills-v2 项目文档
2026-01-07 14:12:48 +08:00
li a2df905002 perf: 优化 dev 阶段 2,硬编码 codex/gemini 减少 token 消耗
- 阶段 2 从调用 4 个模型减少到 2 个(codex + gemini)
- 删除动态获取模型的 jq 逻辑,直接硬编码
- dev.md 从 6.8kB 优化到 6.3kB(节省 500 字节)
- 避免不必要的重复调用(所有模型都使用 analyzer.md)
2026-01-07 13:34:37 +08:00
li 5857150ceb refactor: 统一使用 ace-tool MCP,移除 auggie 动态替换 (v1.6.0)
主要变更:
- 移除 installer.ts 中的 MCP 工具名动态注入逻辑
- 更新 15 个模板文件,硬编码使用 ace-tool MCP 工具
- 统一参数规范:search_context 和 enhance_prompt
- 更新 memorys/CLAUDE.md 核心指令
- 简化配置流程,减少 50% 配置复杂度

详细说明见 CHANGELOG.md
2026-01-07 11:29:51 +08:00
li 23e2351218 fix: 修复多模型并行调用提示词矛盾描述 (v1.5.1)
**问题**:
- templates/commands/dev.md 阶段2/3/5 存在矛盾描述
  - 开头简化描述:"前端分析: gemini, 后端分析: codex"
  - 后面遍历逻辑:"遍历 {{BACKEND_MODELS}} 和 {{FRONTEND_MODELS}}"
  - 导致 Claude 执行时只调用 2 个模型而非 4 个

- templates/commands/review.md Step 2 存在类似问题

**修复**:
1. dev.md: 删除误导性简化描述,统一为"遍历模型列表"逻辑
   - 阶段2: 明确"总共并行调用次数 = 后端模型数 + 前端模型数"
   - 阶段3: 同上
   - 阶段5: 明确"总共并行调用次数 = 审查模型数"

2. review.md: 删除误导性示例代码块,统一为"遍历 {{REVIEW_MODELS}}"

**影响**:
- 修复后 /ccg:dev 会正确并行调用所有配置的模型(例如 4 次而非 2 次)
- 修复后 /ccg:review 会正确遍历所有审查模型
- 其他命令(code/feat/analyze 等)无需修改

**修改文件**:
- templates/commands/dev.md
- templates/commands/review.md
- package.json (1.5.0 → 1.5.1)
2026-01-07 00:47:47 +08:00
li 49ff8a53ca feat: 完善动态配置注入系统,支持多模型配置 (v1.5.0)
## 核心改进

### 1. 动态配置注入系统
- 移除所有运行时配置读取逻辑
- 安装时将所有配置注入到命令模板
- 支持 MCP 工具、模型列表、路径的完整注入
- 自动替换 ~ 为绝对路径(修复 Windows 多用户问题)

### 2. 多模型配置支持
- 后端/前端模型:支持配置 1-3 个模型
- 使用 MODELS 变量(数组)进行遍历
- 使用 PRIMARY 变量(单个)作为主模型
- dev/review/analyze 命令并行调用所有模型
- backend/frontend/code 命令使用主模型

### 3. 模板优化
- 删除所有"读取配置"、"根据配置"的说明
- 删除冗余的配置展示章节
- 精简 feat.md(741行 → 356行,减少52%)
- 删除 scan.md(功能与 MCP 重复)
- 统一使用简洁的执行指令

### 4. 变量注入完善
**MCP 工具**:
- {{MCP_SEARCH_TOOL}} → mcp__ace-tool__search_context 或 mcp__auggie-mcp__codebase-retrieval
- {{MCP_ENHANCE_TOOL}} → mcp__ace-tool__enhance_prompt 或 mcp__auggie-mcp__enhance_prompt
- {{MCP_SEARCH_PARAM}} → query 或 information_request

**模型配置**:
- {{BACKEND_MODELS}} → ["codex", "gemini", "claude"]
- {{BACKEND_PRIMARY}} → "codex"
- {{FRONTEND_MODELS}} → ["gemini", "codex", "claude"]
- {{FRONTEND_PRIMARY}} → "gemini"
- {{REVIEW_MODELS}} → ["codex", "gemini", "claude"]

**路径替换**:
- ~/.claude/.ccg/prompts/{{BACKEND_PRIMARY}}/analyzer.md
- 安装后自动替换为绝对路径

### 5. 配置文件更新
- 新增 auggie MCP 的 enhance_prompt 工具
- 统一配置文件路径:~/.claude/.ccg/config.toml
- Prompts 路径:~/.claude/.ccg/prompts/{codex,gemini,claude}/

## 修改文件

**核心逻辑**:
- src/utils/installer.ts: 完善 injectConfigVariables()
- src/commands/init.ts: 传递完整 routing 配置
- src/commands/update.ts: 保留用户配置
- src/utils/config.ts: 添加 auggie enhance_prompt 工具

**命令模板**(18个):
- templates/commands/dev.md: 多模型遍历逻辑
- templates/commands/review.md: 遍历审查模型
- templates/commands/analyze.md: 合并前后端模型
- templates/commands/feat.md: 精简 52%
- templates/commands/{backend,frontend,code,debug,test,bugfix,optimize,think}.md
- templates/commands/agents/{planner,ui-ux-designer}.md
- templates/commands/scan.md: 删除(冗余)

## 破坏性变更

无。所有变更向后兼容,已安装的用户运行 `npx ccg-workflow update` 即可升级。

## 测试通过

- ✅ TypeScript 类型检查
- ✅ 本地安装测试(所有模板正确注入)
- ✅ MCP 工具注入(ace-tool 和 auggie)
- ✅ 多模型配置(3个后端 + 3个前端 + 3个审查)
- ✅ 路径替换(~ → 绝对路径)
- ✅ Prompts 安装(codex/gemini/claude 各6个角色)
2026-01-06 22:54:25 +08:00
li 69f07ee850 fix: readme文档不准确 2026-01-06 20:37:53 +08:00
li e3511ffc17 fix: 修复 Windows 多用户路径问题 (v1.4.4)
**问题**:
- Windows 下 Administrator 安装后,普通用户(li、yao)无法使用命令
- 模板中硬编码 `~/.claude/.ccg/...` 导致路径解析到错误用户目录

**解决方案**:
- 安装时固化绝对路径:将 `~` 替换为当前用户的 homedir()
- 新增 replaceHomePathsInTemplate() 函数
- 修改所有模板安装逻辑(commands/agents/prompts/shared-config)

**影响**:
- 每个 Windows 用户需要独立运行 `npx ccg init`
- 每个用户拥有独立配置和路径,互不干扰

修改文件:
- src/utils/installer.ts
- CHANGELOG.md
- package.json (1.4.3 → 1.4.4)
2026-01-06 19:56:27 +08:00
li 9c7e629588 fix: 修复默认语言为中文 (v1.4.3)
- 修改 CLI 默认语言从 en 改为 zh-CN
- 确保新用户安装时默认显示中文界面
- 与 v1.3.5 CHANGELOG 中的说明保持一致
2026-01-06 16:20:25 +08:00
li fa23306653 docs: 重写 README 突出 v1.4.2 Windows MCP 自动修复
- 突出 Windows MCP 自动修复功能(核心改进)
- 添加诊断工具说明 (npx ccg diagnose-mcp / fix-mcp)
- 更新版本信息到 v1.4.2
- 简化文档结构,提升可读性
- 在致谢中感谢 ZCF 项目的 MCP 跨平台逻辑
- 更新目录结构说明(v1.4.0+ 新位置)
2026-01-06 16:02:24 +08:00
li bca0d444be feat: 添加跨平台 MCP 配置自动修复功能 (v1.4.2)
从 ZCF 项目移植完整的跨平台 MCP 配置逻辑,彻底解决 Windows 用户 MCP 安装问题。

新增功能:
- 自动 Windows 命令包装 (cmd /c npx ...)
- MCP 配置自动备份 (~/.claude/backup/)
- 新增 `npx ccg diagnose-mcp` 诊断工具
- 新增 `npx ccg fix-mcp` 修复工具 (Windows)

新增文件:
- src/utils/platform.ts - 跨平台检测和命令包装
- src/utils/mcp.ts - MCP 配置管理和自动修复
- src/commands/diagnose-mcp.ts - MCP 诊断命令

优化内容:
- installAceTool() - 使用 buildMcpServerConfig() 和 fixWindowsMcpConfig()
- uninstallAceTool() - 添加自动备份功能
- 所有 MCP 配置操作支持自动备份和 Windows 兼容性

技术细节:
Windows 命令自动包装: npx → cmd /c npx
用户无需手动设置环境变量或修改配置
安装时自动应用,无需额外操作

升级说明:
- 新用户: npx ccg-workflow@latest init
- Windows 现有用户: npx ccg fix-mcp
- 验证配置: npx ccg diagnose-mcp
2026-01-06 15:57:16 +08:00
li d25b0ea4dd chore: 删除历史遗留文件
- 删除已弃用的 install.py(已被 TypeScript 版本替代)
- 删除旧的 commands/ccg/ 目录(已被 templates/commands/ 替代)
- 清理项目结构,提升可读性
2026-01-06 15:29:00 +08:00
li 5c3e8b6e60 fix: 修复命令模板中的路径引用问题 (v1.4.1)
v1.4.0 迁移了目录结构,但命令模板中的路径引用未同步更新。

修复内容:
- 提示词路径:~/.claude/prompts/ccg/ → ~/.claude/.ccg/prompts/
- 配置文件路径:~/.ccg/config.toml → ~/.claude/.ccg/config.toml

修复文件:
- templates/commands/*.md (12个命令)
- templates/config/shared-config.md (共享配置)
2026-01-06 15:26:03 +08:00
li c9f0ea79d2 feat!: 目录结构重构 v1.4.0
BREAKING CHANGE: 统一配置目录到 ~/.claude/.ccg/

变更详情:
1. 配置目录:~/.ccg/ → ~/.claude/.ccg/
2. Prompts 目录:~/.claude/prompts/ccg/ → ~/.claude/.ccg/prompts/
3. 共享配置:_config.md → shared-config.md

新增功能:
- 自动迁移脚本(src/utils/migration.ts)
- 运行 init 时自动检测并迁移旧配置
- 显示详细迁移报告

最终目录结构:
~/.claude/
├── commands/ccg/      # CC 读取的 slash commands
├── agents/ccg/        # CC 读取的 subagents
├── bin/               # 二进制文件
└── .ccg/              # CCG 配置目录
    ├── config.toml
    ├── shared-config.md
    ├── backup/
    └── prompts/

优势:
- 更清晰的目录组织
- 减少 ~/.claude/ 顶层污染
- 避免 _config.md 被 CC 误识别
- 符合社区最佳实践

修改文件:
- package.json (1.3.7 → 1.4.0)
- src/utils/config.ts (配置路径)
- src/utils/installer.ts (安装路径)
- src/utils/migration.ts (新增)
- src/commands/init.ts (集成迁移)
- src/index.ts (导出迁移函数)
- templates/ (重组目录)
- CHANGELOG.md (详细升级指南)
2026-01-06 15:16:40 +08:00
li 2de3ad32a2 fix: 修复 ace-tool MCP 配置和 subagents 路径问题 (v1.3.7)
修复 1: ace-tool MCP 配置兼容性
- 改用参数传递模式(--base-url, --token)替代环境变量
- 修复代码准备了参数数组但未使用的问题
- 提高兼容性,不依赖 ace-tool 的环境变量支持

修复 2: Subagents 安装路径修正
- 从 ~/.claude/commands/ccg/agents/ 修正为 ~/.claude/agents/ccg/
- 确保 Claude Code 可以正确识别 subagents
- 更新 TypeScript 和 Python 安装器

修改文件:
- src/utils/installer.ts (installAceTool + agents 路径)
- config.json (添加 agents 安装配置)
- package.json (版本号 1.3.6 → 1.3.7)
- CHANGELOG.md (添加详细更新日志)
2026-01-06 15:07:29 +08:00
li d15d550173 fix: 修复 Codex API 客户端认证问题 (v1.3.6)
- 添加 CODEX_DISABLE_SKIP_GIT_CHECK 环境变量开关
- 允许用户禁用 --skip-git-repo-check 参数解决 403 认证错误
- 更新所有平台二进制文件 (darwin-amd64/arm64, linux-amd64, windows-amd64)
- 在 README 添加完整的 Codex 认证问题故障排除指南

修复问题:
- 部分用户使用 codeagent-wrapper 调用 Codex 时报错 "Client not allowed"
- 直接调用 codex CLI 正常,但通过 wrapper 调用失败
- 原因: --skip-git-repo-check 参数触发不同的认证逻辑

解决方案:
- 设置 export CODEX_DISABLE_SKIP_GIT_CHECK=true 即可解决
- 默认行为保持不变,向后兼容

相关文件:
- codeagent-wrapper/executor.go (添加环境变量检查)
- bin/codeagent-wrapper-* (重新编译所有平台)
- README.md (添加故障排除文档)
- package.json (版本 1.3.5 → 1.3.6)
2026-01-05 21:33:14 +08:00
li 7953fc5432 docs: 优化 README 版本历史折叠显示
- 将 v1.3.0 独立折叠,与最新版本分离
- 创建统一的历史版本折叠区域(v1.0.0 - v1.2.3)
- 简化历史版本描述,删除 emoji 和冗余细节
- 添加 CHANGELOG.md 完整记录链接

改进了文档的可读性和信息层次结构。
2026-01-05 21:15:32 +08:00
li d32d878e1a docs: 更新常见问题链接为社区帖子
变更:
- 将 POST_DRAFT.md 引用改为 linux.do 社区讨论帖链接
- 添加 GitHub Issues 链接作为问题反馈渠道

链接:
- linux.do: https://linux.do/t/topic/1405588
- GitHub Issues: https://github.com/fengshao1227/ccg-workflow/issues
2026-01-05 21:08:14 +08:00
li 836a80d908 docs: 更新 README.md 到 v1.3.5
变更:
- 更新最新版本信息为 v1.3.5
- 添加 v1.3.5(MCP 工具选择功能)更新说明
- 添加 v1.3.4(默认中文界面)更新说明
- v1.3.3 移入折叠区域

功能亮点:
- v1.3.5: MCP 工具选择菜单(ace-tool / auggie / 跳过)
- v1.3.4: 修复默认语言为英文的问题
2026-01-05 21:04:19 +08:00
li 85c99d714f feat: 添加 MCP 工具选择功能 v1.3.5
变更:
- src/commands/init.ts:
  - 添加 MCP 工具选择菜单(ace-tool / auggie / 跳过)
  - ace-tool:推荐选项,开箱即用
  - auggie:官方版本,提示需额外配置 Prompt 增强
  - 跳过:允许用户稍后手动配置
- src/utils/config.ts:
  - createDefaultConfig 添加 mcpProvider 参数
  - 根据用户选择保存到配置文件
- package.json: 版本号 1.3.4 → 1.3.5

问题:
- 用户反馈之前改了可以选择 MCP,但现在还是直接问 ace-tool 配置

解决方案:
- 在工作流选择后增加 MCP 工具选择步骤
- 只有选择 ace-tool 时才会要求输入 baseUrl 和 token
- 选择 auggie 时提示配置教程链接
- 选择跳过时提示可稍后手动配置
2026-01-05 21:00:22 +08:00
li d8a3ee2bfd fix: 修复默认语言为英文的问题 v1.3.4
变更:
- src/i18n/index.ts: initI18n 默认语言从 'en' 改为 'zh-CN'
- package.json: 版本号 1.3.3 → 1.3.4
- src/utils/config.ts: 配置版本号更新到 1.3.4
- README.md: 添加 Codex CLI 和 Gemini CLI 徽章
- POST_DRAFT.md: 添加 Codex CLI 和 Gemini CLI 徽章,修正命令分类

问题:
- 用户反馈 npx ccg-workflow 默认显示英文界面
- 中文用户需要手动选择语言

解决方案:
- 将默认语言改为中文 (zh-CN)
- fallbackLng 保持英文,确保翻译缺失时有回退
2026-01-05 20:54:47 +08:00
li 26fb88f3b5 fix: 修复 Windows PATH 配置安全问题 v1.3.3
问题:
- Windows 使用 setx 配置 PATH 有 1024 字符限制
- 超长 PATH 会被截断,导致数据丢失
- 社区用户反馈中招过

修复:
- ✅ src/commands/init.ts: 改用安全追加方法
  - 使用 PowerShell GetEnvironmentVariable 先读取后追加
  - 支持最大 32767 字符(vs setx 的 1024)
  - 自动检测路径是否已存在(-notlike 判断)
  - 避免重复添加

新方法示例:
```powershell
$currentPath = [System.Environment]::GetEnvironmentVariable('PATH', 'User')
$newPath = 'C:\Users\xxx\.claude\bin'
if ($currentPath -notlike "*$newPath*") {
    [System.Environment]::SetEnvironmentVariable('PATH', "$currentPath;$newPath", 'User')
}
```

影响范围:
- 仅 Windows 用户
- 不影响 macOS/Linux 自动配置
- 向下兼容,不破坏现有配置

修改文件:
- src/commands/init.ts: Windows PATH 配置逻辑
- package.json: 版本号 1.3.2 → 1.3.3
- src/utils/config.ts: 配置版本号 1.3.3
- README.md: 添加 v1.3.3 更新说明
- POST_DRAFT.md: 更新头部和尾部版本号
- CHANGELOG.md: 详细记录修复过程和代码对比
2026-01-05 20:27:57 +08:00
li b7e8cf0b6e docs: 添加 Q11 并完善常见问题部分
更新内容:
- ✅ POST_DRAFT.md: 添加 Q11(Codex 超时问题)并修复链接格式
- ✅ POST_DRAFT.md: 确保开头版本号为 v1.3.2
- ✅ README.md: 新增"常见问题"章节
  - Q11: Codex 超时问题及解决方案
  - 更新、MCP 选择、codeagent-wrapper 等常见问题
  - 引用 POST_DRAFT.md 获取完整 Q&A

Q11 详细内容:
- 问题: Codex 思考时间过长导致超时
- 解决方案: 引用 linux.do 社区讨论链接
- 优化建议: 拆分任务、调整配置、切换后端

修改文件:
- README.md: 新增"常见问题"章节(66 行)
- POST_DRAFT.md: 更新 Q11 格式和开头版本号
2026-01-05 20:22:15 +08:00
li eee626edce docs: 更新文档至 v1.3.2
更新内容:
- ✅ README.md: 添加 v1.3.2 bug 修复说明,折叠 v1.3.1 历史
- ✅ POST_DRAFT.md: 更新帖子头部和尾部版本号到 v1.3.2
- ✅ CHANGELOG.md: 详细记录 v1.3.2 修复内容
  - 问题描述
  - 修复的类型定义和配置生成逻辑
  - 生成的配置结构示例
  - 修复影响说明

修改文件:
- README.md
- POST_DRAFT.md
- CHANGELOG.md
2026-01-05 20:15:47 +08:00