cc-haha/release-notes/v0.5.13.md
2026-06-16 05:36:31 +08:00

6.1 KiB
Raw Blame History

v0.5.13

这一版两条主线:同步上游 NanmiCoder/cc-haha v0.4.239 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 durationtrickling 的 provider 不会无限挂着trace 里中断的请求显式记录而非幽灵 pendingnon-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#802extend local API timeout#773include more sidebar sessions#759route typed local html in browser panelstabilize live trace updatesallow 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/95chatStore 131/131settingsStore + WorkspacePanel 65/65。
  • v0.4.2 合并 PR#57CI 9/9 全绿change-policy / desktop / desktop-native / docs / server / adapter / coverage / pr-quality-gate / label-and-summarize

升级注意

  • provider revision 字段SavedProvider.revision 是 optionalproviders.json 无此字段视为 0首次 updateProvider 时自动 +1 补上 — 零破坏。
  • messageQueuequeuedUserMessages 双 queue 共存。HEAD 自有的 messageQueue + 上游的 queuedUserMessages 两个字段都保留 — 它们底层语义略有不同(前者是 streaming 中的 FIFO后者是 active-turn prompt queue未来某个版本会收敛但当前不冲突。
  • Solo Council fallback。纯显示层修复,不影响 agent 调度逻辑。
  • 暗色主题默认。仅影响全新安装;不喜欢可在设置中切回 white / light / system。