程序员阿江(Relakkes) d6c5f18b94 release: v0.4.3
Tested: bun run scripts/release.ts 0.4.3 --dry

Tested: git diff --check

Tested: bun run verify (artifacts/quality-runs/2026-06-16T16-48-12-824Z/report.md; passed=8 failed=0 skipped=2)

Confidence: high

Scope-risk: narrow
2026-06-17 00:52:54 +08:00

115 lines
8.2 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.3
这是 `v0.4.2` 之后的桌面体验、provider/runtime、agent-loop 和 release 签名验证补丁版本,重点修复真实使用中暴露出来的上下文窗口声明、流式请求稳定性、后台 subagent 活动展示、工作区预览、会话搜索和终端快捷键问题。
相比 `v0.4.2`本版本新增全局会话全文搜索、Workbench 面板 tab 化、终端剪贴板快捷键开关,并补齐 macOS Developer ID 签名/公证发布链路。0.4.3 建议先通过 GitHub Actions 的 Draft Release 路径生成全平台产物,用于验证新增 macOS 签名和 Gatekeeper 行为,再决定是否正式公开发布。
## Highlights
- **macOS 签名发布链路进入验证阶段**:正式 release workflow 会预检 macOS 证书、Apple ID、app-specific password 和 Team IDsecrets 完整时构建签名/公证的 DMG/ZIP并额外跑 Gatekeeper package-smoke。手动触发 workflow 时 `draft` 默认开启,适合先生成草稿 release 和全平台 assets。
- **Provider/runtime 上下文声明更准确**provider 设置支持 1M context 声明和自定义 context windowAnthropic providers 默认带上 Tool Search 能力,新会话会优先使用 provider 的主模型,减少模型能力和 UI 状态不一致。
- **流式请求更稳**:首 token 等待会尊重请求超时,整体 stream 会限制 free-trickling provider 的最长持续时间;中途遇到可恢复的 transient tool-call 错误会重试,而不是直接让本轮失败。
- **桌面工作流更顺手**:新增全局 session 全文搜索Workbench 面板可扩展为 tabs终端设置支持剪贴板快捷键工具写入/编辑进度、pending JSON 输入、workspace diff preview 和输出卡片链接也更可靠。
- **后台 agent 和聊天恢复更完整**:后台 subagent 工具活动会流式同步到桌面;重开会话后恢复 token usage恢复历史时隐藏 slash-command breadcrumb打断后 pending tool spinner 会正确停止。
## Fixes
- 修复 provider 设置无法声明 1M context、server 侧没有正确透传 provider context window 的问题 (#814, #830)。
- 修复 Anthropic providers 没有默认启用 Tool Search 能力,导致相关工具能力声明缺失的问题 (#823)。
- 修复新建会话没有优先使用 provider 主模型的问题 (#818)。
- 修复重开会话后 token usage 丢失,以及恢复历史会话时 slash-command breadcrumb 泄漏到聊天气泡的问题 (#820, #833)。
- 修复后台 subagent 的工具活动不会实时流到桌面的问题,桌面现在能看到后台 agent 的工具进展 (#829)。
- 修复慢速或异常 provider 的流式边界:首 token 等待、整体 stream 时长和 transient mid-stream tool-call 错误都会按更明确的规则处理 (#766, #826)。
- 修复回答进行中手动滚动时 MessageList 仍被 thinking/autoscroll 拉回底部的问题 (#727)。
- 修复 Memory 空状态和工具 autoscroll 状态处理不完整的问题 (#728, #729)。
- 修复 pending tool JSON 输入不换行、工具写入/编辑进度不可见,以及 interrupt 后 pending spinner 不停止的问题 (#703, #707, #712, #751)。
- 修复 workspace diff preview 不能按最新工作区状态刷新、预览时 workspace navigator 不自动收起的问题 (#706, #709, #724)。
- 修复输出卡片中的 log 链接被当成可打开目标,导致跳转到不该跳转位置的问题 (#714)。
- 修复 docked terminal 尺寸不稳定,以及终端复制/粘贴快捷键缺少桌面 host 能力开关的问题 (#708, #837)。
- 修复 release workflow 和 update metadata 合并链路,支持签名 Electron release 更新,并补齐标准 update metadata 校验。
## Features and Improvements
- 新增全局会话全文搜索入口,可搜索历史 sessions、消息内容和相关 metadata并从侧边栏快捷打开结果。
- Workbench 面板支持 tab 化展示workspace、terminal 等面板可以在更宽的工作区布局中展开使用 (#730)。
- 终端设置新增剪贴板快捷键配置Electron host 暴露对应 capability减少跨平台终端复制/粘贴冲突 (#837)。
- Provider 设置页补齐 context window、Tool Search 默认值和主模型选择相关 UI、类型和持久化行为 (#814, #818, #823, #830)。
- Release 文档新增桌面安装和自动更新说明release workflow 会校验完整 assets、标准 update metadata并支持签名 macOS 构建的 Gatekeeper 检查。
## Issue 对照
- #703:修复 interrupt 后 pending tool spinner 不停止。
- #706 / #709:修复预览时 workspace navigator 展示和收起逻辑。
- #707 / #751:新增工具写入/编辑进度展示。
- #708:修复 docked terminal 尺寸。
- #712:修复 pending tool JSON 输入换行。
- #714:修复输出卡片 log link 路由。
- #724:修复 workspace diff preview 刷新。
- #727:修复 thinking 状态下手动滚动被打断。
- #728 / #729:修复 Memory 空状态和工具 autoscroll。
- #730Workbench 面板扩展为 tabs。
- #766:修复 free-trickling provider stream 持续时间边界。
- #814:支持 1M provider context 声明。
- #818:新会话默认使用 provider 主模型。
- #820:恢复会话 token usage。
- #823Anthropic providers 默认启用 Tool Search。
- #826:首 token 等待尊重请求超时。
- #829:后台 subagent 工具活动流式同步到桌面。
- #830:尊重自定义 provider context window。
- #833:恢复历史时隐藏 slash-command breadcrumbs。
- #837:支持终端剪贴板快捷键配置。
## Notes
- GitHub Release 正文继续以 `release-notes/v0.4.3.md` 作为来源。
- 桌面端发布版本号来源是 `desktop/package.json`root `package.json` 仍保留本地开发用的 `999.0.0-local`。发布时需确保 `desktop/package.json`、GitHub Release tag `v0.4.3``release-notes/v0.4.3.md` 三者严格对齐。
- 本次建议先走草稿发布:把 0.4.3 版本提交推到 `main` 后,手动触发 `Release Desktop` workflow并保持 `draft=true`;不要先用 `git push origin main --tags` 走公开 tag release 路径。
- 草稿 workflow 会先构建 macOS ARM64、macOS x64、Windows x64、Linux x64、Linux ARM64 全平台产物,再创建 Draft Release。确认 macOS 签名、公证、Gatekeeper smoke 和自动更新 metadata 后,再决定是否公开 release。
- 发布前建议至少跑 `bun run scripts/release.ts 0.4.3 --dry``bun run verify`;如果 provider credentials/quota 可用,再跑 `bun run quality:gate --mode release --allow-live --provider-model <provider:model[:label]>`
- 本版本覆盖 release、native、desktop、server、provider/runtime 和 agent-loop 多个表面;建议额外 smokemacOS 签名 DMG 首次打开、自动更新 metadata、全局搜索、Workbench tabs、provider context window、Tool Search 默认值、后台 subagent 工具活动、终端快捷键、慢 provider stream。
## 安装
到本页面底部的 Assets 里,按系统和 CPU 架构下载对应文件:
| 平台 | 文件 |
|------|------|
| macOS Apple SiliconM 系列) | `Claude-Code-Haha-0.4.3-mac-arm64.dmg` |
| macOS Intel | `Claude-Code-Haha-0.4.3-mac-x64.dmg` |
| Windows x64 | `Claude-Code-Haha-0.4.3-win-x64.exe` |
| Linux x64 | `Claude-Code-Haha-0.4.3-linux-x86_64.AppImage``Claude-Code-Haha-0.4.3-linux-amd64.deb` |
| Linux ARM64 | `Claude-Code-Haha-0.4.3-linux-arm64.AppImage``Claude-Code-Haha-0.4.3-linux-arm64.deb` |
### macOS
双击 DMG 把应用拖入「应用程序」。如果本次 Draft Release 的 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.3-linux-x86_64.AppImage
./Claude-Code-Haha-0.4.3-linux-x86_64.AppImage
```
deb
```bash
sudo apt install ./Claude-Code-Haha-0.4.3-linux-amd64.deb
```
ARM64 机器把文件名换成 `...-linux-arm64.AppImage` / `...-linux-arm64.deb`