mirror of
https://github.com/NanmiCoder/cc-haha
synced 2026-07-16 13:03:31 +08:00
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
74 lines
7.9 KiB
Markdown
74 lines
7.9 KiB
Markdown
# 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 访问接入服务端认证和 CORS:API、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 smoke;Computer 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
|
||
```
|