cc-haha/release-notes/v0.5.12.md
2026-06-16 00:50:56 +08:00

8.3 KiB
Raw Blame History

v0.5.12

这一版三条主线收尾:Solo 模式演进成 Solo CouncilA/B/C 三方案门控 + plan-critic 专家 + 评审面板 + 实施前审批)、Workspace LSP 链路全闭合agent 文件编辑桥 + 自动诊断同步 + 状态指示器接入工作区面板)、插件生态成形image-gen MCP 多 provider 图像生成 + 桌面插件可视化配置 + 内置 marketplace 随包发布 + 逆向工程 3 个验证过的 MCP server。同时品牌改名 Code Council,桌面端补了一批 UX/Polish/可靠性改动。

新功能

Solo CouncilPlan A/B/C + 评审面板 + 审批门控

  • A/B/C plan gate + plan-critic 专家#34。Solo 模式不再是单线流水线 — 进入 planner 阶段会 fan-out 三个候选方案 A / B / C由独立的 plan-critic 专家投票评分,把最优方案推回主线。
  • Council 评审面板。Solo Council 视图新增专属 panel展示各方案的合成与冲突 / blockersUI 视觉细节同步抛光。
  • 实施前必须审批。完成评审后会强制要求用户确认才能进入 builder 阶段,不会闷头开干。
  • Ctrl+B 侧栏 toggle + thinking block 默认折叠。多 panel 拥挤时一键收起侧栏;推理块默认折叠避免视觉噪音。
  • i18n 重命名。"Solo Pipeline" → "Solo"5 个 locale 同步composer toggle / chat header chip / 设置文案统一。

Workspace LSP 链路全闭合

  • Agent 文件编辑桥Phase 4#29。FileEditTool / FileWriteTool 写盘前后调 diagnosticTracker.beforeFileEdited 抓 baseline写完通知 LSP didChange + didSave,下一轮 user message 自动注入 <diagnostics> attachment 让 agent 看到错误。Bash-tool 缺失时跳过注入(子 agent 修不了的不发)。
  • 自动诊断同步commit d13f29e0。Workspace 编辑器在文件 open / change / save 时调 session LSP sync API服务端启动匹配的语言服务器并接收 textDocument/publishDiagnostics,按文件 URI 缓存 + 跨轮去重 + 严重度限流。
  • LspStatusIndicator 接入工作区面板#51。原本只有简陋的 LSP idle · N diagnostics 文本条,换成完整 indicatorspinner / 绿勾 / 红色错误计数 chip / Retry 按钮点击展开诊断下拉Enter 跳转文件。Retry 按钮直连 POST /api/sessions/:id/lsp/restart,自带形状适配 lspStateMap.tspure adapter + 8 单测)。
  • 可编辑文件预览。工作区面板的文件预览不再只读CodeMirror 6 ≈ 80 KB gz 接入语法高亮、行号、搜索、缩进引导,原子保存 + 冲突 banner。
  • 从历史恢复后台任务。会话重连后正在跑的 task 会被恢复,不会幽灵悬挂。

插件生态image-gen + 桌面配置 + Marketplace 随包

  • image-gen MCP 插件#49。多 provider 图像生成 MCP支持 Agnes / GPT-image-2 / DALL-E / Gemini image / Flux / Stable Diffusion 等 OpenAI 兼容 API。3 个可配置 provider 槽位按优先级 fallback每个 provider 内部支持完整参数 → 精简参数兼容重试;内置模型能力数据库供 agent 查询SSRF 防护(包括 IPv6 [::1] vs ::1 旁路)。
  • 桌面端插件可视化配置。新增 PluginConfigModal 组件,支持配置插件 userConfig 选项PluginDetail 详情页新增 Configure 按钮(仅当插件有 userConfig 时显示);新增 GET/POST /api/plugins/options API敏感值返回 ********
  • 聊天内图片渲染。Tool result 中的 MCP image content block{ type: 'image', data, mimeType })现在在聊天 UI 中渲染为内联图片,同时支持 OpenAI-style image_url block。
  • Marketplace 随 Electron 包发布#50。新增 desktop/scripts/build-plugin-seed.ts,把 plugins/ 复制到 desktop/plugin-seed/marketplaces/cc-haha-builtin/ 并打进 asarsidecar 通过 CLAUDE_CODE_PLUGIN_SEED_DIR env 在启动时 registerSeedMarketplaces 注入CLI 端早就支持但桌面端从没接通 — 现在装完就能在设置-插件里直接看到 image-gen / reverse-engineering 等内置插件。
  • 一键 Language Server / MCP 安装。Settings → Plugins 新增"Install all"面板,单个 manager 失败时按平台 fallthroughwinget → scoop → choco / brew → port / apt → dnf → pacman不会一个 dependency 卡住后续全部。MCP marketplace 现在尊重 installed state 与 required env。
  • Reverse-engineering 插件 v0.4.6#32 / #33
    • 从 7 → 3 个 live-smoked MCP serverapktool / lldb / radare2 / jadx 上游不可用frida 换成 PyPI 的 frida-mcp)。新增 scripts/smoke-reverse-engineering-mcps.ts 走 NDJSON 框架做端到端验证。
    • 新增 apk-hardening skill~430 行APKiD 识别 + 8 个加固家族路由360 / Tencent Legu / Bangcle / Naga / Ijiami / 阿里聚安全 / Baidu / Flutter / Unity IL2CPP / RN+ 每工具 playbookFRIDA-DEXDump / FART / Unidbg / Blutter
    • triage / apk-analysis / frida-dynamic / lldb-debug 改用 Bash 直接驱动 CLI不再假设 MCP 存在。

