Skip to content

Releases: NanmiCoder/cc-haha

Claude Code Haha v0.4.3

17 Jun 09:40

Choose a tag to compare

Claude Code Haha v0.4.3

这是 v0.4.2 之后的桌面体验、provider/runtime、agent-loop 和 release 签名验证补丁版本,重点修复真实使用中暴露出来的上下文窗口声明、流式请求稳定性、后台 subagent 活动展示、工作区预览、会话搜索和终端快捷键问题。

相比 v0.4.2,本版本新增全局会话全文搜索、Workbench 面板 tab 化、终端剪贴板快捷键开关,并补齐 macOS Developer ID 签名/公证发布链路。0.4.3 建议先通过 GitHub Actions 的 Draft Release 路径生成全平台产物,用于验证新增 macOS 签名和 Gatekeeper 行为,再决定是否正式公开发布。

Highlights

  • macOS 签名发布链路进入验证阶段:正式 release workflow 会预检 macOS 证书、Apple ID、app-specific password 和 Team ID;secrets 完整时构建签名/公证的 DMG/ZIP,并额外跑 Gatekeeper package-smoke。手动触发 workflow 时 draft 默认开启,适合先生成草稿 release 和全平台 assets。
  • Provider/runtime 上下文声明更准确:provider 设置支持 1M context 声明和自定义 context window,Anthropic providers 默认带上 Tool Search 能力,新会话会优先使用 provider 的主模型,减少模型能力和 UI 状态不一致。
  • 流式请求更稳:首 token 等待会尊重请求超时,整体 stream 会限制 free-trickling provider 的最长持续时间;中途遇到可恢复的 transient tool-call 错误会重试,而不是直接让本轮失败。
  • 桌面工作流更顺手:新增全局 session 全文搜索,Workbench 面板可扩展为 tabs;终端设置支持剪贴板快捷键,工具写入/编辑进度、pending JSON 输入、workspace diff preview 和输出卡片链接也更可靠。
  • 后台 agent 和聊天恢复更完整:后台 subagent 工具活动会流式同步到桌面;重开会话后恢复 token usage,恢复历史时隐藏 slash-command breadcrumb,打断后 pending tool spinner 会正确停止。

