mirror of
https://github.com/NanmiCoder/cc-haha
synced 2026-07-16 13:03:31 +08:00
The release branch has moved substantially past v0.2.6, so this records the desktop version bump and the release note that will be reviewed before the tag is created. The note groups the large post-v0.2.6 range by user-facing areas instead of replaying the raw commit list. Constraint: The user wants to push the release-prep commit for manual GitHub development testing before any tag is created. Rejected: Run scripts/release.ts directly | it would create the release commit and annotated tag before review. Confidence: high Scope-risk: narrow Directive: Do not create v0.2.7 tag until manual GitHub validation is complete. Tested: bun run scripts/release.ts 0.2.7 --dry Tested: git diff --check Not-tested: Full release gate or tag-triggered release workflow.
8.2 KiB
8.2 KiB
Claude Code Haha v0.2.7
这是一个围绕 桌面 /goal 工作流、Project Memory、项目化会话侧边栏、插件热刷新和桌面稳定性 的版本。
相比 v0.2.6,本次把桌面端从“能看到更多能力”继续推进到“能持续使用这些能力”:/goal 现在可以跨 CLI、桌面和恢复会话保持可见;Memory 变成项目树式资源面板;侧边栏按项目组织会话并持久保存偏好;插件启停、Skills 和 slash command 列表可以热刷新;同时补上了一批影响日常使用的滚动、复制、附件、缩放、启动诊断和 IM 完成状态问题。
Highlight
- /goal 桌面闭环:新增并打磨
/goal目标循环在桌面端的展示、恢复、历史面包屑和状态同步;恢复会话后仍能看到已完成或进行中的 goal,桌面 composer 保持单一/goal命令并支持更清晰的 set / clear 交互。 - Project Memory 变成项目树:Settings 里的 Memory 从分散列表升级为项目优先的文件树,支持真实路径恢复、项目搜索、Markdown 预览跳转,并让聊天中的 memory activity 使用统一的紧凑视觉语言。
- 项目化会话侧边栏:桌面侧边栏现在按 project root 组织会话,worktree 会话归并到源项目下,项目排序、隐藏、置顶等偏好在桌面和 H5 之间持久同步。
- 插件和 Skills 热刷新:桌面启停插件后,当前会话、空会话和
/api/skills能更快看到插件提供的 slash commands / skills,不再需要重启聊天或桌面应用。 - 桌面基础体验打磨:新增 Settings UI Zoom 滑杆并和快捷键统一;默认纯白主题;支持拖拽附件;修复复制反馈、空会话布局、tab bar 拥挤、长会话滚动、H5 滚动、附件大 payload、数学公式可读性和启动白屏诊断。
- IM 流式卡片更可靠:飞书 / 钉钉卡片更新加上完成兜底,避免流式文本已经刷完但卡片仍停在输入中或阻塞 completion。
主要更新
/goal支持从 transcript 恢复 active / completed 状态,并把 goal 生命周期事件作为可见桌面消息恢复出来。/goal用户侧语法简化为设置目标和清除目标,避免旧的 status / pause / resume 等管理子命令把目标状态变复杂。- Goal 活动条和 transcript 事件改用接近 Memory / tool result 的紧凑块状样式,减少大型成功卡片对聊天流的干扰。
- 长时间 goal 运行时,桌面会展示后台 agent 的 start / progress 事件,避免验证或执行阶段看起来像停住了。
- 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。
- 修复旧
/goal status等已移除子命令仍可替换当前目标,导致 goal 状态看起来卡住的问题。 - 修复直接调用
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 原文的问题,并避免公式密集内容导致聊天渲染成本过高。
验证
- 相关提交已新增和更新 goal state / evaluator、headless command、session restore、后台 agent progress、desktop MessageList、ActiveSession、composerUtils、ChatInput 等测试。
- 相关提交已新增和更新 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