release: v0.4.5

Tested: bun run scripts/release.ts 0.4.5 --dry

Tested: bun run verify (quality report artifacts/quality-runs/2026-07-02T18-46-23-146Z/report.md, passed=9 failed=0 skipped=1)

Tested: bun run quality:gate --mode release --allow-live --provider-model codingplan:main:codingplan-main (report artifacts/quality-runs/2026-07-02T18-54-51-367Z/report.md, passed=18 failed=1 skipped=0; live provider lanes passed)

Not-tested: local macOS Gatekeeper package-smoke did not pass because the local canonical macOS artifact directory contained stale v0.4.4 artifacts and the current shell has no Apple notarization credentials to produce a stapled local build; the tag-triggered GitHub release workflow remains the source of truth for signed/notarized assets.

Confidence: medium

Scope-risk: moderate
This commit is contained in:
程序员阿江(Relakkes) 2026-07-03 03:09:42 +08:00
parent 782c32c1fc
commit 6e6c87aa16
2 changed files with 120 additions and 1 deletions

View File

@ -1,7 +1,7 @@
{
"name": "claude-code-desktop",
"private": true,
"version": "0.4.4",
"version": "0.4.5",
"description": "Desktop coding agent workbench for Claude Code Haha.",
"homepage": "https://github.com/NanmiCoder/cc-haha",
"author": {

119
release-notes/v0.4.5.md Normal file
View File

@ -0,0 +1,119 @@
# Claude Code Haha v0.4.5
这是 `v0.4.4` 之后的稳定性、provider/proxy 兼容性、桌面工作流和 Windows ARM64 补丁版本,重点修复模型连接、权限模式、首轮 provider 生效、历史会话时间、sidecar 内存、浏览器预览缩放、Markdown 安全和 release smoke 中暴露出来的问题。
相比 `v0.4.4`,本版本让 OpenAI-compatible provider 默认走更明确的直连 proxy 模式,避免系统代理或 sidecar 代理环境影响模型连接;同时补齐 reasoning effort 透传、experimental beta 开关、默认会话权限设置、`/model` 快捷切换、Skill 命令历史恢复、Windows ARM64 启动和 package-smoke 识别。
## Highlights
- **Provider/proxy 连接更稳**provider 请求默认使用 direct proxy mode只有显式选择 System proxy 时才继承系统代理;第三方 API 返回的 `model` 与请求模型 ID 不一致时,不再把上下文窗口误显示为 `200000`reasoning effort 会正确透传到 proxy transform。
- **权限和首轮会话行为更准确**:新增默认会话权限模式设置,`bypassPermissions` 会跳过可跳过的审批而保留显式 deny 和必须交互的工具;干净安装后添加 provider 的第一轮提问会先应用 active provider runtime再发起 prewarm 和 user message。
- **历史会话和列表性能继续收敛**:历史会话排序不再被 metadata-only 写入刷新成“刚刚更新”;会话时间展示统一为更稳定的月日时分格式;非 Git 项目不会因为新会话 git-info 探测拖慢;最近项目和会话列表加载路径继续减少重复扫描。
- **桌面聊天细节更干净**:完成后的 turn duration 系统行不再持久化到 transcript`/model` 能打开模型选择器;用户输入的 Skill command 会在恢复、WebSocket replay 和搜索中保留;自动 Dream task 卡片不再进入聊天内容噪音。
- **预览、布局和安全补齐**:内置浏览器新增 zoom/scale 控制,并把缩放同步到 Electron WebContentsView工作区面板恢复可向右缩小Markdown 渲染会阻止 `<style>` 标签和 inline style 注入全局 UI。
- **Windows ARM64 和 release smoke 更可靠**Windows ARM64 桌面启动、sidecar 超时诊断、release workflow 和 package-smoke 识别补齐;桌面 live smoke 会等待恢复后的项目 chip再开始输入降低误建默认 home session 的概率。
## Fixes
- 修复 `v0.4.4` 中 provider 连接仍受系统代理或 sidecar 代理环境影响的问题,默认 provider 请求改为 direct proxy mode并补齐 provider connectivity 和 OpenAI-compatible proxy 的网络设置测试 (#953, #896)。
- 修复推理强度没有作为模型调用入参透传的问题OpenAI Chat/Responses proxy transform 会传递 reasoning effort (#905)。
- 修复干净安装后添加 provider、不点击测试就首次提问时第一轮可能没有应用 active provider runtime 而一直思考的问题 (#844)。
- 修复第三方 API 响应里的 `model` 与请求 `modelId` 不一致时session context window 展示异常的问题。
- 修复最高权限跳过模式下仍要求审批运行的问题;现在 `bypassPermissions` 会跳过 approval ask同时保留明确拒绝和必须用户交互的工具约束 (#910)。
- 修复 `/model` slash command 无法打开模型选择器的问题 (#909)。
- 修复用户输入的 Skill command 在 session restore、WebSocket replay 或 session search 中被隐藏的问题 (#926)。
- 修复自动 Dream task 生命周期卡片进入聊天 transcript、任务状态残留 running 的问题 (#887)。
- 修复完成后的 turn duration 消息被持久化为系统 transcript 行的问题。
- 修复 `/clear` 后 header/sidebar 仍保留旧 message count 的问题。
- 修复模型输出中的 `<style>` 标签或 inline style 可以影响桌面 Markdown 渲染样式的问题 (#904)。
- 修复读取非 PDF 文件时模型误传 `pages` 参数导致 Invalid pages parameter 错误循环的问题 (#928)。
- 修复 Claude Code sidecar 在大 transcript 下内存压力过高的问题,减少 trace/message polling 路径重复 hydrate 大 session 文件 (#933)。
- 修复项目路径含中文或非 Git 项目时git-info 探测可能拖慢新会话或打开外部编辑器的问题 (#908)。
- 修复历史会话查看时 metadata-only 写入导致“最近更新”时间被刷新为刚刚的问题 (#951)。
- 修复查看更新和消息操作时间显示不稳定的问题,现在统一显示更明确的月日时分。
- 修复会话中最近项目列表加载慢的问题,并在会话变化时失效 recent project cache。
- 修复新建会话未执行、关闭后留下无效 untitled session 的问题。
- 修复工作区面板只能向左拖大、不能向右缩小的问题 (#940)。
- 修复 Windows 11 ARM64 上桌面启动错误,并补齐 ARM64 sidecar/native 文件和 unpacked package-smoke 识别 (#954)。
## Features and Improvements
- 新增 General settings 里的默认会话权限模式设置,新建桌面 chat session 会使用该默认值,同时保留 per-session 覆盖能力。
- Provider 设置新增 `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` 兼容开关,可对第三方 API 通道禁用 experimental beta headers并隔离 stale parent env (#929)。
- 内置浏览器新增 per-session zoom/scale 控制,缩放会同步到 preview bridge、Electron WebContentsView、截图和标注坐标 (#952)。
- Release/package smoke 覆盖 Windows ARM64 产物识别、当前平台 package smoke 和 release workflow 元数据边界,降低发版前平台产物漏检风险。
- Session restore、search 和 WebSocket replay 的 command metadata 处理统一,继续隐藏异常 command breadcrumb同时保留用户真实输入的 Skill command。
- Trace/session message signature、recent project cache 和桌面 smoke 等跨表面路径补齐 post-release semantic conflict 的回归保护。
## Issue 对照
- #844:修复干净安装后首次提问未正确应用 active provider runtime。
- #887:隐藏自动 Dream task 聊天卡片,并修复 Dream task 生命周期收尾。
- #904:阻止 assistant Markdown 注入 `<style>` 或 inline style。
- #905:透传 reasoning effort 到 provider/proxy 模型调用。
- #908:限制 git-info 探测,降低中文路径或非 Git 项目的卡顿风险。
- #909:修复 `/model` 无法打开模型选择器。
- #910:修复 bypass permission mode 下仍要求审批。
- #926:恢复用户输入的 Skill command 历史展示。
- #928:非 PDF 文件忽略 `pages` 参数,避免 Read 工具错误循环。
- #929:新增 experimental beta kill switch。
- #933:降低 sidecar transcript 内存压力。
- #940:修复工作区面板无法向右缩小。
- #951:修复历史会话查看后更新时间被刷新。
- #952:内置浏览器新增 zoom/scale 机制。
- #953 / #896:修复 provider 连接受代理环境影响的问题,默认走 direct proxy mode。
- #954:支持 Windows ARM64 桌面启动和发布产物 smoke。
## Notes
- GitHub Release 正文继续以 `release-notes/v0.4.5.md` 作为来源。
- 桌面端发布版本号来源是 `desktop/package.json`root `package.json` 仍保留本地开发用的 `999.0.0-local`。发布时需确保 `desktop/package.json`、Git tag `v0.4.5``release-notes/v0.4.5.md` 三者严格对齐。
- 本版本覆盖 desktop、server、provider/runtime、agent-loop、native 和 release 多个表面;发布前建议至少跑 `bun run scripts/release.ts 0.4.5 --dry``bun run verify`,并在有真实 provider 配额时跑 `bun run quality:gate --mode release --allow-live --provider-model <provider:model[:label]>`
- 建议发布前额外 smokeOpenAI-compatible provider 直连和 System proxy 模式、reasoning effort、experimental beta 开关、干净安装首次 provider 提问、默认权限模式、bypass permission、`/model`、Skill command 恢复、Dream task drawer、Read 非 PDF、历史会话时间、最近项目列表、浏览器 zoom、Markdown style 注入、Windows ARM64 启动和 macOS 签名 DMG 首次打开。
- 如果需要先验证全平台签名/公证产物,可以手动触发 `Release Desktop` workflow 并保持 `draft=true`;正式发布仍以 `v0.4.5` tag 对应提交和 GitHub Actions 产物为准。
## 安装
到本页面底部的 Assets 里,按系统和 CPU 架构下载对应文件:
| 平台 | 文件 |
|------|------|
| macOS Apple SiliconM 系列) | `Claude-Code-Haha-0.4.5-mac-arm64.dmg` |
| macOS Intel | `Claude-Code-Haha-0.4.5-mac-x64.dmg` |
| Windows x64 | `Claude-Code-Haha-0.4.5-win-x64.exe` |
| Windows ARM64 | `Claude-Code-Haha-0.4.5-win-arm64.exe` |
| Linux x64 | `Claude-Code-Haha-0.4.5-linux-x86_64.AppImage``Claude-Code-Haha-0.4.5-linux-amd64.deb` |
| Linux ARM64 | `Claude-Code-Haha-0.4.5-linux-arm64.AppImage``Claude-Code-Haha-0.4.5-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.5-linux-x86_64.AppImage
./Claude-Code-Haha-0.4.5-linux-x86_64.AppImage
```
deb
```bash
sudo apt install ./Claude-Code-Haha-0.4.5-linux-amd64.deb
```
ARM64 机器把文件名换成 `...-linux-arm64.AppImage` / `...-linux-arm64.deb`