mirror of
https://github.com/NanmiCoder/cc-haha.git
synced 2026-05-06 23:31:17 +08:00
This records the user-facing 0.2.1 release notes and aligns the desktop package, Tauri config, Cargo manifest, and lockfile package version so the tag-triggered release workflow can publish the intended build. Constraint: GitHub Release body is sourced from release-notes/v0.2.1.md in the tagged commit Constraint: Keep provider and OpenAI login details weak in the release narrative because this release is centered on IM, notifications, context usage, and desktop stability Rejected: Run scripts/release.ts directly | it creates a generic commit message and tag before review of the release narrative Confidence: high Scope-risk: narrow Directive: Do not tag v0.2.1 from a commit that lacks release-notes/v0.2.1.md or mismatched desktop version files Tested: bun run scripts/release.ts 0.2.1 --dry Tested: cargo check Tested: git diff --check Not-tested: Live release gate with real provider credentials in this commit step
6.6 KiB
6.6 KiB
Claude Code Haha v0.2.1
这是一个以 IM 接入、桌面通知、上下文统计和桌面运行稳定性为主的版本。
相比 v0.2.0,本次最大的变化是把桌面端的外部协作链路做实:微信和钉钉成为一等 IM 通道,移动端权限审批更顺手,IM adapter sidecar 更稳定;同时桌面系统通知、诊断导出、上下文用量和终端工作目录也做了集中补强。
这个版本也修复了一批 release 前人工测试中最容易踩到的问题:微信回复不可见、钉钉解绑不清凭据、IM 权限审批在手机上难操作、Telegram sidecar 残留导致收不到消息、桌面 context 用量在回复后下降、空会话显示误导性 loading、macOS 通知权限看似成功但没有真实系统通知等。
Highlight
- IM 接入进入可用阶段:微信和钉钉成为一等 IM 通道,飞书、Telegram、微信、钉钉的配对、权限审批和默认项目行为进一步统一。
- IM sidecar 更稳定:各 IM 平台独立 sidecar 运行,并在启动前清理 stale adapter,降低 Telegram 长轮询被旧进程抢占的问题。
- 桌面通知更可信:macOS 通知改为原生 UserNotifications 桥接,权限、测试通知和前台展示都能被真实验证。
- 上下文用量更接近真实会话:
/context、桌面 composer 和离线 transcript fallback 统一统计口径,避免回复后用量反而下降。 - 诊断与启动错误更可排查:CLI 启动失败、runtime 退出和桌面 API 错误会保留更有用的脱敏上下文。
主要更新
- 新增微信 IM adapter:支持扫码绑定、配对码、文本消息、图片 / 文件候选提取、回复发送、typing 状态和权限审批。
- 新增钉钉 IM adapter:支持 Stream 接入、扫码注册、AI Card 流式输出、权限卡片模板,以及没有模板时的文本授权 fallback。
- IM 接入设置页补齐飞书、微信、钉钉、Telegram 四个平台的配置入口、配对管理、默认项目和中英文文案。
- IM 权限审批对移动端更友好:单个待审批请求可以用短回复完成 allow / always / deny,多请求并发时仍保留 requestId 防歧义。
- 每个 IM 平台现在以独立 sidecar 进程运行,避免 Telegram、飞书、微信、钉钉共享进程时互相影响 SDK loop 或长轮询消费。
- 桌面端新增系统通知能力:权限请求、定时任务完成和长任务最终回复都可以触发桌面通知,并复用去重和冷却逻辑。
- 桌面端 composer 新增更准确的上下文用量显示,支持活跃 CLI inspection、空会话初始状态、断开会话的 transcript fallback 和模型窗口变化。
- 终端页和会话内终端会优先在用户当前工作目录打开,提升为独立终端 tab 后仍保留 cwd。
- 诊断页可以查看最近错误、复制错误摘要、打开日志目录、清理日志,并导出脱敏诊断包。
问题修复
- 修复钉钉机器人解绑后 Client ID / Secret 仍残留的问题;现在通过显式 unbind endpoint 清理凭据,不再依赖会丢失
undefined字段的通用配置合并。 - 修复微信 agent 回复不可见的问题:发送消息和 typing API 现在会校验 iLink 业务 ret code,失败时会重试或把队列错误反馈到会话。
- 修复微信长任务期间 typing 状态过早消失的问题,长工具执行期间会持续维护 typing,并在完成或失败后取消。
- 修复钉钉权限请求后最终答案可能更新到旧 AI Card 上方的问题;权限请求现在会结束当前流式卡片,审批后新建卡片展示结果。
- 修复 Telegram 等 IM adapter 因旧 sidecar 残留或多平台共享进程导致长轮询被抢占的问题;桌面端会清理 stale sidecar,并把每个 IM 平台拆成独立 sidecar 进程。
- 修复 IM adapter credential 文件权限和配对文件写入安全问题,配置目录和凭据文件会尽量使用 owner-only 权限。
- 修复空桌面会话 context snapshot 全为 0 时显示成 0% 的误导状态。
- 修复桌面 context 用量在 assistant 回复完成后下降的问题;统计会把最新输出 token 纳入下一轮上下文,并用本地估算作为下限。
- 修复断开会话的 transcript fallback 与 live
/context统计口径不一致的问题,现在复用同一套当前上下文 token 总量逻辑。 - 修复 prewarm CLI 还没连上 SDK socket 时就发送 context inspection,导致 composer spinner 或首次 context 请求超时的问题。
- 修复空会话误报 “CLI session is not running” 的问题,未发送首轮消息时会保持更明确的待计算状态。
- 修复会话删除失败后可能污染后续 chat startup 的问题,删除文件失败会回滚删除标记,避免旧会话存在但无法继续启动。
- 修复 desktop rewind resume 的稳定性问题,rewind 前会等待 CLI 退出并排空输出,空 transcript 占位会话仍保留 canonical workDir。
- 修复桌面权限 prompt 在切换权限模式后可能不可见的问题,权限模式变更会重启 CLI 并保持 prompt 可见。
- 修复 macOS 通知插件权限状态不可信的问题;macOS 现在通过原生 UserNotifications 获取授权、展示前台通知并发送测试通知。
- 修复底层 auth env 策略不一致和 secret 误展示问题,避免 Settings JSON 编辑时误保存占位符。
- 修复
/context对不同模型上下文窗口显示不准确的问题,补齐内置模型窗口解析。
文档与测试
- 更新微信和钉钉 IM 文档,补充扫码绑定、配对码、默认项目、命令发现和移动端权限审批说明,并加入对应截图。
docs/im总览补齐四个平台的配置入口和安全模型说明。- 新增和扩展 context 统计、IM permission、WeChat typing、DingTalk stream state、desktop notifications、adapter config redaction 等回归测试。
- 本地 PR 质量门禁覆盖 desktop、server、adapters、native 和 docs;真实微信、钉钉、飞书、Telegram 等 IM 平台仍建议维护者在发布前用真实账号做 smoke test。
其他说明
- GitHub Release 正文继续以
release-notes/v0.2.1.md作为来源,发布时无需再手动复制 Markdown。 - PR 质量门禁默认不会调用真实模型;微信 / 钉钉 / 飞书 / Telegram 端到端消息仍需要维护者显式验证。
- macOS 通知现在默认更保守,用户需要在设置中开启桌面通知,并完成系统授权后才会收到权限请求、任务完成或长任务回复通知。
安装说明
macOS
首次打开如果提示“已损坏”或“无法验证开发者”,请执行:
xattr -cr /Applications/Claude\ Code\ Haha.app