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
首次打开如果提示"已损坏"或"无法验证开发者",请执行:
:::bash
xattr -cr /Applications/Claude\ Code\ Haha.app