# 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 ```