程序员阿江(Relakkes) 2950cef662 Prepare v0.2.3 release for H5 mobile access
The post-v0.2.2 changes are now summarized in the release body with the user-facing highlights first, while process-only H5 hardening is described as part of the new feature instead of old-version bug fixes. Desktop and Tauri version files are aligned to the release note version.

Constraint: GitHub Release body is sourced from release-notes/vX.Y.Z.md in the tagged commit
Constraint: Problem fixes should describe issues users could have seen in prior releases, not internal fixups for unreleased work
Rejected: Put every fix commit under 问题修复 | mixes development cleanup with released-user regressions
Confidence: high
Scope-risk: narrow
Tested: git diff --check
Tested: git diff --cached --check
Tested: bun run scripts/release.ts 0.2.3 --dry
Tested: version consistency check for desktop package, Tauri config, Cargo.toml, and Cargo.lock
Not-tested: Full bun run verify; release note and version bump only
2026-05-10 22:40:06 +08:00

74 lines
7.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Claude Code Haha v0.2.3
这是一个以 **H5 手机访问、桌面用量统计、回复语言控制和 Computer Use 配置稳定性**为主的版本。
相比 `v0.2.2`,本次最大的变化是把桌面端的 H5 浏览器访问从实验方案推进到可配置、可认证、可在手机上使用的完整链路:用户可以在桌面设置里开启 H5、管理访问 token 和允许的来源,并通过局域网或反向代理在手机浏览器里使用聊天界面。同时,桌面端新增了本地 token 用量活动视图General 设置里可以直接配置回复语言Computer Use 也补齐了自定义 Python 解释器和虚拟环境重建能力。
这个版本的“问题修复”只聚焦已经发布版本中用户可能实际遇到的问题,例如 Windows / conda 环境下 Computer Use Python 识别失败、聊天滚动和右键菜单交互异常、生成标题带内部标记、上下文用量超过 100%、定时任务启动入口不稳定,以及第三方 provider 缺失 usage 字段导致的兼容性问题。H5 相关的 token、CORS、移动端布局和局域网访问收口属于本次新功能成型过程放在功能说明里统一表达。
## Highlight
- **H5 手机浏览器访问成型**:桌面设置新增 H5 开关、一次性 token、来源白名单和访问 URL支持局域网手机访问也支持反向代理场景。
- **手机端聊天体验重做**H5 在手机宽度下切换为聊天优先布局,侧边栏变成抽屉,模型、权限、项目和 worktree 选择器改用移动端底部面板。
- **远程访问安全边界补强**H5 REST、WebSocket、CORS 和健康检查统一走 H5-aware auth远程 token 不会泄漏到本地浏览器会话。
- **Token 用量活动视图**Settings 新增本地 Claude Code CLI transcript 用量统计,可以查看最近会话、消息、工具、模型 token 和每日活动。
- **回复语言可视化配置**General 设置新增回复语言选择器,直接写入 `~/.claude/settings.json` 的 CLI `language` 配置。
- **Computer Use Python 更可控**:用户可以指定自定义 Python 解释器,解决 Windows / conda 等环境下自动识别失败的问题,并在切换解释器后可靠重建对应虚拟环境。
## 主要更新
- 新增 H5 访问控制面:用户可以在桌面 General 设置里开启 H5、生成 / 复制 token、配置允许来源并获取浏览器访问地址。
- 远程 H5 访问接入服务端认证和 CORSAPI、proxy、WebSocket、health 响应和预检请求统一识别 H5 token 与来源限制,避免直接暴露桌面 API。
- 打包后的桌面 sidecar 支持绑定局域网地址,同时桌面控制 URL 仍保留在 loopback手机可以通过同一 Wi-Fi 访问 H5 页面。
- 浏览器启动流程新增 H5 凭据入口:非本地 backend 需要输入 H5 token本地 Tauri 和 localhost 开发路径保持原有行为;远程 token 不会跟随后续本地浏览器会话。
- H5 手机布局切换为聊天优先:移动端隐藏 desktop-only 工作区和终端面板侧边栏默认收起composer 和选择器使用更适合触控的布局,并压缩顶部信息区给聊天内容留出更多空间。
- 新增共享 `MobileBottomSheet` 交互,用于手机端模型、权限、项目、分支和 worktree 等选择器,避免桌面 popover 在窄屏上不可用。
- H5 局域网访问会优先使用当前自动检测到的 LAN URL避免打包应用重启或端口变化后继续展示旧地址显式配置的公网反向代理地址仍会保留。
- 手机 H5 的空会话 composer 和 workspace diff 展示做了窄屏适配,生成代码 diff 时可以横向滚动查看长行,不会把代码强行压进手机宽度。
- 新增桌面 Token usage / Activity 页面,从本地 CLI transcript 汇总 session、message、tool、model token、subagent token 和每日活动数据。
- General 设置新增回复语言选择器,支持预设语言写入 CLI language 配置,让后续会话默认按指定语言回复。
- Computer Use 设置新增自定义 Python interpreter 路径,后端环境检查和 venv 创建会优先使用用户指定的解释器,并用 marker 文件记录 venv 对应的解释器,避免 conda / pyenv / venv 包装路径判断不准。
- 定时任务结果摘要改用共享 Markdown 渲染器展示,链接、列表、加粗、代码等格式不再以原始 Markdown 文本显示。
- README 首页改为突出桌面应用作为主要入口更新桌面工作流、Token usage、H5 access 和 worktree 变更截图,同时保留源码启动说明。
## 问题修复
- 修复 Windows / conda 等环境下 Computer Use 自动 Python 发现不可靠的问题(对应 issue #331);用户现在可以在设置中手动指定 Python 路径。
- 修复切换 Computer Use 自定义 Python 后仍复用旧 venv 状态的问题;现在会记录实际选择的解释器路径,并在解释器变化时重建依赖环境。
- 修复会话 tab 切换或阅读历史时滚动位置丢失的问题;现在会保留每个 session 的滚动上下文,并在暂停自动跟随时显示跳到底部按钮。
- 修复流式输出时 `jump to latest` 按钮因程序滚动事件短暂闪烁的问题。
- 修复右键点击侧边栏会话项时上下文菜单不出现的问题,折叠侧边栏下也能正确打开菜单。
- 修复 generated session title 可能包含内部 XML / slash-command 元数据的问题;桌面显示和服务端生成路径共用标题清理逻辑。
- 修复上下文 token 用量在某些大窗口模型下超过 100% 的显示问题;当前上下文总量会按模型 context window clamp。
- 修复 AskUserQuestion 没有尊重 CLI `multiSelect` 标记的问题;只有显式 multi-select 的问题才允许多选,并会把响应发回产生 prompt 的 session。
- 修复自定义 provider 或 Anthropic-compatible fallback 响应缺失 usage 字段时 transcript、side query 或成本统计报错的问题。
- 修复创建、编辑或删除 custom agent 后 `/agents` 和 TUI agent wizard 仍读取缓存旧定义的问题。
- 修复 scheduled task 子进程可能继承陈旧 `CLAUDE_CODE_ENTRYPOINT` 的问题;默认任务启动入口现在稳定走 SDK CLI。
- 修复继续已 materialized 的 worktree 会话时重复显示 worktree startup 状态、并重复传入 worktree 创建参数的问题。
- 修复 project context chip 在紧凑模式下左对齐的问题。
## 文档与测试
- 新增 `docs/desktop/06-h5-access.md`,说明 H5 的 opt-in 设置、token 使用、CORS 来源、局域网访问和反向代理建议。
- 新增 H5 访问设计与实施计划文档,记录 opt-in 浏览器访问的安全边界和实现拆分。
- 更新中英文 README让新用户优先看到桌面端下载、核心工作流和最新截图。
- 新增 H5 access service、auth、API、CORS、browser bootstrap、mobile layout、settings store、Computer Use Python、Activity stats、session title、AskUserQuestion、MessageList、TaskRunsPanel 等回归测试。
- 桌面 Token usage 变更跑过 `bun run check:desktop``bun run check:server`H5 mobile 变更跑过桌面 lint、build、服务端 H5 auth 测试、局域网 URL smoke 和手机 viewport smokeComputer Use Python 变更跑过后端与桌面设置相关测试。
## 其他说明
- GitHub Release 正文继续以 `release-notes/v0.2.3.md` 作为来源,发布时无需再手动复制 Markdown。
- H5 是显式开启的个人 / 团队浏览器访问能力,不是公开多租户认证系统;请只配置可信来源,并妥善保管生成的 token。
- 发布 workflow 去掉了 tag 发布时的 release preflight quality gate发版前仍应在维护者机器上按需运行本地 `bun run verify` 或 release gate。
- 如果通过手机访问 H5请优先使用同一局域网地址反向代理部署时需要保留 WebSocket upgrade 和路径前缀。
## 安装说明
### macOS
首次打开如果提示"已损坏"或"无法验证开发者",请执行:
```bash
xattr -cr /Applications/Claude\ Code\ Haha.app
```