From b4e779f8a8746903e43cc89e5c9c71abf7451e0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=A0=E7=9A=84=E5=A7=93=E5=90=8D?= Date: Tue, 16 Jun 2026 05:36:31 +0800 Subject: [PATCH] release: v0.5.13 --- desktop/package.json | 2 +- release-notes/v0.5.13.md | 54 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 release-notes/v0.5.13.md diff --git a/desktop/package.json b/desktop/package.json index ad83b809..d6d83fb3 100644 --- a/desktop/package.json +++ b/desktop/package.json @@ -1,7 +1,7 @@ { "name": "claude-code-desktop", "private": true, - "version": "0.5.12", + "version": "0.5.13", "description": "Desktop coding agent workbench for Code Council.", "homepage": "https://github.com/706412584/cc-haha", "author": { diff --git a/release-notes/v0.5.13.md b/release-notes/v0.5.13.md new file mode 100644 index 00000000..7dea3065 --- /dev/null +++ b/release-notes/v0.5.13.md @@ -0,0 +1,54 @@ +# v0.5.13 + +> 这一版两条主线:**同步上游 NanmiCoder/cc-haha v0.4.2**(39 commits 的稳定性 / queue / cache 强化),以及 **Provider runtime 可靠性**(三条 staleness 路径修干净)。同时合并 Solo Council 卡片显示时序修复和 v0.5.12 的两个零散补丁。 + +## 新功能 + +### 同步上游 v0.4.2(#57) + +合并 NanmiCoder/cc-haha v0.4.2 主线,相比上一次同步多出 39 commits。重点能力: + +- **流式 provider 稳定性**(#766 一组 4 commits)。给整个流加上 cap duration,trickling 的 provider 不会无限挂着;trace 里中断的请求显式记录而非幽灵 pending;non-streaming fallback 在 chat status 显式告知;移除过激的"杀慢流"逻辑。 +- **Active-turn prompt 队列**(#755 一组 4 commits)。streaming 中输入的消息进队列;重连后队列消息不再被 replay 重发;guided queued prompts 立即可见;i18n 补 `pendingMessageGuide` / `Edit` / `Delete` / `EditInput` 等键。 +- **Providers 列表拖拽排序**(#753)。后端落 `providerOrder` 字段持久化 + `reorderProviders` API;前端拖拽用 `SortableProviderCard` + `dnd-kit`。 +- **OpenAI prompt cache 语义**(#789)。proxy 链路把 OpenAI 的 cache 标记正确转换为 Anthropic 的 `cache_control: { type: 'ephemeral' }`,让 OpenAI-compatible provider 也能用上提示缓存优化。 +- **H5 access 稳定化**(#767 / #764)。token、端口、后台会话三者状态收敛,关闭桌面后台会话不再丢 token / 端口冲突 / 状态 desync。 +- **Auto-dream**(#800)。后台 memory consolidation 设置项(默认关);启用后会在足够多 session 变化后定期合并 auto-memory。配套 confirm 弹窗明确告知"会跑后台 model 调用"。 +- **Activity 设置增加插件 / 技能用量洞察**(plugin and skill usage insights)。 +- **Compact 后立即恢复 context meter**(#743)+ session 增加 `compactCount` / `streamingResponseChars` 字段,UI 能展示 compact 次数与流式响应字节量。 +- **Token usage 显示统一**(#757)。desktop 与 CLI 的 token 计数对齐。 +- **Exit plan approvals 预览**(#793)+ Mermaid 标签在生成预览中正确渲染(#803)。 +- **桌面零碎修复**:Windows 设置面板 toggle 稳定性(#788 / #791)、文件路径展开(#776)、in-app browser 预览菜单(#761)、native window dragging 恢复(#770 / #796)、touch-H5 交互重构(#780)、修 Windows updater 与 installer flow(#801)、隐藏 Windows 子进程 console(#802)、`extend local API timeout`(#773)、`include more sidebar sessions`(#759)、`route typed local html in browser panel`、`stabilize live trace updates`、`allow mapped-drive workspaces in bypass mode`。 + +完整变更见 `release-notes/v0.4.2.md`。 + +## 改进 + +### Provider runtime 可靠性:三条 staleness 路径(#56) + +修了三条用户感受得到的"配置改了不生效 / 老 session 报错"路径: + +- **改 baseUrl / apiKey / apiFormat 不重启**。`SavedProvider.revision` 自增 + `RuntimeOverride.providerRevision` 快照比较:每次 `updateProvider` revision +1;下次 `set_runtime_config` 携带的 revision ≠ 运行中会话的快照 → short-circuit 失败 → 强制 CLI restart → 子进程拿到新的 `ANTHROPIC_BASE_URL` / `ANTHROPIC_AUTH_TOKEN` env。 +- **重命名 model 后 resume 旧会话报"model 不存在"**。`getRuntimeSettings` 加 stale-modelId guard:如果 persisted `runtimeOverride.modelId` 不在 provider 四个槽里(main / haiku / sonnet / opus),自动 fallback 到 `provider.models.main`,跟既有的 stale-providerId guard 对称。 +- **short-circuit 比较抽成 pure helper**。把四元组 + revision 的等值判定抽成 `runtimeOverridesMatch` 纯函数,加 10 个单测把行为锁死,未来再加字段忘记同步比较逻辑会立刻 fail。 + +## 修复 + +- **Solo Council 面板时序 bug**(#55)。agent 通过 `tool_use` 派遣后、`backgroundAgentTasks` store 尚未填充前,卡片错误显示"待命"并收起面板。新增第三层 fallback:扫描无对应 `tool_result` 的 pending `Agent` tool_use,合成 `displayStatus: 'running'` 行保持面板可见。优先级链:`backgroundAgentTasks (live)` > `background_task messages` > `pending Agent tool_use` > `standby placeholder`。 +- **WorkspaceService outside-workspace 测试隔离**。CI 上 `rejects until registered access root` 测试因 module-level `registeredRoots` 在跨 test file 间残留而失败:在 describe block 加 `beforeEach(clearFilesystemAccessRootsForTests)` 防御。 +- **桌面端默认暗色主题**(#53)。新安装用户默认主题从 `white` 改为 `dark`,已有偏好的老用户不受影响。`index.html` prepaint `data-theme` 同步改为 `dark`,消除首帧白闪。 +- **插件推荐目录扩展**(#54)。image-gen / reverse-engineering 这两个 cc-haha-builtin 插件进入 `PLUGIN_CATALOG` 推荐网格;`installCatalogPlugin` 对无 `marketplaceSource` 的内置条目校验 seed 已注册而非静默失败。 + +## 验证 + +- 桌面端 `tsc --noEmit` clean(合并产物 + 测试修复后)。 +- 桌面端测试 1789/1792 通过(3 个失败全部是 main pre-existing 的 electron/terminal Windows-only 问题,非本版回归)。 +- 服务端 providers 测试 95/95;chatStore 131/131;settingsStore + WorkspacePanel 65/65。 +- v0.4.2 合并 PR(#57)CI 9/9 全绿(change-policy / desktop / desktop-native / docs / server / adapter / coverage / pr-quality-gate / label-and-summarize)。 + +## 升级注意 + +- **provider revision 字段**。`SavedProvider.revision` 是 optional,旧 `providers.json` 无此字段视为 0,首次 `updateProvider` 时自动 +1 补上 — 零破坏。 +- **`messageQueue` 与 `queuedUserMessages` 双 queue 共存**。HEAD 自有的 `messageQueue` + 上游的 `queuedUserMessages` 两个字段都保留 — 它们底层语义略有不同(前者是 streaming 中的 FIFO,后者是 active-turn prompt queue),未来某个版本会收敛但当前不冲突。 +- **Solo Council fallback**。纯显示层修复,不影响 agent 调度逻辑。 +- **暗色主题默认**。仅影响全新安装;不喜欢可在设置中切回 white / light / system。