品牌Code Council

  • 桌面应用可见品牌从 "Claude Code Haha" 更新为 Code Council。About 页 / 窗口标题 / 安装包 productName 全部一致。

改进

  • Phase 1 UX quick wins + Sidebar refactor。聊天 UI 视觉抛光,侧栏结构重写降耦合。
  • TabBar 不再挤压窗口控件。修复 macOS / Windows 上 tab 多时 close/min/max 按钮被推出可视区。
  • 本地图片附件预览。聊天输入区附加图片时立即显示缩略图,不必等上传。
  • 品牌重命名后的 CI 修复。symlink test + brand-aware fixtures 同步更新。

修复

  • 修 Windows 上"用 VS Code 打开"启动后无窗口#52defaultLaunch 之前对 IDE 也设了 windowsHide: trueWindows 把 STARTUPINFO.wShowWindow=SW_HIDE 当成传给 ShowWindow() 的初始 nCmdShow — 进程在任务管理器跑但主窗口被立刻隐藏。删掉这个 flagcmd flash 极短可接受。回归测试 getDefaultLaunchSpawnOptions 锁定 spawn 选项形状。
  • Compact 从 prompt-too-long 错误恢复。当 API 因上下文超长拒绝时compact 流程自动触发并重试,不再卡死。
  • Text-only assistant 消息也发进度。修复某些 provider 只回文本不调工具时进度条停在最早状态。
  • 聊天用户回合前重新同步 runtime mode。修复模式切换后第一条消息有时仍带旧 mode flag。
  • About 页产品名修复
  • TabBar 不再吃掉 macOS 红绿灯按钮的 hit area
  • 修复 image-gen IPv6 SSRF bypass[::1] vs ::1 区分)。
  • 修复自定义 LSP server 被内置 preset 抢占同扩展名
  • 修复桌面设置中的自定义 LSP 配置未进入 Workspace LSP 产品链路

验证

  • 服务端open-target 测试 32/32含 4 条 spawn 选项回归、conversations/Solo 3/3、soloPipelinePrompt 11/11、soloSuggestions.i18n 2/2、provider fetchUpstreamModels 5/5、seed-marketplaces-startup 4/4。
  • 桌面:bun run linttsc --noEmitclean、storeschatStore / sessionRuntimeStore / workspacePanelStore / openTargetStore全套通过、componentsWorkspaceEditor / LspStatusIndicator / WorkspacePanel全套通过、src/lib/lspStateMap.test.ts 8/8。
  • AgentTool / coordinatortaskSpecQuality 18/18、lazyDelegationCheck 全套、workerContinueAdvisor 全套。
  • Reverse-engineeringscripts/smoke-reverse-engineering-mcps.ts 全 3 server live-init 通过ghidra / semgrep / frida-mcp

升级注意

  • 零破坏。Solo Council 默认关,需要在 + 菜单显式打开 toggle。LSP 反馈在 feature('LSP_FOUNDATION') flag 下,没装语言服务器的用户透明降级为 unavailable。
  • 桌面包内置 marketplace。安装 v0.5.12 后第一次启动,设置-插件页就能看到 cc-haha-builtin 里的 image-gen / reverse-engineering / plugin-power 等内置插件,不需要手动添加 marketplace。
  • 品牌改名app 名变成 Code Councilinstaller 文件名 Claude-Code-Haha-${version}-${os}-${arch}.${ext} 仍保持兼容性(不影响升级)。
  • Windows 用户v0.5.11 之前从右上角 "Open in VS Code/Cursor" 启动后看不到窗口的问题修了,无需手动找 Code.exe。
  • 逆向插件v0.4.6 用了 PyPI 的 frida-mcp,需要 uvxuv 0.5+)。安装方式见 plugins/reverse-engineering/README.md