mirror of
https://github.com/NanmiCoder/cc-haha
synced 2026-07-27 15:13:37 +08:00
55 lines
6.1 KiB
Markdown
55 lines
6.1 KiB
Markdown
# 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。
|