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