mirror of
https://github.com/NanmiCoder/cc-haha
synced 2026-07-17 13:13:35 +08:00
release: prepare v0.4.9
This commit is contained in:
parent
b2db55afc8
commit
2d58d11fb1
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "claude-code-desktop",
|
||||
"private": true,
|
||||
"version": "0.4.8",
|
||||
"version": "0.4.9",
|
||||
"description": "Desktop coding agent workbench for Claude Code Haha.",
|
||||
"homepage": "https://github.com/NanmiCoder/cc-haha",
|
||||
"author": {
|
||||
|
||||
@ -48,15 +48,16 @@ WINDOWS_CERTIFICATE_PASSWORD
|
||||
4. 确认只出现标准下载来源确认,不出现无法验证开发者、文件损坏或 unidentified developer。
|
||||
5. 再把后续 `v0.4.4` 作为自动更新验证目标。
|
||||
|
||||
## v0.4.8 自动更新验证
|
||||
## v0.4.9 自动更新验证
|
||||
|
||||
发布 `v0.4.8` 时至少验证一条真实更新链路:
|
||||
发布 `v0.4.9` 时至少验证一条真实更新链路:
|
||||
|
||||
1. 安装 GitHub Release 中的 `v0.4.7` 正式包。
|
||||
2. 发布 `v0.4.8` tag,让 `Release Desktop` workflow 完整通过。
|
||||
3. 打开 `v0.4.7` 应用,等待启动后自动检查,或进入 Settings 手动检查更新。
|
||||
4. 确认应用提示 `v0.4.8`,下载完成后点击安装并重启。
|
||||
5. 重启后确认 About/Settings 中版本为 `0.4.8`,并检查 Windows 上原有服务商、会话、Skills、记忆和自定义数据目录仍然可用。
|
||||
1. 安装 GitHub Release 中的 `v0.4.8` 正式包。
|
||||
2. 发布 `v0.4.9` tag,让 `Release Desktop` workflow 完整通过。
|
||||
3. 打开 `v0.4.8` 应用,等待启动后自动检查,或进入 Settings 手动检查更新。
|
||||
4. 确认应用提示 `v0.4.9`,下载完成后点击安装并重启。
|
||||
5. 重启后确认 About/Settings 中版本为 `0.4.9`,并检查原有服务商、会话、Skills、记忆和自定义数据目录仍然可用。
|
||||
6. 确认历史会话与全局搜索可以正常读取;在「设置 → 诊断」查看本地索引状态,并验证重建索引不会删除源会话文件。
|
||||
|
||||
平台重点:
|
||||
|
||||
@ -69,9 +70,9 @@ WINDOWS_CERTIFICATE_PASSWORD
|
||||
发版前至少运行:
|
||||
|
||||
```bash
|
||||
bun run scripts/release.ts 0.4.8 --dry
|
||||
bun run scripts/release.ts 0.4.9 --dry
|
||||
bun test scripts/pr/release-workflow.test.ts scripts/release-update-metadata.test.ts scripts/quality-gate/package-smoke/index.test.ts
|
||||
bun run check:policy
|
||||
```
|
||||
|
||||
正式调用 `bun run scripts/release.ts 0.4.8` 前,先确认对应 `release-notes/v0.4.8.md` 已经存在。
|
||||
正式调用 `bun run scripts/release.ts 0.4.9` 前,先确认对应 `release-notes/v0.4.9.md` 已经存在。
|
||||
|
||||
@ -42,7 +42,7 @@
|
||||
|
||||
### [Electron 发布与自动更新](./10-release-auto-update.md)
|
||||
|
||||
维护者发版 runbook:Developer ID 签名、GitHub Release metadata、`v0.4.7 -> v0.4.8` 自动更新验证路径。
|
||||
维护者发版 runbook:Developer ID 签名、GitHub Release metadata、`v0.4.8 -> v0.4.9` 自动更新验证路径。
|
||||
|
||||
### [Electron 迁移交互式验收清单](/desktop/electron-migration-qa-checklist.html)
|
||||
|
||||
|
||||
104
release-notes/v0.4.9.md
Normal file
104
release-notes/v0.4.9.md
Normal file
@ -0,0 +1,104 @@
|
||||
# Claude Code Haha v0.4.9
|
||||
|
||||
这是 `v0.4.8` 之后的本地数据、搜索与网络兼容性版本,重点新增 SQLite 本地索引、未展开工作区文件搜索、跨平台内置 ripgrep 和本地附件打开操作,同时修复 OpenAI 兼容 Provider 的本地代理鉴权、系统代理动态路由、H5 触屏交互和文件预览连续行评论等问题。
|
||||
|
||||
相比 `v0.4.8`,本版本会把会话、活动统计、定时任务运行记录、Trace 和可搜索内容投影到可重建的本地数据库中,以减少重复扫描大量文件的开销。原始 JSON / JSONL 文件仍是权威数据源;索引损坏或不可用时会回退到文件读取,并可在「设置 → 诊断」中安全重建。
|
||||
|
||||
## Highlights
|
||||
|
||||
- **SQLite 本地索引**:会话列表、全局搜索、活动统计、定时任务运行记录和 Trace 使用可重建的本地投影加速读取,启动后会持续对齐源文件,并在索引不可用时保留文件回退路径。
|
||||
- **完整工作区文件搜索**:文件面板可以直接搜索尚未展开或加载的目录,不再需要先手动展开目录树;搜索结果支持继续预览和加入聊天上下文。
|
||||
- **内置跨平台 ripgrep**:桌面安装包为 macOS、Windows 和 Linux 的 x64 / ARM64 架构准备对应 ripgrep,不再要求用户另行安装 `rg` 才能使用相关搜索能力。
|
||||
- **动态系统代理路由**:桌面端 AI 会话、OAuth、Provider 请求和适配器会按目标地址使用当前系统代理规则,兼容直连、HTTP(S) 与 SOCKS 路由,并避免把过期的启动时代理结果固定到整个运行周期。
|
||||
- **附件与文件评审改进**:聊天中的本地附件可以直接使用系统默认应用或“打开方式”菜单打开;文件预览支持按住 Shift 选择连续行并把整段评论带回聊天。
|
||||
- **H5 触屏体验优化**:手机端会常驻显示消息操作,放大输入区关键按钮,并优化侧边栏、模型选择器、安全区和软键盘视口下的布局。
|
||||
|
||||
## Fixes
|
||||
|
||||
- 修复升级到 `v0.4.8` 后,OpenAI 兼容的本地 API / vLLM Provider 可能因桌面代理鉴权环境未正确传递而持续返回 HTTP 401 的问题 (#1025)。
|
||||
- 修复工作区文件必须先展开目录后才能被搜索到的问题;服务端现在直接搜索真实工作区,并对缺失、越界和过大结果提供明确状态 (#1023)。
|
||||
- 修复打包版桌面端缺少 ripgrep 时文件与会话搜索不可用的问题,并把二进制、许可证和发布产物校验纳入离线构建流程 (#923)。
|
||||
- 修复系统代理只在启动时按单一地址解析,导致代理规则变化或不同目标需要不同路由时,模型连接、OAuth 与 Provider 请求失败的问题 (#953)。
|
||||
- 修复 H5 手机端 fork、复制等消息操作依赖 hover 才能显示,以及输入按钮偏小、侧边栏拥挤和软键盘遮挡内容的问题 (#1020)。
|
||||
- 修复文件预览只能评论单行的问题;现在可用 Shift 连续选择同一侧的多行,并保留准确的行号、引用与输入框焦点 (#1004)。
|
||||
- 修复全局搜索快速输入或使用中文输入法时,旧请求可能覆盖新结果、加载状态残留或方向键落到无效结果的问题。
|
||||
- 修复本地索引建立期间或个别来源损坏时,会话、定时任务、团队、Trace 和活动统计可能短暂缺失的问题;相关读取会等待投影、自动恢复或回退到源文件。
|
||||
- 修复桌面端重启后,历史会话仍在源目录但列表未能稳定恢复的问题,并补充索引状态、降级原因和重建入口 (#1016)。
|
||||
|
||||
## Features and Improvements
|
||||
|
||||
- 新增 `cc-haha/db/index-v1.sqlite` 派生数据库,覆盖会话元数据与内容、活动统计、定时任务运行记录、团队会话和 Trace;支持增量追加、文件重写识别、删除同步、迁移和损坏恢复。
|
||||
- 诊断页新增本地索引状态面板,可查看构建状态、已索引来源、降级来源、数据库 / WAL 大小、最后更新时间和错误代码,并可确认后重建索引。
|
||||
- 全局搜索改为使用内容索引并支持取消过期请求、中文输入法组合态和每个会话的匹配预览;索引构建或降级时仍保留文件搜索能力。
|
||||
- 工作区文件搜索使用打包内的 ripgrep,支持跨平台可执行文件准备、离线许可证 staging、sidecar 打包和发布产物 smoke 校验。
|
||||
- 聊天中的本地附件增加直接打开与“打开方式”下拉菜单,可复用已配置的外部编辑器或系统默认应用;文件被移动或删除时会给出失败提示。
|
||||
- H5 针对触屏设备增加更稳定的视口高度、底部安全区和软键盘状态处理,避免把桌面触屏设备误判为手机布局。
|
||||
- 系统代理桥接会按每个目标地址解析 Electron 代理规则,并在桌面服务停止或重启时清理连接;对不可安全重放的模型 POST 请求不会跨代理规则重复发送。
|
||||
- 本地索引增加一致性、奇偶校验、迁移、恢复和性能验收测试;索引数据库始终被视为可丢弃的派生数据,不取代用户的源会话与设置文件。
|
||||
|
||||
## Issue 对照
|
||||
|
||||
- #923:在桌面安装包中内置跨平台 ripgrep,并补齐离线许可证与产物校验。
|
||||
- #953:让 AI 会话和 Provider 请求动态遵循系统代理规则。
|
||||
- #1004:支持在文件预览中用 Shift 选择连续行并添加评论。
|
||||
- #1016:新增可恢复的本地会话索引、文件回退和诊断重建能力。
|
||||
- #1020:让 H5 手机端消息操作常驻可用,并改善触屏输入布局。
|
||||
- #1023:无需预先展开目录即可搜索完整工作区文件。
|
||||
- #1025:恢复 OpenAI 兼容 Provider 在桌面本地代理链路中的鉴权。
|
||||
|
||||
## Notes
|
||||
|
||||
- GitHub Release 正文继续以 `release-notes/v0.4.9.md` 作为来源。
|
||||
- 桌面端发布版本号来源是 `desktop/package.json`;root `package.json` 仍保留本地开发用的 `999.0.0-local`。发布时需确保 `desktop/package.json`、Git tag `v0.4.9` 和 `release-notes/v0.4.9.md` 三者严格对齐。
|
||||
- 正式发布时,`Release Desktop` workflow 会校验 tag 与 `desktop/package.json` 版本一致,并加载 `release-notes/v0.4.9.md`。
|
||||
- 自动更新依赖 GitHub Release 中完整的安装包、blockmap 和标准 updater metadata:`latest-mac.yml`、`latest.yml`、`latest-linux.yml`、`latest-linux-arm64.yml`。
|
||||
- macOS 正式公开发布需要签名和公证 secrets;缺失时只能保留 draft/测试产物。Windows 签名不是发布阻塞项,但未签名安装包会触发 SmartScreen 提示。
|
||||
- 本地索引仅保存可重建的派生数据。重建或删除索引不会删除原始对话、设置、Skills、记忆、定时任务或 Trace 源文件;索引降级时仍可使用文件回退。
|
||||
- 桌面安装包已内置 ripgrep。CLI 或源码开发环境仍可使用系统 `rg`,但正式桌面搜索不再依赖用户手动安装。
|
||||
- 发布前建议至少运行 `bun run scripts/release.ts 0.4.9 --dry` 和 `bun run check:impact`;正式 tag 前再运行 `bun run verify`,并执行一条 `v0.4.8 -> v0.4.9` 的真实自动更新 smoke,重点确认历史会话恢复、索引重建、完整工作区搜索、系统代理和本地附件打开。
|
||||
|
||||
## 安装
|
||||
|
||||
到本页面底部的 Assets 里,按系统和 CPU 架构下载对应文件:
|
||||
|
||||
| 平台 | 文件 |
|
||||
|------|------|
|
||||
| macOS Apple Silicon(M 系列) | `Claude-Code-Haha-0.4.9-mac-arm64.dmg` |
|
||||
| macOS Intel | `Claude-Code-Haha-0.4.9-mac-x64.dmg` |
|
||||
| Windows x64 | `Claude-Code-Haha-0.4.9-win-x64.exe` |
|
||||
| Windows ARM64 | `Claude-Code-Haha-0.4.9-win-arm64.exe` |
|
||||
| Linux x64 | `Claude-Code-Haha-0.4.9-linux-x86_64.AppImage` 或 `Claude-Code-Haha-0.4.9-linux-amd64.deb` |
|
||||
| Linux ARM64 | `Claude-Code-Haha-0.4.9-linux-arm64.AppImage` 或 `Claude-Code-Haha-0.4.9-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.9-linux-x86_64.AppImage
|
||||
./Claude-Code-Haha-0.4.9-linux-x86_64.AppImage
|
||||
```
|
||||
|
||||
deb:
|
||||
|
||||
```bash
|
||||
sudo apt install ./Claude-Code-Haha-0.4.9-linux-amd64.deb
|
||||
```
|
||||
|
||||
ARM64 机器把文件名换成 `...-linux-arm64.AppImage` / `...-linux-arm64.deb`。
|
||||
Loading…
x
Reference in New Issue
Block a user