mirror of
https://github.com/NanmiCoder/cc-haha
synced 2026-07-16 13:03:31 +08:00
Tested: bun run scripts/release.ts 0.4.4 --dry Tested: bun run verify (artifacts/quality-runs/2026-07-01T12-34-24-275Z/report.md) Confidence: high Scope-risk: broad
10 KiB
10 KiB
Claude Code Haha v0.4.4
这是 v0.4.3 之后的稳定性和桌面体验补丁版本,重点修复后台任务、Goal 续跑、预热启动、provider/proxy、Trace、设置隐私、浏览器预览和 Windows 窗口行为中的真实使用问题。
相比 v0.4.3,本版本让后台 Agent 任务在前台回答结束后仍可见,减少任务通知回灌到模型或桌面 transcript 的噪音;同时修复 session 预热竞争、历史会话误预热、CLI-only provider proxy、loopback proxy、MCP secret 展示、Trace 删除和 provider 预设更新等问题。
Highlights
- 后台任务和 Goal 续跑更可靠:后台任务在前台 turn 完成后继续显示,并进入更清晰的 background task drawer;Goal 自动续跑会插入可见分隔标记,避免多个 assistant turn 混在一起;task-notification-only follow-up 不再污染桌面 transcript。
- 启动、预热和会话刷新更稳:修复
prewarm_session与user_message几乎同时到达时 idle timer 杀掉活跃 CLI 的竞争;查看历史会话不会触发预热;Electron sidecar 会等/health真正可用后再继续;session list summary 加缓存,降低大历史列表刷新超时概率。 - Provider/proxy 链路更兼容:CLI-only OpenAI-compatible provider 会启动轻量 standalone provider proxy,不再依赖固定 localhost server;loopback provider target 会绕过系统代理和 Bun proxy fetch options;provider connectivity check 覆盖 IPv4/IPv6 loopback;直连 provider trace 会正确记录脱敏 headers。
- 桌面工作流细节补齐:Settings tab、provider 表单保存、空会话 composer draft、active turn 计时、cache token usage、长标题 tooltip、手动刷新按钮、浏览器预览导航和 preview-agent edit bubble 都更稳定。
- 设置和诊断更安全:MCP 设置页会遮蔽敏感 command args、env 和 headers,同时保存时保留原始值;MCP server name 支持 Unicode 字母和数字;Trace 列表新增本地 trace session 删除,并明确不会删除聊天历史。
Fixes
- 修复 session 预热 idle timer 在 CLI 启动盲窗内杀掉活跃用户 turn,导致桌面一直卡在“执行中”的问题 (#865)。
- 修复查看历史 transcript 时误触发 CLI prewarm,只加载历史不再启动新 CLI (#880)。
- 修复首次 onboarding 期间启动前预检 Anthropic/OAuth endpoint,导致未登录或未发起模型请求前就访问外部服务的问题 (#859)。
- 修复停止或中断后可能出现
API Error: Stream ended without receiving any events的处理路径。 - 修复 scheduled task 超时、scheduled subprocess 权限参数、title generation auth、并行 tool card settlement 的一组问题 (#809, #846, #847, #854, #889)。
- 修复 provider 表单保存中的取消/重复提交竞态、Settings tab 返回后丢失,以及切换项目时空会话 composer draft 丢失 (#810, #811, #871)。
- 修复同一 session 打开新的 native browser preview target 时 WebContentsView 停留在旧文件,以及 preview-agent edit bubble 在低位置选区时超出视口的问题 (#819, #879)。
- 修复 active turn duration 计时丢失、完成后轻量 duration 行显示不稳定,以及 queued follow-up 与完成状态行位置冲突的问题 (#813, #853)。
- 修复 CLI-only OpenAI-compatible desktop provider 依赖固定本地 server proxy 的问题,并修复代理环境下 loopback provider target/connectivity check 被错误走代理的问题 (#845, #896)。
- 修复后台 sync Agent 工具活动没有走统一 parent-tagged 事件、incomplete tool-use stream 缺少 fallback,以及结构化本地 Agent terminal notification 回灌模型的问题 (#870, #884, #886)。
- 修复 EnterPlanMode 暴露模型内部指令、ExitPlanMode rejected tool card 显示空计划卡,以及 Windows frameless 窗口首次显示后拖拽命中区不刷新的问题 (#869, #874)。
- 修复桌面 session 列表手动刷新可能被后台 pending fetch 长时间禁用或显示 spinner 的问题 (#893)。
- 修复粘贴图片 FileReader 延迟回调在发送或切换 session 后重新污染输入框的问题 (#827)。
- 修复 Electron sidecar 只等 TCP accept、不等 HTTP
/healthok 就继续启动的问题 (#857)。 - 修复 OpenAI-compatible sampling params 默认透传过多,以及 GLM-5.2 context metadata 缺失的问题 (#860)。
- 修复长 sidebar title 没有完整 tooltip 的问题 (#885)。
- 修复 MCP server name 只能使用 ASCII 名称的问题,现在支持 Unicode 字母和数字,同时继续拒绝空格和分隔符。
- 修复 MCP 设置页可见 UI/input 中泄露敏感 args、env 和 headers 的问题。
- 修复 direct provider trace 从
Requestinput 传入 headers 时没有持久化脱敏 headers 的问题 (#836)。 - 修复 live session header 没有计入 cache read/write tokens 的问题 (#842)。
- 修复 Goal hook evaluator 抛错时被当作非阻塞 hook error,导致 goal loop 提前停下的问题。
- 修复 Goal hook 的
preventContinuation和blockingError分开返回时被误判为普通停止,导致 goal 中途停止的问题 (#895)。 - 修复 Goal continuation turn 在 session history 和桌面恢复中没有明确视觉分隔的问题 (#901)。
- 修复国内 provider 预设、model context window 和 thinking capability 声明落后的问题。
Features and Improvements
- Trace 列表新增删除入口,支持幂等删除本地 trace JSONL,并清理 trace read cache;确认弹窗会说明聊天历史不会被删除 (#868)。
- 背景任务展示升级为官方风格 background task drawer,前台完成后仍保留任务进度,恢复后的 Agent 不会因为清理旧完成项而消失。
- Goal 自动续跑新增
Goal continuing本地命令分隔标记,并贯穿 server events、session history 和 desktop history restore。 - Provider settings JSON 导入支持 cc-switch 风格模型配置:从
ANTHROPIC_MODEL或 Sonnet fallback 推导 main model,把*_MODEL_NAME作为显示标签处理。 - Provider 预设更新国内模型和 context window 声明,补齐相关 runtime/env、thinking 和 conversation-service 测试覆盖。
- Session list summary 按 JSONL 文件 mtime/size 缓存,降低大历史目录下
/api/sessions?limit=400的重复扫描成本 (#894)。
Issue 对照
- #809 / #846:修复 scheduled task timeout 配置和调度启动行为。
- #810:修复 provider 表单保存过程中的取消和重复提交问题。
- #811:修复 Settings tab 返回后丢失当前页签。
- #813 / #853:修复 active turn duration 和完成状态展示。
- #819 / #879:修复 native browser preview 导航和 preview-agent edit bubble 位置。
- #827:修复发送后延迟粘贴图片回到 composer。
- #836:修复 OpenAI proxy/direct provider trace request headers 记录。
- #842:修复 live session cache token usage 展示。
- #845:修复 CLI-only OpenAI-compatible provider proxy。
- #847:修复 scheduled task subprocess 权限参数。
- #854:修复 title generation auth strategy。
- #857:修复 Electron sidecar readiness 判断。
- #859:修复 onboarding 前 Anthropic/OAuth preflight。
- #860:修复 OpenAI-compatible sampling params 和 GLM-5.2 context metadata。
- #865:修复 prewarm idle timer 与 user message 竞争。
- #868:新增 Trace session 删除。
- #869:优化 plan mode 桌面展示,并隐藏空 rejected plan preview。
- #870 / #884 / #886:修复后台 Agent continuation、stream fallback 和任务通知回灌。
- #871:修复空会话 composer draft 在项目切换后丢失。
- #874:修复 Windows frameless 窗口拖拽命中区。
- #880:修复查看历史会话误预热。
- #885:修复长 session title 缺少完整 tooltip。
- #889:修复 unresolved parallel tool card settlement。
- #893:修复 session list 手动刷新按钮卡住。
- #894:缓存 session list summaries,降低刷新超时风险。
- #895:修复 Goal 中途停止。
- #896:修复 loopback provider proxy bypass 和 provider connectivity check。
- #901:Goal continuation turn 增加桌面可见分隔。
Notes
- GitHub Release 正文继续以
release-notes/v0.4.4.md作为来源。 - 桌面端发布版本号来源是
desktop/package.json;rootpackage.json仍保留本地开发用的999.0.0-local。发布时需确保desktop/package.json、Git tagv0.4.4和release-notes/v0.4.4.md三者严格对齐。 - 本版本覆盖 desktop、server、provider/runtime、agent-loop 和 native 多个表面;发布前建议至少跑
bun run scripts/release.ts 0.4.4 --dry和bun run verify,并在有真实 provider 配额时跑bun run quality:gate --mode release --allow-live --provider-model <provider:model[:label]>。 - 建议发布前额外 smoke:后台 Agent task drawer、Goal 自动续跑、task notification 输出抑制、历史会话打开、空会话切项目、provider connectivity check、loopback provider、Trace 删除、MCP secrets redaction、native browser preview、Windows frameless 拖拽、macOS 签名 DMG 首次打开和自动更新 metadata。
- 如果需要先验证全平台签名/公证产物,可以手动触发
Release Desktopworkflow 并保持draft=true;正式发布仍以v0.4.4tag 对应提交和 GitHub Actions 产物为准。
安装
到本页面底部的 Assets 里,按系统和 CPU 架构下载对应文件:
| 平台 | 文件 |
|---|---|
| macOS Apple Silicon(M 系列) | Claude-Code-Haha-0.4.4-mac-arm64.dmg |
| macOS Intel | Claude-Code-Haha-0.4.4-mac-x64.dmg |
| Windows x64 | Claude-Code-Haha-0.4.4-win-x64.exe |
| Linux x64 | Claude-Code-Haha-0.4.4-linux-x86_64.AppImage 或 Claude-Code-Haha-0.4.4-linux-amd64.deb |
| Linux ARM64 | Claude-Code-Haha-0.4.4-linux-arm64.AppImage 或 Claude-Code-Haha-0.4.4-linux-arm64.deb |
macOS
双击 DMG 把应用拖入「应用程序」。如果 macOS 签名和公证验证通过,首次打开应直接走正常 Gatekeeper 流程。
如果仍提示"已损坏"或"无法验证开发者",说明当前产物可能仍是 unsigned fallback 或本地 quarantine 状态未清理,可在终端执行:
xattr -cr /Applications/Claude\ Code\ Haha.app
也可以在「系统设置 → 隐私与安全性」里点"仍要打开"。
Windows
双击 .exe 安装。SmartScreen 提示时点「更多信息」→「仍要运行」。
Linux
AppImage:
chmod +x Claude-Code-Haha-0.4.4-linux-x86_64.AppImage
./Claude-Code-Haha-0.4.4-linux-x86_64.AppImage
deb:
sudo apt install ./Claude-Code-Haha-0.4.4-linux-amd64.deb
ARM64 机器把文件名换成 ...-linux-arm64.AppImage / ...-linux-arm64.deb。