程序员阿江(Relakkes) b28867d551 release: prepare v0.4.6
Prepare the v0.4.6 desktop release note, bump the desktop package version, and refresh README/docs guidance for signed releases and updater validation.

Tested: bun run scripts/release.ts 0.4.6 --dry
Tested: bun test scripts/pr/release-workflow.test.ts scripts/release-update-metadata.test.ts scripts/quality-gate/package-smoke/index.test.ts
Tested: bun run check:policy
Tested: bun run check:docs
Not-tested: bun run verify; release prep was validated with docs and release-focused gates only.
Confidence: high
Scope-risk: narrow
2026-07-09 17:56:51 +08:00

104 lines
7.5 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.4.6
这是 `v0.4.5` 之后的桌面功能和稳定性版本,重点新增技能市场和会话活动面板,同时补齐 TeamoRouter 供应商、更新流程、便携数据目录、终端、输出风格本地化、浏览器 zoom、高 DPI 预览和 provider stalled stream 诊断等问题。
相比 `v0.4.5`本版本让用户可以直接在桌面端发现、预览、安装和管理第三方技能也把会话中的任务、后台任务、SubAgent 和团队活动集中到右侧活动面板,减少主聊天区噪音并提升多 Agent 工作流可见性。
## Highlights
- **技能市场上线**:新增桌面端技能市场,聚合 ClawHub 与 SkillHub支持搜索、筛选、分页、详情、文件预览、安装确认、卸载和已安装状态识别。
- **技能安装更保守**:市场安装链路补齐风险标签、扫描摘要、来源状态、免责声明和不可确认风险阻断,避免把上游不完整或高风险结果误展示成安全可装。
- **会话活动面板**:新增右侧活动面板,集中展示 tasks、background tasks、SubAgent、team activity 和 sourcesSubAgent 运行可进入独立详情页查看。
- **Agent 工作流更清楚**SubAgent 活动行加入本地头像和状态,工具调用组默认折叠,并在流式更新中保留用户手动展开/折叠状态。
- **更新与正式发布更稳**:公开 release 会先保持 draft等全平台安装包、blockmap 和 `latest*.yml` 更新元数据上传并校验完成后再发布,降低自动更新拿到不完整资产的风险。
- **Provider 和平台补齐**:新增 TeamoRouter provider 预设provider 流式响应卡住时增加 watchdog 诊断;浏览器 zoom、高 DPI 坐标和 Windows/macOS/Linux 发布资产继续收敛。
## Fixes
- 修复检查更新流程中重复检查可能清空待安装更新的问题如果重启安装没有让桌面端退出UI 会恢复到可操作状态 (#797)。
- 修复正式 GitHub Release 可能在 updater 资产未完整上传前公开的问题;现在会先创建 draft完整校验发布资产和标准更新元数据后再取消 draft。
- 修复更换数据存储位置后,窗口状态等 best-effort 写入失败可能导致权限错误持续弹出的问题;写入失败会被捕获并反馈到设置状态 (#949)。
- 修复 Terminal 设置页重复触发 terminal runtime 启动,导致命令行出现两行的问题,并补齐 stale async start 的销毁保护 (#964, #967)。
- 修复 General -> 输出风格中内置选项名称和说明没有按当前语言本地化的问题 (#966)。
- 修复内置浏览器 zoom/scale 在高 DPI 下坐标和交互区域不稳定的问题,缩放控件改为浮在预览区右下角,避免被 native WebContentsView 覆盖 (#952)。
- 修复 provider 流式响应中途停住时缺少明确诊断的问题,新增分阶段 watchdog 和更稳定的桌面 WebSocket 错误码。
- 加固 Telegram adapter 命令处理和桌面导航 guard减少异常输入或外部跳转带来的风险。
- 修复技能市场搜索、详情预览、fallback 缓存、主题色、loading 状态和卡片风险文案中的若干边界问题。
## Features and Improvements
- 新增技能市场 API 和桌面端 Market 页面,支持 ClawHub / SkillHub 聚合、来源健康状态、远程详情、文件内容预览和分页加载。
- 新增技能市场安装服务,安装前会展示风险摘要和确认弹窗,安装后能识别本地已安装状态。
- 技能市场新增第三方技能免责声明、安全徽章、确定性技能头像、多语言文案和暗色主题适配。
- 新增会话活动面板和活动模型,把 Todo/task summary、后台任务、SubAgent 通知、team member 和 sources 统一整理成可扫描的侧边信息。
- 新增 SubAgent run 详情页和相关 API支持从活动面板打开 SubAgent 输出、状态和 token/duration 信息。
- 新增 TeamoRouter provider 预设,默认模型映射到 `claude-opus-4-8``claude-sonnet-5``claude-haiku-4-5`,并在 README 赞助商区域加入 TeamoRouter 入口 (#994)。
- 发布 workflow 继续校验 macOS ARM64/x64、Windows x64/ARM64、Linux x64/ARM64 的安装包、blockmap 和 updater metadata。
- Windows 签名仍为非阻塞 warning未签名 Windows 安装包仍可更新,但用户可能会看到 SmartScreen 提示。
- 非 draft 的公开 macOS release 现在要求签名和公证 secrets缺失时会阻止发布避免自动更新和 Gatekeeper 拿到不合格正式产物。
## Issue 对照
- #797:修复检查更新和发布资产公开顺序,降低自动更新拿到不完整 release 的风险。
- #949:修复更换数据存储位置后的写入权限错误处理。
- #952:补齐内置浏览器 zoom/scale 的高 DPI 和控件覆盖问题。
- #964 / #967:修复 Terminal 重复启动导致命令行出现两行。
- #966:修复输出风格说明文案未本地化。
- #994:新增 TeamoRouter provider 预设和赞助商入口。
## Notes
- GitHub Release 正文继续以 `release-notes/v0.4.6.md` 作为来源。
- 桌面端发布版本号来源是 `desktop/package.json`root `package.json` 仍保留本地开发用的 `999.0.0-local`。发布时需确保 `desktop/package.json`、Git tag `v0.4.6``release-notes/v0.4.6.md` 三者严格对齐。
- 正式发布时,`Release Desktop` workflow 会校验 tag 与 `desktop/package.json` 版本一致,并加载 `release-notes/v0.4.6.md`
- 自动更新依赖 GitHub Release 中完整的安装包、blockmap 和标准 updater metadata`latest-mac.yml``latest.yml``latest-linux.yml``latest-linux-arm64.yml`
- macOS 正式公开发布需要签名和公证 secrets缺失时只能保留 draft/测试产物。Windows 签名不是发布阻塞项,但未签名安装包会触发 SmartScreen 提示。
- 如果下载更新后桌面端没有自动退出重启,可以手动重启应用完成安装。
- 发布前建议至少跑 `bun run scripts/release.ts 0.4.6 --dry``bun run verify`;如果 GitHub Actions hosted runner 恢复,可先手动触发 draft `Release Desktop` 验证全平台资产。
## 安装
到本页面底部的 Assets 里,按系统和 CPU 架构下载对应文件:
| 平台 | 文件 |
|------|------|
| macOS Apple SiliconM 系列) | `Claude-Code-Haha-0.4.6-mac-arm64.dmg` |
| macOS Intel | `Claude-Code-Haha-0.4.6-mac-x64.dmg` |
| Windows x64 | `Claude-Code-Haha-0.4.6-win-x64.exe` |
| Windows ARM64 | `Claude-Code-Haha-0.4.6-win-arm64.exe` |
| Linux x64 | `Claude-Code-Haha-0.4.6-linux-x86_64.AppImage``Claude-Code-Haha-0.4.6-linux-amd64.deb` |
| Linux ARM64 | `Claude-Code-Haha-0.4.6-linux-arm64.AppImage``Claude-Code-Haha-0.4.6-linux-arm64.deb` |
### macOS
双击 DMG 把应用拖入「应用程序」。如果 macOS 签名和公证验证通过,首次打开应直接走正常 Gatekeeper 流程。
如果仍提示"已损坏"或"无法验证开发者",说明当前产物可能仍是 unsigned fallback 或本地 quarantine 状态未清理,可在终端执行:
```bash
xattr -cr /Applications/Claude\ Code\ Haha.app
```
也可以在「系统设置 → 隐私与安全性」里点"仍要打开"。
### Windows
双击 `.exe` 安装。SmartScreen 提示时点「更多信息」→「仍要运行」。
### Linux
AppImage
```bash
chmod +x Claude-Code-Haha-0.4.6-linux-x86_64.AppImage
./Claude-Code-Haha-0.4.6-linux-x86_64.AppImage
```
deb
```bash
sudo apt install ./Claude-Code-Haha-0.4.6-linux-amd64.deb
```
ARM64 机器把文件名换成 `...-linux-arm64.AppImage` / `...-linux-arm64.deb`