Fixes

  • 修复 provider 设置无法声明 1M context、server 侧没有正确透传 provider context window 的问题 (#814, #830)。
  • 修复 Anthropic providers 没有默认启用 Tool Search 能力,导致相关工具能力声明缺失的问题 (#823)。
  • 修复新建会话没有优先使用 provider 主模型的问题 (#818)。
  • 修复重开会话后 token usage 丢失,以及恢复历史会话时 slash-command breadcrumb 泄漏到聊天气泡的问题 (#820, #833)。
  • 修复后台 subagent 的工具活动不会实时流到桌面的问题,桌面现在能看到后台 agent 的工具进展 (#829)。
  • 修复慢速或异常 provider 的流式边界:首 token 等待、整体 stream 时长和 transient mid-stream tool-call 错误都会按更明确的规则处理 (#766, #826)。
  • 修复回答进行中手动滚动时 MessageList 仍被 thinking/autoscroll 拉回底部的问题 (#727)。
  • 修复 Memory 空状态和工具 autoscroll 状态处理不完整的问题 (#728, #729)。
  • 修复 pending tool JSON 输入不换行、工具写入/编辑进度不可见,以及 interrupt 后 pending spinner 不停止的问题 (#703, #707, #712, #751)。
  • 修复 workspace diff preview 不能按最新工作区状态刷新、预览时 workspace navigator 不自动收起的问题 (#706, #709, #724)。
  • 修复输出卡片中的 log 链接被当成可打开目标,导致跳转到不该跳转位置的问题 (#714)。
  • 修复 docked terminal 尺寸不稳定,以及终端复制/粘贴快捷键缺少桌面 host 能力开关的问题 (#708, #837)。
  • 修复 release workflow 和 update metadata 合并链路,支持签名 Electron release 更新,并补齐标准 update metadata 校验。

Features and Improvements

  • 新增全局会话全文搜索入口,可搜索历史 sessions、消息内容和相关 metadata,并从侧边栏快捷打开结果。
  • Workbench 面板支持 tab 化展示,workspace、terminal 等面板可以在更宽的工作区布局中展开使用 (#730)。
  • 终端设置新增剪贴板快捷键配置,Electron host 暴露对应 capability,减少跨平台终端复制/粘贴冲突 (#837)。
  • Provider 设置页补齐 context window、Tool Search 默认值和主模型选择相关 UI、类型和持久化行为 (#814, #818, #823, #830)。
  • Release 文档新增桌面安装和自动更新说明;release workflow 会校验完整 assets、标准 update metadata,并支持签名 macOS 构建的 Gatekeeper 检查。

Issue 对照

  • #703:修复 interrupt 后 pending tool spinner 不停止。
  • #706 / #709:修复预览时 workspace navigator 展示和收起逻辑。
  • #707 / #751:新增工具写入/编辑进度展示。
  • #708:修复 docked terminal 尺寸。
  • #712:修复 pending tool JSON 输入换行。
  • #714:修复输出卡片 log link 路由。
  • #724:修复 workspace diff preview 刷新。
  • #727:修复 thinking 状态下手动滚动被打断。
  • #728 / #729:修复 Memory 空状态和工具 autoscroll。
  • #730:Workbench 面板扩展为 tabs。
  • #766:修复 free-trickling provider stream 持续时间边界。
  • #814:支持 1M provider context 声明。
  • #818:新会话默认使用 provider 主模型。
  • #820:恢复会话 token usage。
  • #823:Anthropic providers 默认启用 Tool Search。
  • #826:首 token 等待尊重请求超时。
  • #829:后台 subagent 工具活动流式同步到桌面。
  • #830:尊重自定义 provider context window。
  • #833:恢复历史时隐藏 slash-command breadcrumbs。
  • #837:支持终端剪贴板快捷键配置。

Notes

  • GitHub Release 正文继续以 release-notes/v0.4.3.md 作为来源。
  • 桌面端发布版本号来源是 desktop/package.json;root package.json 仍保留本地开发用的 999.0.0-local。发布时需确保 desktop/package.json、GitHub Release tag v0.4.3release-notes/v0.4.3.md 三者严格对齐。
  • 本次建议先走草稿发布:把 0.4.3 版本提交推到 main 后,手动触发 Release Desktop workflow,并保持 draft=true;不要先用 git push origin main --tags 走公开 tag release 路径。
  • 草稿 workflow 会先构建 macOS ARM64、macOS x64、Windows x64、Linux x64、Linux ARM64 全平台产物,再创建 Draft Release。确认 macOS 签名、公证、Gatekeeper smoke 和自动更新 metadata 后,再决定是否公开 release。
  • 发布前建议至少跑 bun run scripts/release.ts 0.4.3 --drybun run verify;如果 provider credentials/quota 可用,再跑 bun run quality:gate --mode release --allow-live --provider-model <provider:model[:label]>
  • 本版本覆盖 release、native、desktop、server、provider/runtime 和 agent-loop 多个表面;建议额外 smoke:macOS 签名 DMG 首次打开、自动更新 metadata、全局搜索、Workbench tabs、provider context window、Tool Search 默认值、后台 subagent 工具活动、终端快捷键、慢 provider stream。

安装

到本页面底部的 Assets 里,按系统和 CPU 架构下载对应文件:

平台 文件
macOS Apple Silicon(M 系列) Claude-Code-Haha-0.4.3-mac-arm64.dmg
macOS Intel Claude-Code-Haha-0.4.3-mac-x64.dmg
Windows x64 Claude-Code-Haha-0.4.3-win-x64.exe
Linux x64 Claude-Code-Haha-0.4.3-linux-x86_64.AppImageClaude-Code-Haha-0.4.3-linux-amd64.deb
Linux ARM64 Claude-Code-Haha-0.4.3-linux-arm64.AppImageClaude-Code-Haha-0.4.3-linux-arm64.deb

macOS

双击 DMG 把应用拖入「应用程序」。如果本次 Draft Release 的 macOS 签名和公证验证通过,首次打开应直接走正常 Gatekeeper 流程。

如果仍提示"已损坏"或"无法验证开发者",说明当前产物可能仍是 unsigned fallback 或本地 quarantine 状态未清理,可在终端执行:

xattr -cr /Applications/Claude\ Code\ Haha.app

也可以在「系统设置 → 隐私与安全性」里点"仍要打开"。

Windows

双击 .exe 安装。SmartScreen 提示时点「更多信息」→「仍要运行」。

Linux

AppImage:

chmod +x Claude-Code-Haha-0.4.3-linux-x86_64.AppImage
./Claude-Code-Haha-0.4.3-linux-x86_64.AppImage

deb:

sudo apt install ./Claude-Code-Haha-0.4.3-linux-amd64.deb

ARM64 机器把文件名换成 ...-linux-arm64.AppImage / ...-linux-arm64.deb

Claude Code Haha v0.4.2

13 Jun 04:28

Choose a tag to compare

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.1localhost::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;root package.json 仍保留本地开发用的 999.0.0-local。发布时需确保 desktop/package.json、Git tag v0.4.2release-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.AppImageClaude-Code-Haha-0.4.2-linux-amd64.deb
Linux ARM64 Claude-Code-Haha-0.4.2-linux-arm64.AppImageClaude-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

Claude Code Haha v0.4.1

10 Jun 18:12

Choose a tag to compare

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;root package.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.AppImageClaude-Code-Haha-0.4.1-linux-amd64.deb
Linux ARM64 Claude-Code-Haha-0.4.1-linux-arm64.AppImageClaude-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

Claude Code Haha v0.4.0

03 Jun 16:43

Choose a tag to compare

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 指令体验打磨agent slash 走正常聊天链路并流式展示进度,选择气泡更稳定,会话标题按用户语言生成。
  • 上下文与图片输入兼容性改进:恢复大图和常见长截图读取,provider 上下文窗口估算更准确。
  • Provider 更新:MiniMax preset 升级到 MiniMax-M3。

Fixes

  • 修复 Windows 上自定义窗口装饰、任务栏标识(AppUserModelID)、PowerShell 终端选择转发、窗口导航等与开发端 macOS 不一致的行为 (#665)。
  • 修复退出应用时 sidecar 子进程残留为孤儿进程。
  • 修复 macOS 外接显示器下菜单栏出现残影。
  • 修复 sidebar、titlebar、tab bar 的窗口拖拽区域失效。
  • 修复 agent slash 指令:改走正常聊天链路、流式展示执行进度、发送前选择可编辑 (#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.AppImageClaude-Code-Haha-0.4.0-linux-amd64.deb
Linux ARM64 Claude-Code-Haha-0.4.0-linux-arm64.AppImageClaude-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

Claude Code Haha v0.3.2

31 May 19:44

Choose a tag to compare

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

Claude Code Haha v0.3.1

25 May 16:56

Choose a tag to compare

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

Claude Code Haha v0.3.0

23 May 17:29

Choose a tag to compare

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

Claude Code Haha v0.2.9

21 May 08:06

Choose a tag to compare

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_oauth runtime 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

Claude Code Haha v0.2.8

18 May 20:27

Choose a tag to compare

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 /var alias、侧边栏项目恢复和后台任务状态都补上了更明确的恢复路径。
  • 聊天输入与 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 目标管理入口,支持创建目标、跟踪当前目标状态,并把完成结果作为对话历史的一部分保留下来。
  • 桌面 /goal UI 将运行中的目标显示在紧凑 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/var alias 导致项目或会话恢复不稳定的问题。
  • 修复侧边栏项目移除后会话未删除但项目又无法重新显示的问题。
  • 修复自定义 .claude/commands slash 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 相关测试。
  • 相关提交已新增和更新 /goal state、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:desktopbun run check:serverbun run check:nativebun run check:coveragebun run verify、adapter coverage,以及真实 /tmp /goal CLI 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

Claude Code Haha v0.2.7

16 May 16:15

Choose a tag to compare

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:desktopbun run check:serverbun run check:nativebun run check:adaptersbun run check:coveragebun 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