# v0.5.5 ## 新增 - **更多内置 Agent**。在 test-author / code-reviewer 之外,新增 debugger、security-reviewer、 refactor、migration、docs-writer、performance、commit-pr 等专职内置 Agent,覆盖调试、安全审查、 重构、迁移、文档、性能和提交/PR 等常见工作流。项目级 game-developer Agent(`.claude/agents/`) 覆盖 Unity/Unreal/Godot 与 Web 引擎,强制按已装引擎版本核对 API、优先查真实符号、API 不确定时查官方文档。 - **编辑框 + 菜单新增"技能 / 插件"入口**。点击后在编辑框上方弹出选择菜单(↑↓ 导航、Enter 选中、 Esc 关闭),选中即在光标处插入 `@skill:` / `@plugin:`,告诉 Agent 使用该技能/插件。 ## 修复 - **AskUserQuestion 弹窗不再无声消失**。当 AI 的提问卡片因回合结束(`message_complete` / `error`) 被清空且用户未作答时(常见于模型发出残缺的问题调用),聊天里会留下一条可见记录,而不是一闪而过。 - **"立即发送"不再打断当前回合**。队列里的"立即发送"改为直接发送该条消息,移除了之前强制 `stop_generation` 造成的 `Request was aborted` 与 `code 143` 重试循环。 - **"跟随系统"主题持久化**。重启后不再被服务端保存的具体主题覆盖,本地选择的 `system` 会被尊重。 - **Read 工具空 `pages` 容错**。`pages: ""` 视为读全文件,避免模型传空字符串触发的反复校验报错。 - **Fork 化指向**。仓库链接、检查更新源(electron-updater publish + Tauri 端点)改为指向本 fork `706412584/cc-haha`;设置→关于 新增"Fork 维护者"署名(706412584),原作者 NanmiCoder 署名与社交链接保留。 - **修复上下文压缩抖动/死循环**。此前自动压缩只对"压缩失败"做熔断,"压缩成功但结果仍超阈值"会被 当成成功并清零失败计数,导致每隔几句话就再压一次、空烧摘要 API。现在:(方案1) 压缩后若仍超阈值 记为"无效压缩"并计入熔断,连续若干次后停止自动压缩;(方案2) 一次压缩后的若干轮内不再主动压缩 (触及硬阻塞上限时除外,避免 prompt-too-long)。 - **修复压缩后上下文进度卡 100%**。设置/编辑框的上下文进度在压缩完成后会停在 ~100% 不回落,直到 下一轮对话。根因是 transcript 估算路径未切到压缩边界之后(把压缩前全部消息 + 摘要调用的巨大 input 都算进去)。现在估算只统计最近一次压缩边界之后的消息,压缩完成即正确回落。 ## 范围 - 桌面端:`desktop/src/stores/chatStore.ts`、`settingsStore.ts`、`components/chat/ChatInput.tsx`、 新增 `components/chat/SkillPickerMenu.tsx`、5 个 i18n locale。 - CLI/sidecar:`src/tools/AgentTool/`(新增内置 Agent + 注册)、`src/tools/FileReadTool/FileReadTool.ts`。 - 持久化 schema 未改动。 ## 验证 - `cd desktop && bun run lint`(tsc --noEmit)✅ - desktop Vitest:chatStore 99 passed(含 AskUserQuestion 丢弃提示、立即发送、队列用例)✅ - `bun test src/tools/AgentTool/builtInAgents.test.ts`(内置 Agent 注册)✅ - 本地 Windows x64 NSIS 打包 + package-smoke ✅