-
Notifications
You must be signed in to change notification settings - Fork 8.2k
Releases: NanmiCoder/cc-haha
Claude Code Haha v0.4.2
Claude Code Haha v0.4.2
这是 v0.4.1 之后的稳定性和桌面体验补丁版本,重点修复真实使用中暴露出来的桌面端卡住、H5 远程访问、Windows 安装和窗口行为、Trace 可观测性、provider/runtime 兼容性,以及内置浏览器和生成物预览链路问题。
相比 v0.4.1,本版本新增服务商列表拖拽排序、Auto-dream 设置入口、Activity 插件/Skill 使用统计;同时让慢速第三方 provider、GPT5.5 中转缓存、手机 H5、active turn 排队输入和 Trace 诊断更稳定。
Highlights
- 慢 provider 和桌面长任务更稳定:桌面端不再用过短的超时杀掉健康但首字节很慢的流式请求,非流式 fallback 状态会显示在聊天状态栏,被中止的 API call 也会进入 Trace 而不是一直 pending,重点跟进 #766 和 #773。
- 回答进行中可以排队输入:active turn 运行时支持继续提交、引导、编辑和删除排队消息;CLI 接收后自动回放进 transcript,并避免 guided prompt 或 replay 造成重复用户气泡,修复 #755。
- H5 远程访问稳定性升级:H5 token 和端口可跨重启保持,断连宽限时间可配置,手机锁屏或切后台时不再强杀正在运行的 CLI;触屏 H5 修复输入框缩放、键盘遮挡、长按选择、操作按钮不可见和安全区适配问题,跟进 #764、#767 和 #780。
- Trace 和 Activity 可观测性增强:Trace 现在展示工具调用耗时、session wall/model/tool timing、aborted API calls 和更稳定的 live 更新;Activity 页面新增插件和 Skill 使用排行,并压缩 token summary 展示,覆盖 #799 和 #766 的诊断诉求。
- Windows 桌面体验集中修复:修复 Windows updater/installer 重复安装提示和安装目录选择问题,退出时隐藏 CMD 窗口闪烁,恢复原生窗口拖拽并阻止拖动窗口逐渐变大,同时修复 Settings General 的 toggle 布局和系统通知白屏问题,覆盖 #801、#802、#770、#796、#788 和 #791。
- Provider/runtime 配置更顺手:服务商列表支持拖拽排序并持久化官方/自定义 provider 顺序,新增 Auto-dream 设置入口,OpenAI-compatible proxy 对 prompt cache key、stream usage 和 cached tokens 的处理更符合 GPT5.5/中转 provider 场景,覆盖 #753、#800 和 #789。
Fixes
- 修复 mapped Windows drive 工作区在 bypass mode 下解析成 UNC 后仍被误拦的问题;已证明位于工作区内的映射盘路径可以继续写入,同时敏感路径和工作区外 UNC 写入仍走权限安全检查。
- 修复手动
/compact或自动压缩后上下文百分比仍停在压缩前数值、甚至显示Request timed out after 30s的问题 (#743)。 - 统一桌面端和 CLI 的 token 用量展示,修复首条消息没有流式 token 指示、进行中 token 计数不更新,以及不同页面格式不一致的问题 (#757)。
- 扩大桌面 sidebar 会话列表的拉取窗口,降低 observer/noisy session 把真实会话挤出列表的概率 (#759)。
- 修复内置浏览器预览菜单、文件打开方式、手输本地 HTML 路径和 loopback web dev 访问策略相关问题;
127.0.0.1、localhost、::1可在本机开发场景下绕过 H5 token,LAN/public 访问仍受 H5 规则保护 (#761)。 - 修复 MCP 配置页标题带有"更新"含义、容易误导用户以为正在执行更新的问题 (#763)。
- 修复 H5 token/端口不固定、二维码和手机书签重启后失效、客户端断开 30 秒后强杀后台 CLI 的问题 (#764, #767)。
- 修复慢速第三方 provider 在桌面端被客户端 timeout、stream watchdog 或 fallback 链路提前杀掉后 UI 一直显示 running 的问题;同时补齐 fallback 状态和 abort trace 记录 (#766)。
- 修复 Windows/macOS 生成物点击"在 Explorer/Finder 中显示"时
~路径没有展开的问题 (#776)。 - 修复生成文件 chip 和预览锚点从模型文本猜路径导致指向不存在文件的问题;现在会基于本轮真实 changed files 对齐,单文件
index.html、工作区外生成物和图片 replay 去重都更可靠。 - 修复 ExitPlanMode/计划模式审批在桌面端只显示原始权限请求的问题;现在展示渲染后的 plan preview,并把反馈和权限响应正确转发回 CLI (#793)。
- 修复 OpenAI-compatible provider 经 Responses API 走 GPT5.5/三方中转时 prompt cache 无法命中的问题;请求会剥离旋转 billing attribution 行,使用稳定
prompt_cache_key,并把cached_tokens映射回 Anthropic cache usage (#789)。 - 修复 generated Mermaid flowchart label 含 HTML 换行、花括号或 bracketed type text 时 Markdown 预览渲染异常的问题 (#803)。
- 修复 Windows 设置页 checkbox focus/reflow、系统通知开启时白屏,以及离开 session 页面后 stale native preview view 未关闭的问题 (#788, #791)。
- 修复 Windows frameless 窗口拖动时 renderer-side delta fallback 反复 setPosition 导致窗口变大或 bounds 被错误改变的问题 (#770, #796)。
- 修复 Windows updater 使用 stale same-version metadata 时反复提示安装、版本 fallback 伪造显示,以及 NSIS 安装器不能选择安装目录的问题 (#801)。
- 修复 Windows 退出程序时 Electron sidecar、taskkill、CLI 和 scheduled-task subprocess 可能弹出多个 CMD 窗口的问题 (#802)。
- 修复 Trace 中工具调用耗时缺失、live trace polling 对原地 call 变更不敏感、detail section 折叠状态串 session,以及中止请求长时间 pending 的问题 (#799, #766)。
- 修复 release/packaging 本地 macOS 打包脚本通过
bunx启动 electron-builder 时可能提前退出的问题;现在通过已安装的 Node CLI 启动 electron-builder。
Features and Improvements
- 服务商设置页支持 provider 拖拽排序,官方 provider 和自定义 provider 都进入同一排序模型,并通过
providers.json/providerOrder持久化 (#753)。 - 设置页新增 Auto-dream 开关,开启前有明确确认,复用 CLI 已有的后台记忆整理能力 (#800)。
- Activity 页面新增历史插件和 Skill 使用聚合,展示 Codex 风格的 activity insights 和排行。
- H5 触屏环境会在首屏前标记
data-touch-h5,仅对手机浏览器启用移动端修复,避免影响桌面壳和桌面浏览器 (#780)。 - 桌面 General settings、Trace、H5、provider、Activity 等新增或变化文案同步补齐多语言。
- release workflow 增加 tag/version/release notes 对齐检查,继续以
release-notes/vX.Y.Z.md作为 GitHub Release 正文来源。
Issue 对照
- #743:修复 compact 后 context meter 不下降和刷新超时提示残留。
- #753:新增服务商列表排序能力。
- #755:修复回答过程中干预/排队输入的桌面交互。
- #757:统一会话 token 用量单位和进行中 token 展示。
- #759:修复 sidebar 会话列表只显示少量真实会话的情况。
- #761:修复内置浏览器预览和打开菜单相关问题。
- #763:修复 MCP 配置页标题误导。
- #764:修复 H5 断连后过早杀掉后端 CLI,并支持可配置宽限时间。
- #766:修复桌面端慢 provider 卡住、fallback 无状态、Trace pending 的组合问题。
- #767:支持 H5 固定 token 和端口。
- #770 / #796:修复 Windows 拖动窗口导致窗口逐渐变大的问题。
- #773:延长桌面本地 API/agent 请求超时,避免健康长任务被过早中止。
- #776:修复生成物 reveal 到 Explorer/Finder 时
~路径无法打开。 - #780:修复手机 H5 输入、键盘、选择、操作按钮和安全区问题。
- #788 / #791:修复 Settings General toggle 布局异常和系统通知白屏。
- #789:修复 OpenAI Responses API/GPT5.5 中转 prompt cache 不命中。
- #793:优化计划模式最终计划展示和桌面审批预览。
- #799:补齐 Trace 工具调用耗时。
- #800:新增 Auto-dream 设置入口。
- #801:修复 Windows updater/installer 流程和安装目录选择。
- #802:修复 Windows 退出时 CMD 窗口闪烁。
- #803:修复 Markdown 中 generated Mermaid 渲染异常。
Notes
- GitHub Release 正文继续以
release-notes/v0.4.2.md作为来源。 - 桌面端发布版本号来源是
desktop/package.json;rootpackage.json仍保留本地开发用的999.0.0-local。发布时需确保desktop/package.json、Git tagv0.4.2和release-notes/v0.4.2.md三者严格对齐。 - 本版本覆盖 desktop、server、provider/runtime、agent-loop、native、docs/release 多个表面;发布前建议至少跑
bun run verify,并在有真实 provider 配额时跑bun run quality:gate --mode release --allow-live --provider-model <provider:model[:label]>。 - 建议发布前额外做一次真实桌面 smoke:GPT5.5 provider、active-turn 排队输入、H5 手机访问、Trace detail、Windows 安装/退出、Windows mapped drive、内置浏览器 HTML 预览、生成物 reveal。
- 如果本版本仍未完成 Apple / Windows 代码签名,首次安装时系统可能需要手动放行一次(见下方安装说明)。覆盖安装不会删除本地数据(
~/.claude、~/.claude/cc-haha及自定义便携数据目录)。
安装
到本页面底部的 Assets 里,按系统和 CPU 架构下载对应文件:
| 平台 | 文件 |
|---|---|
| macOS Apple Silicon(M 系列) | Claude-Code-Haha-0.4.2-mac-arm64.dmg |
| macOS Intel | Claude-Code-Haha-0.4.2-mac-x64.dmg |
| Windows x64 | Claude-Code-Haha-0.4.2-win-x64.exe |
| Linux x64 | Claude-Code-Haha-0.4.2-linux-x86_64.AppImage 或 Claude-Code-Haha-0.4.2-linux-amd64.deb |
| Linux ARM64 | Claude-Code-Haha-0.4.2-linux-arm64.AppImage 或 Claude-Code-Haha-0.4.2-linux-arm64.deb |
macOS
双击 DMG 把应用拖入「应用程序」。首次打开如果提示"已损坏"或"无法验证开发者",在终端执行:
xattr -cr /Applications/Claude\ Code\ Haha.app
也可以在「系统设置 → 隐私与安全性」里点"仍要打开"。
Windows
双击 .exe 安装。SmartScreen 提示时点「更多信息」→「仍要运行」。
Linux
AppImage:
chmod +x Claude-Code-Haha-0.4.2-linux-x86_64.AppImage ./Claude-Code-Haha-0.4.2-linux-x86_64.AppImage
deb:
sudo apt install ./Claude-Code-Haha-0.4.2-linux-amd64.deb
ARM64 机器把文件名换成 ...-linux-arm64.AppImage / ...-linux-arm64.deb。
Assets 21
- sha256:d173127f02cd8d77cb4e66677e5714dcc21c467111a148efb89e4d2a88430f3d157 MB
2026年06月13日T04:28:14Z - sha256:6e0cb6b4957a1b60c68046bd4a8e8f833e6617087ca0057cccbf4b3153c42c1a204 MB
2026年06月13日T04:28:14Z - sha256:38ffdb7996d5df79416bd6aaa2674aeab756bfe8a7719fe07bea2132bf2eac86151 MB
2026年06月13日T04:28:14Z - sha256:fceeb381c799e6fd23d9a0f3ac70f295a5979ab1cce76335a320396c55608cdc203 MB
2026年06月13日T04:28:14Z - sha256:79b68acbd43d6c7706b9c7d83ee51d38bb953abf78ecd0a692d3759c5325ec9b186 MB
2026年06月13日T04:28:14Z - sha256:e6e6ce3f79b0e1bf526429be954359007924717cd8d5b682cf18b474504bc8cf200 KB
2026年06月13日T04:28:14Z - sha256:6ce1339ef3d61a037efb8471a41505366810c2132e36d86cbc3533864c6d21c6180 MB
2026年06月13日T04:28:14Z - sha256:b0552484f1ecaf18a0a35be4d623c68003c03a47d530bc9421f3425a68dec516191 KB
2026年06月13日T04:28:14Z - sha256:4fd97790bc975542d3af7f64fffd3782689973e7499370cb78b8c74ad39a2dfe194 MB
2026年06月13日T04:28:14Z - sha256:1590105a8c7eec812b95ebe7241a20bf190a656a99e1233a28115a22d6b9761e207 KB
2026年06月13日T04:28:14Z -
2026年06月13日T04:22:56Z -
2026年06月13日T04:22:56Z - Loading
Claude Code Haha v0.4.1
Claude Code Haha v0.4.1
这是 v0.4.0 Electron 迁移后的第一个补丁版本,重点是补齐桌面端可观测性、IM 适配器能力、多语言界面,以及修复迁移后暴露出来的会话稳定性和发布打包细节。
相比 v0.4.0,本版本新增 session trace monitoring,可在桌面端查看模型请求、工具调用、消息流和关键事件;同时补强 WhatsApp / Telegram 适配器、设置页体验、图片/截图链路和 provider/runtime 边界行为。
Highlights
- Session Trace Monitoring:新增会话 Trace 记录和查看能力,支持按 session 查看 LLM 请求、工具调用、消息详情、耗时与错误信息;Trace 界面升级为更接近 LangSmith 的双栏树状布局,并把入口收敛到 Settings。
- IM 适配器增强:新增 WhatsApp linked-device 支持,完善配对、媒体处理和桌面设置入口;Telegram 新增命令菜单,常用操作不再依赖手写命令。
- 桌面多语言补齐:新增日语、韩语、繁体中文界面,并补齐后续新增设置项、Trace、Adapter 等页面文案。
- 桌面设置和工作流更顺手:新增桌面端 Output Style 配置,插件列表支持批量开关,Memory 页面改为 preview-first 并让 Markdown 编辑器填满面板。
- 截图与预览链路更可靠:预览截图改为 Electron 原生采集,renderer reload 时会关闭预览窗口,减少旧窗口和截图状态残留。
Fixes
- 修复 active turn 进行中切换权限或运行时配置时,server 可能过早重启 session 的问题;现在会延后到当前 turn 完成后处理 (#626)。
- 修复 prewarm / resume / shutdown 交错时可能触发异常状态或退出路径不完整的问题 (#611)。
- 修复并发 worktree 配置写入可能互相覆盖的问题 (#572)。
- 修复 OpenAI-compatible provider 流式响应长时间无输出时缺少 stall timeout 的问题 (#548)。
- 修复 OpenAI chat completion 测试请求误走 stream 形态的问题 (#638)。
- 修复桌面端输出风格设置无法正确写入和用于会话启动的问题 (#652)。
- 修复持久化聊天图片在恢复历史会话后丢失的问题 (#721)。
- 修复聊天选中文本生成的历史引用卡片样式丢失,以及 plan mode 退出后权限模式恢复异常的问题 (#623)。
- 修复工具调用失败时错误详情展示不完整的问题 (#625)。
- 修复 Memory 文件默认进入编辑态、Markdown 编辑器高度不足的问题 (#533)。
- 修复 scheduled task 通知轮询早于 server ready 状态启动的问题。
- 修复 diagnostics 把预期状态记录成 error 的噪音,并隔离相关测试状态。
- 修复 WhatsApp 配对完成后重启 login socket 导致连接丢失的问题。
- 修复 IM adapter 设置页的安装和配置引导文案过时。
- 修复 release workflow 在未配置签名 secrets 时把空签名环境变量传给 electron-builder。
Notes
- GitHub Release 正文继续以
release-notes/v0.4.1.md作为来源。 - 本版本包含 Trace capture、provider proxy、WebSocket session lifecycle、IM adapter sidecar 和 Electron 预览截图链路变化;发布前建议至少跑
bun run verify,并对桌面 Trace、WhatsApp/Telegram、预览截图和 provider 请求做一次真实 smoke。 - 桌面端发布版本号来源是
desktop/package.json;rootpackage.json仍保留本地开发用的999.0.0-local。 - 如果本版本仍未完成 Apple / Windows 代码签名,首次安装时系统可能需要手动放行一次(见下方安装说明)。覆盖安装不会删除本地数据(
~/.claude、~/.claude/cc-haha及自定义便携数据目录)。
安装
到本页面底部的 Assets 里,按系统和 CPU 架构下载对应文件:
| 平台 | 文件 |
|---|---|
| macOS Apple Silicon(M 系列) | Claude-Code-Haha-0.4.1-mac-arm64.dmg |
| macOS Intel | Claude-Code-Haha-0.4.1-mac-x64.dmg |
| Windows x64 | Claude-Code-Haha-0.4.1-win-x64.exe |
| Linux x64 | Claude-Code-Haha-0.4.1-linux-x86_64.AppImage 或 Claude-Code-Haha-0.4.1-linux-amd64.deb |
| Linux ARM64 | Claude-Code-Haha-0.4.1-linux-arm64.AppImage 或 Claude-Code-Haha-0.4.1-linux-arm64.deb |
macOS
双击 DMG 把应用拖入「应用程序」。首次打开如果提示"已损坏"或"无法验证开发者",在终端执行:
xattr -cr /Applications/Claude\ Code\ Haha.app
也可以在「系统设置 → 隐私与安全性」里点"仍要打开"。
Windows
双击 .exe 安装。SmartScreen 提示时点「更多信息」→「仍要运行」。
Linux
AppImage:
chmod +x Claude-Code-Haha-0.4.1-linux-x86_64.AppImage ./Claude-Code-Haha-0.4.1-linux-x86_64.AppImage
deb:
sudo apt install ./Claude-Code-Haha-0.4.1-linux-amd64.deb
ARM64 机器把文件名换成 ...-linux-arm64.AppImage / ...-linux-arm64.deb。
Assets 14
Claude Code Haha v0.4.0
Claude Code Haha v0.4.0
这是一个以桌面端底层框架从 Tauri 2 迁移到 Electron为核心的大版本。
迁移的起因是多位用户反馈:桌面端在 macOS 上有明显的性能问题,在 Windows 上又有不少行为和开发时的 macOS 不一致。根因是 Tauri 在不同平台各自使用系统 WebView(macOS WebKit、Windows WebView2),渲染和交互天然有差异。这一版索性统一改用 Electron 自带的 Chromium 作为渲染层,多加这一层来把跨平台不一致从根上抹平。代价是安装包体积会比 Tauri 版本更大(内置 Chromium runtime),这是这次取舍下没办法的事。
相比 v0.3.2,内置浏览器、Workbench、终端、文件选择、系统通知、托盘、菜单、窗口状态和 sidecar 进程管理都迁移到新的 Electron 桌面运行时。
Highlights
- 桌面底层切换到 Electron:macOS / Windows / Linux 三端的内置浏览器、Workbench 预览、终端、通知、托盘、菜单和窗口状态全部迁移到新桌面运行时,跨平台行为更统一。
- 内置浏览器与 Workbench 适配新壳:预览、截图、网页元素选择和本地文件打开链路在 Electron 壳下保持完整并更稳定。
- Agent 指令体验打磨:
agentslash 走正常聊天链路并流式展示进度,选择气泡更稳定,会话标题按用户语言生成。 - 上下文与图片输入兼容性改进:恢复大图和常见长截图读取,provider 上下文窗口估算更准确。
- Provider 更新:MiniMax preset 升级到 MiniMax-M3。
Fixes
- 修复 Windows 上自定义窗口装饰、任务栏标识(AppUserModelID)、PowerShell 终端选择转发、窗口导航等与开发端 macOS 不一致的行为 (#665)。
- 修复退出应用时 sidecar 子进程残留为孤儿进程。
- 修复 macOS 外接显示器下菜单栏出现残影。
- 修复 sidebar、titlebar、tab bar 的窗口拖拽区域失效。
- 修复
agentslash 指令:改走正常聊天链路、流式展示执行进度、发送前选择可编辑 (#653)。 - 修复聊天内容圈选的引用不稳定 (#351),以及滚动时圈选气泡不消失 (#672)。
- 修复浏览器截图后 composer 输入状态丢失 (#678)。
- 修复会话标题在助手回合后才生成、并保持与用户相同的语言。
- 修复飞书(Feishu)兜底回复出现重复消息 (#671)。
- 修复预热(prewarm)时空闲标签页被误显示为活跃 (#681)。
- 修复桌面会话中失效的登录态和连接无法自动恢复 (#658, #651)。
- 修复 provider 模型名归一化导致的测试不一致 (#620)。
- 修复 Electron 迁移后的若干细节:代理与全屏处理、Activity 摘要布局、社交图标加载、thinking 详情默认折叠。
Notes
- 本版本暂未进行 Apple / Windows 代码签名,首次安装需要手动放行一次(见下方安装说明),这不是文件损坏。
- 暂不提供在线自动更新:在拿到 Apple 签名前,请每次到 GitHub Releases 手动下载新版本覆盖安装。覆盖安装不会删除本地数据(
~/.claude、~/.claude/cc-haha及自定义便携数据目录)。
安装
到本页面底部的 Assets 里,按系统和 CPU 架构下载对应文件:
| 平台 | 文件 |
|---|---|
| macOS Apple Silicon(M 系列) | Claude-Code-Haha-0.4.0-mac-arm64.dmg |
| macOS Intel | Claude-Code-Haha-0.4.0-mac-x64.dmg |
| Windows x64 | Claude-Code-Haha-0.4.0-win-x64.exe |
| Linux x64 | Claude-Code-Haha-0.4.0-linux-x86_64.AppImage 或 Claude-Code-Haha-0.4.0-linux-amd64.deb |
| Linux ARM64 | Claude-Code-Haha-0.4.0-linux-arm64.AppImage 或 Claude-Code-Haha-0.4.0-linux-arm64.deb |
macOS
双击 DMG 把应用拖入「应用程序」。首次打开如果提示"已损坏"或"无法验证开发者",在终端执行:
xattr -cr /Applications/Claude\ Code\ Haha.app
也可以在「系统设置 → 隐私与安全性」里点"仍要打开"。
Windows
双击 .exe 安装。SmartScreen 提示时点「更多信息」→「仍要运行」。
Linux
AppImage:
chmod +x Claude-Code-Haha-0.4.0-linux-x86_64.AppImage ./Claude-Code-Haha-0.4.0-linux-x86_64.AppImage
deb:
sudo apt install ./Claude-Code-Haha-0.4.0-linux-amd64.deb
ARM64 机器把文件名换成 ...-linux-arm64.AppImage / ...-linux-arm64.deb。
Assets 14
Claude Code Haha v0.3.2
Claude Code Haha v0.3.2
这是一个围绕桌面 Workbench、内置浏览器预览、网页圈选编辑、富媒体上下文和长会话可读性的版本。
相比 v0.3.1,本次把右侧区域升级为 Workbench,并打通链接、本地文件、变更文件、图片视频和网页元素选择的预览/打开链路;同时继续修复桌面会话权限、发送快捷键、provider 图片兼容、Mermaid、消息操作条和长会话性能问题。
Highlights
- 右侧 Workbench + 内置浏览器:右侧面板支持 Files / Browser 切换,带地址栏、加载状态、child webview 生命周期和窗口边界同步。
- 预览与 Open With 更完整:助手输出、变更文件、workspace 文件、localhost、本地绝对路径和
/preview-fs//local-file都能走统一预览或 Open With 动作。 - 网页圈选编辑链路:Browser 页面支持元素选择、截图、编辑气泡、标注区域和干净的 composer 回填,适合把网页局部修改请求直接交给 Agent。
- 图片、视频和本地文件上下文更稳:图片附件避免被当成普通路径 Read;助手输出的视频可内联播放;OpenAI / DeepSeek 对图片 schema 的兼容恢复更完整。
- Activity 与会话级设置:新增 Activity profile 和用量热力图;reasoning effort、permission mode、定时任务 bypass 权限都按会话或任务语义收敛。
- 长会话和 Markdown 可读性继续打磨:Mermaid 大图可读性、消息 hover 区域、任务进度隐藏、session list 内存压力和 WebKit 离屏绘制都有针对性修复。
Fixes
- 修复桌面 provider 流可能永久卡在 running、确认弹窗被权限阻塞、Enter 误发送、图片附件触发 Read 失败等问题。
- 修复 MCP 设置和历史会话导航中 spinner、旧请求覆盖、空白历史、长会话列表扫描和缓存失效导致的响应性问题。
- 修复 Markdown / diff / Mermaid 在深色主题、流式输出和大图场景下的可读性问题。
- 修复消息操作条 hover 命中区过大、点击后不收起、inline 图片 gallery hover 互相干扰等细节。
- 修复 Open With 菜单在变更文件、workspace 文件和完成消息中的入口过重、菜单不翻转或未真正打开编辑器的问题。
- 修复 OpenAI 文本模型拒绝图片、DeepSeek 不接受
image_url、synthetic business error 未本地化等 provider 兼容问题。 - 修复 preview selection 截图标记跑出视口、小目标被 badge 遮挡、Activity profile 编辑按钮进入截图等问题。
- 修复桌面更新检查阻塞 UI、空
agentTaskNotifications导致滚动重渲染、已隐藏任务进度重新出现等稳定性问题。
Notes
- GitHub Release 正文继续以
release-notes/v0.3.2.md作为来源。 - 本版本包含 Tauri multi-webview、preview bridge、local file serving、Open With 和 provider 图片转换相关变化;发布前建议重点 smoke 一次 Workbench Browser、网页圈选、图片/视频预览、Open With、Activity 和长会话滚动。
- 发布前可先运行
bun run scripts/release.ts 0.3.2 --dry检查版本和 release note 对齐,再跑bun run verify。
macOS
首次打开如果提示"已损坏"或"无法验证开发者",请执行:
xattr -cr /Applications/Claude\ Code\ Haha.app
Assets 15
Claude Code Haha v0.3.1
Claude Code Haha v0.3.1
这是一个以桌面端配置准确性、工作区引用、终端体验和跨平台稳定性为主的修复版本。
相比 v0.3.0,本次重点不是引入大功能,而是把桌面端在真实项目切换、MCP 作用域、便携配置、Windows 路径和终端面板里的细节打磨稳定。
Highlights
- MCP 作用域更准确:桌面端现在按 CLI 语义区分 local / project / user scope;创建或编辑 local/project MCP 时需要显式选择目标项目,避免写到当前 session worktree 或 server 启动目录。
- MCP 设置页更可信:设置页会从活动项目、最近项目和已有 user-private MCP key 聚合配置;project-scoped 条目不会因为目标项目不同而消失,初次加载时也不会闪一下空列表。
- 工作区文件引用更顺手:普通 dotfile / dotfolder 会在文件树中显示,文件和目录都可以从工作区菜单添加到聊天;常用复制路径改为项目相对路径,绝对路径保留为显式次级操作。
- 便携模式和插件 Skills 更稳定:桌面 CLI wrapper 会携带选定的
CLAUDE_CONFIG_DIR,插件或 Skill 安装后可通过 reload 刷新出来,不需要重启桌面端。 - 终端面板体验更稳:隐藏 docked terminal 或提升为 tab 时不会误杀正在输入的 shell;终端页去掉重复 chrome,保留更多可用空间,并改善未聚焦时的滚动交互。
- Windows drive root 支持更可靠:
C:/D:这类 drive-root 输入会被规范化,避免 session、workspace、文件访问或侧边栏隐藏项目逻辑把 drive root 和子项目混淆。
Fixes
- 修复 interleaved
tool_use ... text ... tool_use历史在 Bedrock 等严格 provider 下可能触发 400 的问题。 - 修复桌面端 sleep / wake 或重连后把已完成 assistant 回复重复追加的问题。
- 修复 Windows WebView2 下聊天内容因 1px 级高度震荡出现上下抖动的问题。
- 修复模型选择器在未登录 OAuth 时仍显示 Claude Official / ChatGPT Official 分组的问题,并修复上弹菜单与触发按钮之间的定位空隙。
- 修复 bypass 权限确认弹窗显示旧项目路径的问题;路径现在跟随当前活跃 tab。
- 修复 IM 适配器在桌面会话被删除后复用 stale session binding 的问题。
- 修复 shared directory picker 在窗口右侧触发时菜单溢出 viewport 的问题。
- 修复 H5 access 测试会被环境变量
CLAUDE_H5_AUTO_PUBLIC_URL污染的问题。 - 回滚
v0.3.0后引入的会话父子树侧边栏展示;响应中途不开放分支切换仍是当前预期行为。
Notes
- GitHub Release 正文继续以
release-notes/v0.3.1.md作为来源。 - 本版本包含 MCP local/project/user 配置路径、便携配置目录、终端 runtime 生命周期和 Windows drive-root 处理变化;发布前建议重点跑一次桌面端 MCP 设置、工作区文件引用、终端 dock/tab 切换和 Windows 路径 smoke。
- 打包发布仍由 tag 触发 GitHub Actions;本地可先用
bun run scripts/release.ts 0.3.1 --dry检查版本和 release note 对齐。
macOS
首次打开如果提示"已损坏"或"无法验证开发者",请执行:
xattr -cr /Applications/Claude\ Code\ Haha.app
Assets 15
Claude Code Haha v0.3.0
Claude Code Haha v0.3.0
这是一个围绕桌面端长会话性能、工具流式预览、AskUserQuestion 稳定性、多客户端流式订阅和 H5 网络可靠性的版本。
相比 v0.2.9,本次最核心的工作是对桌面端长会话进行了系统性的性能重构:从虚拟滚动稳定化、React 组件 memo 化、Markdown 缓存优化到跨 tab 高度缓存持久化,让 800+ 条消息的大会话在滚动和切换 tab 时不再出现白屏或卡顿。同时,流式 Writer 预览和 pending tool card 让长工具执行过程变得可感知,AskUserQuestion 和 IM 多端流式订阅的可靠性也得到了针对性修复。
Highlight
- 桌面端长会话滚动性能大幅提升:797+ 条消息 / 2.6MB 会话从 1-2s 白屏降低到 0s 白屏采样(34 个滚动位置全部通过)。通过稳定 1200px overscan、React 18 自动批处理、ResizeObserver 每帧批量回调和取消 scroll-handler 的 flushSync 实现。
- React 组件树 memo 化:AssistantMessage、UserMessage、ToolCallBlock 等 6 个重型组件加 React.memo;branchAction/toolResult 查找提升为 useMemo Map,窗口滑动时不变行跳过重渲染。
- Markdown 缓存重构:缓存 key 从完整内容字符串改为
${len}:${fnv1a}hash,拆分为 200 条 finalized(8MB)+ 4 条 streaming 缓存,streaming 不再驱逐已完成的 parse;VirutalSpacer 分片渲染,消除滚动白屏。 - 跨 tab 高度缓存持久化:新增 virtualHeightCache(按 sessionId 的模块级 LRU),切回已访问的 session 时复用历史测量高度,跳过 estimate→measure 校正过程;O(N) 的分支/完成计算改用 useDeferredValue 延后执行。
- 流式 Writer 预览和 pending tool card:长 Write 在 tool_use_start 时即渲染 pending 工具卡片,通过 delta 更新输入预览;Write.content 解码为轻量纯文本预览窗口,完成后保留完整 diff 渲染。
- AskUserQuestion 稳定性:CLI 的 toolUseResult 元数据在桌面 bridge 中不再丢失;重连时追踪并回放存活的 SDK 权限请求;自定义回答升级为多行编辑器(Ctrl/Cmd+Enter 提交)。
- 多客户端流式订阅:WebSocket handler 按客户端广播 session 消息,桌面端打开同一 session 不再"偷走" Telegram 的流内容;Telegram 长回答自动分块并累积 thinking delta。
- H5 内网链接更稳定:手动选择的 LAN 地址在 sidecar 端口变化后自动刷新为当前端口;手动 LAN host 不会被 WSL/Docker 虚拟网卡的自发现结果覆盖。
主要更新
桌面端长会话性能(6 个 commit 的系统性优化)
- 长对话切换为基于测量高度的动态虚拟窗口,短对话保持全量挂载;废弃 content-visibility 全列表覆盖方案以避免 WebView 白屏。
- 虚拟滚动 overscan 从动态膨胀(360px → 7200px)改为固定 1200px;移除 scroll-handler 的 flushSync,让 React 18 自动批处理接管状态更新。
- ResizeObserver 高度回调标记 pending bit 后,每帧仅触发一次 setMeasuredItemsVersion,而非每个 item 一次全列表重渲染;取消测量反馈的自动滚动,避免与用户滚动冲突。
- TabBar 的 chat-store 订阅收窄为 running-state ids,避免流式 payload churn 导致 tab chrome 无效重渲染。
- AssistantMessage、UserMessage、ToolCallBlock、ToolCallGroup、ToolResultBlock、MarkdownRenderer 全部加 React.memo;per-message 的 branchAction/toolResult 查找提升为 useMemo'd Map。
- Markdown 缓存 key 改为
${len}:${fnv1a}hash;200 条 8MB finalized cache + 4 条 streaming cache,streaming 期间不再禁用缓存;VirtualSpacer 将 spacer 切为 ~800px 分片,配合 content-visibility: auto + contain-intrinsic-size 消除白屏。 - virtualHeightCache(按 sessionId 的模块级 LRU)在 tab 切换时恢复历史高度和 metric map;关闭 tab 时通过 tabStore.closeTab → dropSession 释放缓存。getBranchableMessageTargets / getCompletedTurnTargets 改用 useDeferredValue(messages) 低优先级渲染。
工具流式预览
- tool_use_start 时 upsert 一个 pending tool_use 消息;delta 更新轻量输入预览;tool_use_complete 时原地更新为完整卡片,避免卡片重复。
- Write.content 在 pending 阶段解码为有界纯文本预览窗口,完成后保留现有完整 diff 渲染。
AskUserQuestion 可靠性
- CLI transcript 的 toolUseResult 结构化答案在 history replay 和 live WebSocket tool result 中保持一致传输,已回答卡片正确显示 resolved 状态。
- 追踪存活的 SDK permission request,重连时回放给新客户端;等待用户输入的 session 获得更长的清理宽限期;aborted 结果渲染为 completed history 而非未回答提示。
- 自定义回答输入框升级为多行编辑器,支持 Ctrl/Cmd+Enter 提交;修复历史恢复与 live permission request 重叠时出现重复未回答卡片的问题。
多客户端流式订阅
- WebSocket session output 改为按客户端追踪 callback,广播消息而非替换之前的订阅者;桌面端和 Telegram 可同时观察同一个流式 session。
- Telegram thinking delta 累积后编辑占位消息,而非每次用最新小块替换;长回答自动封存完整 chunk、打开新可编辑占位符,适配 Telegram 消息长度限制。
H5 内网链接
- 手动 LAN 地址 settings UI 支持分离 host/IP 输入,复用当前服务端口;不会被 WSL/Docker 虚拟网卡的自发现结果覆盖。
- 普通 HTTP 私有 LAN URL 在 sidecar 重启后自动刷新为当前动态端口;反向代理 URL 保持原样不动。
Worktree UI
- worktree session 的 desktop chip 隐藏内部分支标签(如 worktree-desktop-*)和 slug,仅显示源项目和 worktree 标记。
- git-info API 区分 launch branch 元数据和 worktree 实际 checkout 分支,session 进入 worktree 后才切换到实际分支。
其他改进
- OpenAI 代理流超时仅作用于建立上游连接阶段,不截断已开始的 SSE 生成。
- filesystem browser 注册已解析的 workspace root,支持 Windows 跨盘符项目(如 D:\workspace)的文件搜索。
- Computer Use 拒绝 Python 3.9 以下运行时,固定 Pillow 在 11.x 兼容线,配置镜像安装失败时 fallback 到默认 PyPI。
- Shiki 代码高亮改为懒加载,旧 WebKit 解析失败时 fallback 到 Prism,避免 macOS 12 WebView 启动崩溃。
问题修复
- 修复长会话滚动时 1-2s 白屏(flushSync 阻塞 compositor + 动态 overscan 膨胀 + ResizeObserver 大量同步重渲染)。
- 修复虚拟滚动 spacer 大块 div 导致 WebView 无内容可绘制、出现滚动白屏。
- 修复 Markdown 缓存用完整内容字符串做 key 导致大会话频繁驱逐、streaming chunk 驱逐已完成解析。
- 修复窗口滑动时每行都从零重渲染(无 memo 屏障 + 每次 render 重建 object literal)。
- 修复 tab 切换回已访问 session 时高度和 metric map 被清空,强制 estimate→measure 全程校正。
- 修复长 Write 工具调用在 tool_use_complete 之前不显示任何可见进度的问题。
- 修复 AskUserQuestion 回答后仍显示为未解决、历史恢复出现重复卡片、重连导致 CLI 被 AbortError 杀死。
- 修复桌面端打开同一 session 后 Telegram 丢失流内容和 completion 事件。
- 修复 Telegram 长回答超过消息长度限制后停止更新、thinking delta 每次用最新小块替换导致预览回缩。
- 修复 H5 内网链接在 sidecar 重启后保留过期端口、手动 LAN host 被自发现覆盖。
- 修复 OpenAI 代理流被全请求超时截断,长 SSE 生成中途停止。
- 修复 worktree session 显示 source branch 或内部 ref 标签(worktree-desktop-*)。
- 修复 Windows 跨盘符项目在 filesystem browser 中无法搜索文件。
- 修复 desktop compact 状态在 auto-compact 或取消后卡住不消失。
- 修复 Computer Use 在低版本 Python 环境安装依赖失败。
- 修复旧版 Safari/WebKit 解析 Shiki 现代 RegExp 语法导致启动崩溃。
验证
- 桌面端性能相关 commit 有 5 个新增的 virtualHeightCache 测试用例和 4 个 markdown-cache + spacer-chunk 回归测试;全套 731 desktop vitest suite 保持通过。
- Chrome DevTools trace 在真实 797 消息 session 上验证:tab 切换 max RunTask 约 158ms,滚动 34 个位置 blankSamples=0,INP 从 84ms 降到 43ms,ForcedReflow insight 消失。
- AskUserQuestion 相关变更已通过 desktop chatStore、MessageList、AskUserQuestion 组件测试和 server sessions、ws-memory-events 测试。
- H5 相关变更已通过 h5-access-service、h5-access-api、h5-access-auth、h5-access-policy 全套测试。
- Computer Use 相关变更已通过 computer-use-api、computer-use-requirements、computer-use-python、pipInstall 测试。
- 各功能分支已分别跑过 targeted server / desktop / adapters 测试;
v0.3.0发布前建议再跑一次bun run verify,并在真实长会话(800+ 消息)上补一次 scroll + tab 切换 smoke。
其他说明
- GitHub Release 正文继续以
release-notes/v0.3.0.md作为来源,发布时无需手动复制 Markdown。 - 桌面端性能优化涉及虚拟滚动、React memo、缓存和 layout 路径变更;升级后如果遇到滚动异常或高度计算问题,通常是测量缓存或 spacer 分片与特定 WebView 版本的兼容问题,请反馈具体 session 大小和 WebView 版本。
- 流式 Writer 预览和 pending tool card 依赖 provider 正确发送 tool_use_start 和 input delta 事件;如果 provider 仅发送 tool_use_complete,pending 卡片不会出现但最终卡片照常渲染。
- 本版本包含大量桌面端渲染和 layout 路径变化,建议在 macOS WebKit、Windows WebView2 和 Linux WebKitGTK 三个平台上各做一次真实长会话滚动 + tab 切换 smoke。
安装说明
macOS
首次打开如果提示"已损坏"或"无法验证开发者",请执行:
xattr -cr /Applications/Claude\ Code\ Haha.app
Assets 15
Claude Code Haha v0.2.9
Claude Code Haha v0.2.9
这是一个围绕 ChatGPT Official、统一 AI 网络设置、会话分支、Context Compact 可视化、Provider 兼容性和桌面稳定性 的版本。
相比 v0.2.8,本次最重要的变化是把 ChatGPT Official 作为桌面端一等 provider 接入:用户可以在 Settings 里选择 ChatGPT Official,通过 OpenAI OAuth 登录,使用内置模型目录,并让会话运行时自动走 OAuth token 和对应的 Codex runtime 环境。与此同时,本次把 AI 请求代理和超时设置统一到 General Settings,补齐 OpenAI / DeepSeek / Claude-compatible provider 的一批兼容性问题,并继续打磨桌面会话体验:历史消息可以直接创建分支,context compact 会作为时间线状态显示,后台任务、运行中会话、重试等待和输入布局都更清楚。
Highlight
- ChatGPT Official 正式接入桌面端:Providers 里新增 ChatGPT Official 内置 provider,支持 OpenAI OAuth 登录、登出、状态展示、授权链接 fallback、官方模型目录和 OAuth runtime env 注入。
- OpenAI OAuth 存储更可靠:OAuth token 改为统一文件存储,并针对旧 token、secure-storage cache、env-pinned OAuth 文件和半写入文件补齐防护,避免旧凭据在重启后被错误复活。
- 统一 AI 网络设置:General Settings 新增 AI 请求代理和超时设置,支持 system / manual proxy,provider runtime、OpenAI-compatible proxy 和会话请求会使用同一套网络配置。
- 历史消息可直接分支:完整 turn 的用户消息和助手消息现在可以直接创建分支会话;分支会保留正确的历史链、workdir、worktree 和相关 transcript 元数据。
- Context Compact 成为可读状态:手动或自动 compact 会在聊天时间线中显示进行中状态和完成摘要,支持展开查看摘要、触发方式、token 和消息数量信息。
- Provider 兼容性补强:DeepSeek reasoning 历史、Claude attribution、Claude Code billing CCH、Codex OAuth token exchange、OpenAI Codex context window 和直接 TUI provider env 都补上了更稳的兼容路径。
- 桌面聊天状态更透明:会话运行状态会同步到 TabBar 和 Sidebar;停止后的后台任务不会继续显示为 alive;API retry 会在聊天区展示重试次数、等待时间和错误摘要。
主要更新
- Providers 设置页新增 ChatGPT Official 内置卡片,和 Claude Official 一起固定展示在 provider 列表顶部。
- 新增桌面端 ChatGPT Official 登录组件,支持启动 OAuth、轮询状态、展示账号、登出,以及浏览器无法打开时复制授权链接继续完成登录。
- 新增 Haha OpenAI OAuth API 和桌面 store,登录状态不会回传 token 本体,回调路径统一走桌面 server,并兼容旧
/callback/openai路径。 - ChatGPT Official provider 使用
openai_oauthruntime kind,自动注入OPENAI_CODEX_OAUTH_FILE、OpenAI Codex endpoint、模型映射和 context window 信息。 - Model Selector 新增 ChatGPT Official 分组和模型目录,切换 provider 时会同步默认模型,避免 ChatGPT / Claude / 自定义 provider 之间残留错误模型。
- OpenAI OAuth token 存储统一到
~/.claude/cc-haha/openai-oauth.json,并对 refresh token、id token、client id、过期刷新和原子写入做了更完整处理。 - General Settings 新增 AI network 区域,支持设置 AI 请求 timeout、system proxy 或手动 HTTP(S) proxy,并带有输入校验和保存反馈。
- Provider runtime env 被拆出独立服务,减少 stale proxy / stale provider env 泄漏到直接 TUI、conversation service 或 provider 请求里。
- OpenAI-compatible proxy 会使用统一 AI 网络设置,DeepSeek / opencode.ai 场景会保留 reasoning content 和 thinking toggle。
- 会话历史消息新增"从这里分支"入口,新分支会话会从目标消息截断,并保留必要的 session metadata、worktree state、PR link、file snapshot 和 content replacement。
- Message action bar 将复制和分支入口合并为内联控件,减少悬浮按钮遮挡消息气泡或在长文本中跳动的问题。
- Context compact 期间聊天区显示 compacting 状态;compact 完成后展示可展开的 summary divider,并从 transcript 恢复为结构化状态。
- API retry 期间桌面聊天区会展示 retry 状态、attempt、HTTP status / network error、等待倒计时和错误摘要,减少长时间等待时的不透明感。
- Sidebar 和 TabBar 会根据 tab 状态和 chat store 状态共同展示运行中会话;后台 task 被 TaskStop / KillShell 停止后会更新为 stopped。
- Settings 里的 Plugins / Skills 浏览体验继续打磨,Skills 支持搜索,Plugins 统计区和按钮布局更适合窄屏和宽屏。
- 桌面 composer 多行输入时工具栏改为自然占位,不再覆盖 textarea 最后几行。
- macOS 桌面 CLI launcher 在交互式 TTY 下使用更稳定的 wrapper;原生 Terminal 直接启动 TUI 时保留直接输入,不再被 shell env capture 干扰。
- AGENTS.md 更新了更紧凑的 agent operating contract,继续强调 release notes、质量门禁和本仓库的自动化发布约束。
问题修复
- 修复 ChatGPT Official 选择后只保存 metadata、重启后丢失或回退到其他 provider 的问题。
- 修复 ChatGPT OAuth 授权在回调前失败、Codex OAuth URL 被拒绝、token exchange 请求形状不匹配等问题。
- 修复旧 OpenAI OAuth token、secure-storage cache 或 legacy token 文件在新登录状态中被错误复活的问题。
- 修复 provider settings JSON 写入 ChatGPT OAuth runtime env,导致用户配置文件混入运行时专用变量的问题。
- 修复直接 TUI 启动时沿用 stale provider proxy env,造成 provider 请求走错代理或错误 provider 环境的问题。
- 修复 General 里的 AI proxy timeout 未真正覆盖 proxy 请求超时的问题。
- 修复 OpenAI Codex context window 与自动 compact 判断不一致的问题。
- 修复 DeepSeek reasoning 历史在 OpenAI Chat proxy 转换中丢失,导致多轮推理上下文无法 round-trip 的问题。
- 修复 Claude attribution 只按 provider 而不按模型名判断,导致 OpenAI-compatible provider 归因策略不准确的问题。
- 修复 Claude Code billing header / CCH 签名在代理转换后不兼容部分上游校验的问题。
- 修复 macOS GUI 启动或 launcher 启动时 sidecar 在交互 TTY 下被 job control 暂停的问题。
- 修复停止后台任务后,桌面 UI 仍把任务或会话显示为运行中的问题。
- 修复运行中会话切换 tab 或导航到 Settings 后,Sidebar / TabBar 状态指示不一致的问题。
- 修复多行输入时 composer 工具栏覆盖输入内容的问题。
- 修复 Settings 扩展浏览页在窄屏下统计卡片、按钮和说明文字容易挤压的问题。
- 修复 workspace preview 相关测试时序不稳定,降低覆盖验证中的偶发失败。
验证
- 相关提交已新增和更新 ChatGPT Official provider、OAuth API、OAuth storage、OpenAI token exchange、model catalog、providerStore、ModelSelector、Settings provider UI 和 General Settings 网络配置测试。
- 相关提交已新增和更新 provider runtime env、network settings、OpenAI-compatible proxy、DeepSeek reasoning、Claude attribution、Claude Code CCH、Codex context window 和 auto compact 相关测试。
- 相关提交已新增和更新 session branching、desktop sessions API、MessageList、chatStore、sessionStore、Sidebar、TabBar、StreamingIndicator、background task stopped 状态和 API retry 状态测试。
- 相关提交已新增和更新 desktop CLI launcher、terminal shell environment、Settings Skills / Plugins、composer toolbar、workspace preview、conversation service 和 WebSocket memory event 回归测试。
- 多个功能分支分别跑过 targeted server / desktop / provider / OAuth / proxy / MessageList / Settings / ModelSelector / chatStore 测试;
v0.2.9发布前仍建议再跑一次bun run verify,并在有真实账号和网络条件时补一次 ChatGPT Official OAuth 登录 + 真实请求 smoke。
其他说明
- GitHub Release 正文继续以
release-notes/v0.2.9.md作为来源,发布时无需手动复制 Markdown。 - ChatGPT Official 依赖真实 OpenAI / ChatGPT OAuth 登录状态;没有账号或网络环境时,可以先跳过真实请求,只验证 UI、模型目录和状态恢复。
- 本版本包含网络代理、OAuth token、provider runtime env 和 local config 持久化相关变化;升级后如果遇到 provider 请求异常,请优先检查 Settings -> General 的 AI network 设置和 Providers 里的当前 provider。
- Context Compact 展示和 API retry 状态属于聊天时间线体验变化,发布前建议用一段长会话和一个可控失败的 provider 请求做人工复核。
安装说明
macOS
首次打开如果提示"已损坏"或"无法验证开发者",请执行:
xattr -cr /Applications/Claude\ Code\ Haha.app
Assets 15
Claude Code Haha v0.2.8
Claude Code Haha v0.2.8
这是一个围绕 /goal 目标管理新功能、Portable / Windows 桌面体验、运行时环境一致性、会话恢复和聊天交互稳定性 的版本。
相比 v0.2.7,本次最重要的变化是正式新增 /goal 目标管理能力:用户可以在 CLI、桌面端或 WebUI 中创建目标,运行中的目标会在桌面端保持可见,完成结果会进入对话历史并在刷新或恢复会话后继续保留。除此之外,本次也把一批此前散落在 worktree 或远端 main 里的修复正式收拢到主线:Windows 终端和 portable storage 变得可配置、可理解;桌面从 Finder / Dock 启动时能获得更接近真实终端的环境;会话、worktree、侧边栏恢复更可靠;同时补齐了自定义 slash command、未发送草稿、AskUserQuestion、多 agent 进度与结果展示、批量关闭运行中 tab、飞书引导和 provider 模型映射等日常使用问题。
Highlight
- 新增 /goal 目标管理:
/goal现在作为正式功能提供目标创建、运行中目标展示和完成结果留痕;完成态通过 Stop hook 持久化到 transcript,桌面端把运行中的 goal 放在紧凑 header,已完成 goal 回到聊天历史里展示。 - Portable storage 可视化配置:Settings 现在会说明当前配置目录来源,支持选择 portable data folder,并在需要时引导受控重启,让用户不用依赖环境变量也能理解和切换数据目录。
- Windows 终端与 sidecar 更可靠:Windows 用户可以配置内置终端启动 shell / Bash 路径;system fallback、portable Bash path 和显式 startup shell 的优先级更清晰,并恢复了 Windows x64 sidecar 兼容性修复。
- 桌面子进程环境对齐终端:桌面会话、MCP stdio 和 scheduled task 会捕获用户 login + interactive shell 环境,减少 Finder / Dock 启动时找不到
npx、Homebrew、nvm 或自定义 PATH 的问题。 - 会话恢复和工作流状态更稳:legacy Windows workdir、stale worktree、macOS
/varalias、侧边栏项目恢复和后台任务状态都补上了更明确的恢复路径。 - 聊天输入与 Agent 展示更干净:自定义 slash command 不再被 live update 覆盖;未发送草稿跨标签保留;多问题 AskUserQuestion 不串答案;选区添加至对话更贴近真实选区;Agent 背景进度回到 Agent 卡片内展示,完成结果优先展示可读报告,不再暴露原始 transport JSON。
- 集成和配置入口更友好:飞书未配置状态直接展示创建入口和必要步骤;provider 空模型槽会在 UI 和服务端统一归一化,避免空
ANTHROPIC_DEFAULT_*进入运行时。
主要更新
- Settings 新增更清晰的 storage / portable mode 区域,展示 active config directory 来源,并支持在 Tauri 桌面端选择 portable data folder。
- Tauri 原生层补齐 app mode / portable path / terminal config 的读写与重启准备逻辑,避免配置目录切换后状态不透明。
- Windows 终端设置支持自定义 Bash path 和桌面 terminal startup shell,并在无效路径保存时给出拦截。
- Windows x64 sidecar 构建恢复低指令集兼容路径,减少低配 Windows 机器启动失败风险。
- 桌面子进程启动时会合并用户 shell 环境,覆盖桌面 CLI 会话、scheduled task、MCP stdio 和 MCP preflight。
- 桌面更新检查支持系统代理和手动代理设置,且只作用于 app updater,不和 provider / model 代理混用。
- 新增
/goal目标管理入口,支持创建目标、跟踪当前目标状态,并把完成结果作为对话历史的一部分保留下来。 - 桌面
/goalUI 将运行中的目标显示在紧凑 header strip,完成目标进入 conversation flow,避免目标状态占用过多聊天空间。 /goal完成态通过 Stop hook 和 local command transcript 持久化,CLI、headless、桌面历史和 WebUI 能看到同一个完成结果。- 新增本地 Web UI 启动脚本,自动避开被占用端口,并把实际 backend URL 传给 Vite 前端。
- Agent / subagent 结果展示会保留终端侧 Markdown 报告;没有报告时,structured fallback 和 text-wrapped JSON 也会格式化成可读结果。
- 飞书设置未配置状态加入 OpenClaw 创建入口和两步配置提示,减少首次绑定卡住的问题。
问题修复
- 修复 legacy Windows session workdir、stale worktree 和 macOS
/private/varalias 导致项目或会话恢复不稳定的问题。 - 修复侧边栏项目移除后会话未删除但项目又无法重新显示的问题。
- 修复自定义
.claude/commandsslash command 在 CLI live update 后从桌面命令列表消失的问题。 - 修复桌面未发送 prompt 在切到 Settings、Terminal 或其他标签页后丢失的问题。
- 修复 AskUserQuestion 多问题场景下,自定义输入和选项状态互相覆盖的问题。
- 修复"添加至对话"浮层按鼠标位置而不是真实选区定位,导致遮挡选中文本或残留多个浮层的问题。
- 修复 assistant turn 已完成但后台 bash / task 仍在运行时,桌面状态把后台工作隐藏的问题。
- 修复
/goal完成结果在刷新或恢复会话后不可见,以及运行中 / 已完成 goal 在桌面 UI 中重复占位的问题。 - 修复 worktree startup 的一次性状态文案泄漏到后续 Thinking / execution bubble 的问题。
- 修复 Agent tool 调用期间 local_agent / remote_agent 后台事件被渲染成独立 transcript 卡片,导致重复展示和内部类型外露的问题。
- 修复 Agent 完成报告被 raw tool_result 覆盖,以及 structured fallback / text-wrapped JSON 在预览和结果弹窗里显示成原始 JSON 的问题。
- 修复 Agent 分组结果标签格式化在严格 TypeScript 构建下的类型安全问题。
- 修复批量关闭 tab 时绕过运行中会话确认,可能静默放弃正在运行任务的问题。
- 修复通知插件 listener cleanup 丢失
this上下文导致浏览器 shell 清理时报 unhandled rejection 的问题。 - 修复飞书 adapter 文件路径越界访问风险,并在解绑 / 删除会话时保持 adapter session mapping 清理。
- 修复 provider 主模型可用但 haiku / sonnet / opus 留空时,空模型槽仍进入运行时环境的问题。
- 修复 adapter coverage 中 WsBridge 测试偶发先发消息、后观察连接的时序问题。
验证
- 相关提交已新增和更新 portable storage、Settings、terminal shell、update proxy、sidecar build、Tauri native 和 Cargo lock 相关测试。
- 相关提交已新增和更新
/goalstate、Stop hook、headless 命令、CLI transcript、desktop ActiveSession 和 WebSocket memory event 相关测试。 - 相关提交已新增和更新 shell environment、MCP preflight、scheduled task、conversation service、provider service 和 adapter coverage 相关测试。
- 相关提交已新增和更新 session / worktree 恢复、sidebar recovery、slash commands、AskUserQuestion、ChatInput、MessageList、TabBar、Agent progress、Agent result formatting、desktop notification、Feishu settings 等回归测试。
- 多个功能分支分别跑过
bun run check:desktop、bun run check:server、bun run check:native、bun run check:coverage、bun run verify、adapter coverage,以及真实/tmp/goalCLI run、WebUI screenshot verification、selection popover、portable storage、Feishu setup、本地 Web UI 启动脚本的定向验证。 - 仍建议在正式发布前补充一次真实 Windows packaged app smoke、真实 Feishu 开发者账号流程,以及至少一次安装包级桌面聊天 / 设置 / 重启验收。
其他说明
- GitHub Release 正文继续以
release-notes/v0.2.8.md作为来源,发布时无需手动复制 Markdown。 - 本版本包含 storage / portable mode 和终端环境相关变化,升级后如遇到启动路径或配置目录异常,请优先保留诊断信息和当前 config directory 来源。
/goal是本版本面向用户新增的重点能力;发布前需要优先做一轮真实桌面会话、CLI 使用和 transcript 恢复验收。- Feishu 引导只是降低首次配置门槛,真实机器人创建、权限和菜单配置仍以飞书开发者控制台与项目文档为准。
安装说明
macOS
首次打开如果提示"已损坏"或"无法验证开发者",请执行:
xattr -cr /Applications/Claude\ Code\ Haha.app
Assets 15
Claude Code Haha v0.2.7
Claude Code Haha v0.2.7
这是一个围绕 Project Memory、项目化会话侧边栏、插件热刷新、聊天输入与桌面稳定性 的版本。
相比 v0.2.6,本次把桌面端从"能看到更多能力"继续推进到"能持续使用这些能力":Memory 变成项目树式资源面板;侧边栏按项目组织会话并持久保存偏好;插件启停、Skills 和 slash command 列表可以热刷新;聊天输入支持拖拽附件和更可读的数学公式渲染;同时补上了一批影响日常使用的滚动、复制、附件、缩放、启动诊断和 IM 完成状态问题。
Highlight
- Project Memory 变成项目树:Settings 里的 Memory 从分散列表升级为项目优先的文件树,支持真实路径恢复、项目搜索、Markdown 预览跳转,并让聊天中的 memory activity 使用统一的紧凑视觉语言。
- 项目化会话侧边栏:桌面侧边栏现在按 project root 组织会话,worktree 会话归并到源项目下,项目排序、隐藏、置顶等偏好在桌面和 H5 之间持久同步。
- 插件和 Skills 热刷新:桌面启停插件后,当前会话、空会话和
/api/skills能更快看到插件提供的 slash commands / skills,不再需要重启聊天或桌面应用。 - 聊天输入和阅读体验升级:桌面 composer 支持拖拽附件,Markdown 渲染支持常见数学公式,长聊天和公式密集内容的滚动与渲染成本也进一步降低。
- 桌面基础体验打磨:新增 Settings UI Zoom 滑杆并和快捷键统一;默认纯白主题;修复复制反馈、空会话布局、tab bar 拥挤、H5 滚动、附件大 payload 和启动白屏诊断。
- IM 流式卡片更可靠:飞书 / 钉钉卡片更新加上完成兜底,避免流式文本已经刷完但卡片仍停在输入中或阻塞 completion。
主要更新
- Project Memory 新增服务端 API、桌面 store、Settings 页面、聊天 memory activity 卡片,以及
/memory//context导航入口。 - Memory 项目路径会优先从当前 cwd、session 元数据和真实文件系统恢复,减少中文路径、空格路径和 legacy memory-only 项目显示成短横线或乱码。
- Memory 设置页改为项目树式导航,移除手动创建 memory 文件和误加的 project actions,让页面专注于浏览、搜索、编辑和预览已有 memory。
- 桌面侧边栏按项目 root 分组,避免 worktree 会话散落成多个路径;项目排序、隐藏、置顶和组织偏好持久化到 cc-haha 自有配置,并兼容 H5。
- 新增 Open Project 入口,支持从当前 session workDir 打开 Finder / 已检测到的本机 IDE,并使用本机应用图标;打包态图标 URL 也会正确走 desktop sidecar。
- General Settings 新增 UI Zoom 控制,并和
Command +、Command -、Command 0快捷键共用一套缩放状态。 - DeepSeek 等 provider 的 thinking 行为改为服从全局 Thinking 设置,并修复 reasoning-before-text 流式事件导致桌面状态显示空档的问题。
- 插件启停会刷新服务器和活跃 CLI 的 settings / plugin cache,让新会话 slash commands、空会话 skills 和当前会话插件命令保持一致。
- 桌面附件选择在 Tauri 环境下改为发送本地路径,避免多文件或大文件被内联为 data URL 导致 WebSocket / renderer payload 暴涨。
- 桌面 composer 支持从系统拖拽文件添加附件,并复用现有 path-only 附件管线,避免为拖拽单独引入大 payload 路径。
- Markdown 渲染支持常见 LaTeX 数学公式,并针对公式密集的长聊天降低 KaTeX 渲染和 DOM 成本。
问题修复
- 修复桌面 confirm / alert 权限缺失导致 Superpowers 计划确认或浏览器确认流程卡住的问题。
- 修复外部 IM、定时任务或其他入口创建的新会话需要重启桌面才可见的问题。
- 修复聊天选中片段复用时可能被当成文件附件处理的问题。
- 修复拖拽附件支持后 composer 的 slash / @ 文件弹层被裁剪的问题。
- 修复 restored chat 自动跳到最新、H5 点击最新消息暴露空白、发送新消息后 transcript 不滚到新 turn 等滚动问题。
- 修复混合 Markdown、数学公式、代码块、工具输出的长聊天被固定高度虚拟列表撑出空白区域的问题。
- 修复长桌面会话切换时渲染成本过高的问题,同时避免隐藏会话断开正在运行的 CLI。
- 修复直接调用
navigator.clipboard导致部分桌面复制入口成功与否不一致的问题,并为 H5 URL、QR link、workspace path 等复制动作补充 toast 反馈。 - 修复 Settings 写入和插件状态写入共用
~/.claude/settings.json时,旧缓存可能把桌面偏好覆盖回去的问题。 - 修复 Settings 中 Skills、Plugins、MCP 资源发现和运行时不一致的问题,包括 linked skills、插件 skills 和合并来源 MCP。
- 修复打包态 Open Project 图标被 CSP 或相对 URL 阻止加载的问题,并避免 macOS stale command shim 让已卸载 IDE 继续显示。
- 修复 Activity、Memory activity、Goal UI、Zoom slider 在白色 / 深色主题下对比度和视觉风格不一致的问题。
- 修复启动阶段 React 还没挂载就失败时只剩白屏的问题,现在 HTML 层 watchdog 会显示可复制的诊断信息。
- 修复 legacy provider 配置迁移时缺乏 cc-haha 专属落点的问题;迁移会导入到
~/.claude/cc-haha,不会删除原始共享配置。 - 修复插件 marketplace / cache 清理路径过宽的问题,避免自动删除 managed cache 目录外的用户路径。
- 修复飞书 / 钉钉流式卡片更新超时、文本已 flush 但最终状态未结束的问题。
- 修复模型输出里的常见数学公式只能看到 LaTeX 原文的问题,并避免公式密集内容导致聊天渲染成本过高。
验证
- 相关提交已新增和更新 Project Memory API、Memory Settings、memory event WebSocket、Markdown preview、路径恢复和主题 token 测试。
- 相关提交已新增和更新 Sidebar 项目分组、desktop UI preferences、Open Project、Settings zoom、plugin hot reload、Skills / Plugins / MCP 发现测试。
- 相关提交已新增和更新 H5 滚动、copy fallback、附件 path-only、拖拽附件、Markdown 数学公式、startup diagnostics、provider thinking、settings cache、IM card completion 等回归测试。
- 多个功能分支分别通过过
bun run check:desktop、bun run check:server、bun run check:native、bun run check:adapters、bun run check:coverage、bun run verify、desktop build,以及针对 Memory、Goal、Zoom、Sidebar、Open Project、H5 滚动和 IM 的浏览器或业务 smoke。
其他说明
- GitHub Release 正文继续以
release-notes/v0.2.7.md作为来源,发布时无需手动复制 Markdown。 - 本版本包含较多桌面状态和本地持久化迁移:升级后如遇到启动异常,请优先保留诊断页内容反馈,不要删除
~/.claude或~/.claude/cc-haha。 - IM 流式卡片修复需要飞书 / 钉钉真实环境才能完整复核;没有对应环境时可先以桌面和 adapter 测试结果作为基础信号。
安装说明
macOS
首次打开如果提示"已损坏"或"无法验证开发者",请执行:
xattr -cr /Applications/Claude\ Code\ Haha.app
Assets 15
Claude Code Haha v0.2.6
Claude Code Haha v0.2.6
这是一个围绕 H5 手机访问安全恢复、桌面会话管理、文件提及搜索和桌面体验细节 的版本。
相比 v0.2.5 的临时放行,本次重新把 H5/LAN 访问收回到显式开启和 token 配对模型里,同时把入口移到独立设置页,方便手机扫码使用。桌面侧补上了批量删除会话、纯白主题、@ 文件搜索一致性,以及一些聊天输入和展示问题的修复。
Highlight
- H5 安全访问恢复:H5/LAN 访问重新要求本地显式开启,通过 QR 链接携带一次性显示的 token,远程 API、proxy 和 WebSocket 不再裸露。
- H5 入口更清晰:Settings 新增独立 H5 Access 页面,支持启用确认、生成 QR、复制访问 URL,并更新 README 展示真实手机端体验。
- 会话批量管理:桌面侧边栏新增批量管理模式,支持全选、分组选择、Shift 范围选择和删除已选会话。
- @ 文件搜索对齐 CLI:桌面文件提及改为 git-first 搜索,遵守项目 ignore 规则,减少
node_modules、构建产物等噪声。 - 桌面体验打磨:新增纯白主题,刷新品牌图标,修复长 URL 撑破聊天布局和多 tab 草稿串台。
主要更新
- H5 访问策略区分本地可信请求、内部 SDK 请求和远程浏览器请求;H5 关闭时远程能力接口默认失败,开启后远程能力接口必须使用 H5 token。
- H5 控制面保持本地桌面专属,远程浏览器不能自己开启或修改 H5 访问配置。
- 浏览器启动会校验
/health响应形状,避免把 Vite SPA fallback 误当成后端可用。 - Settings 将 H5 Access 从 General 中独立出来,并补齐 token 生成、QR、复制 URL、错误提示和 public URL 配置。
- 侧边栏批量管理保留明确的"删除已选"路径,移除容易误解的按天数快捷清理,并改善连续选中行的视觉区分。
- @ 文件提及搜索使用 tracked files、untracked files with exclude-standard,以及非 git 目录下的 ripgrep fallback;目录候选也从这些结果中推导。
- 文件提及菜单的路径显示和插入行为进一步对齐 CLI,减少只显示文件名导致的歧义。
- 纯白主题覆盖更多桌面表面,避免 warm classic 颜色残留到中性白色工作区。
- 桌面和文档资源刷新为新 logo,并修复 app icon 在桌面里出现双层背景的问题。
问题修复
- 修复长 URL 或长 Markdown 链接把用户消息气泡撑出聊天列的问题。
- 修复多个会话 tab 之间未发送草稿和附件状态互相泄漏的问题。
- 修复 OpenAI-compatible Responses API 缺失或返回不同 usage 字段时,usage 转换不够兼容的问题。
- 修复 H5 远程来源、CORS、SDK 路由和本地 loopback 调用之间边界不清导致的访问误判。
- 修复 H5 启动失败时后续 API 报 JSON parse 之类不直观错误的问题。
验证
- 已新增和更新 H5 access policy、auth、CORS、Settings、desktop runtime 相关回归测试。
- 已新增和更新 session batch delete、sidebar batch mode、ChatInput、UserMessage、FileSearchMenu、filesystem API 和 OpenAI-compatible usage fallback 相关测试。
- 相关提交已分别跑过
bun run check:server、bun run check:desktop、bun run check:coverage、bun run verify、桌面 build、docs build,以及针对 H5、批量管理、草稿隔离和图标显示的浏览器 smoke。
其他说明
- GitHub Release 正文继续以
release-notes/v0.2.6.md作为来源,发布时无需手动复制 Markdown。 - H5 是给个人或可信团队使用的浏览器访问入口,不是公开多租户登录系统;请只在可信网络和可信来源下开启,并妥善保存生成的 token。
安装说明
macOS
首次打开如果提示"已损坏"或"无法验证开发者",请执行:
xattr -cr /Applications/Claude\ Code\ Haha.app