mirror of
https://github.com/NanmiCoder/cc-haha
synced 2026-07-16 13:03:31 +08:00
症状: 桌面端激活 Claude Official provider 后所有请求报 403 "Request not allowed",Tauri 原生产物(target/.../bundle/macos/) 能跑,但脚本输出的 canonical 产物(build-artifacts/macos-arm64/)报错。 根因: 脚本里的 sign_app_bundle() 用 `codesign --force --deep --sign -` 对 sidecar 和外层 .app 重签,想统一 signing identifier,但这会改变 sidecar binary 的 code signature hash。macOS Keychain ACL 按 hash 识别 caller —— 重签后的 sidecar 对 Keychain 来说是"陌生 binary", 弹"允许访问"对话框但 sidecar 无 UI 弹不出,被静默拒绝,CLI 读不到 OAuth token,SDK 构造空 Authorization,Anthropic 返回 403。 修复: 移除 sign_app_bundle 及其调用。Tauri 的 --no-sign flag 只是不做 Developer ID 签名,ad-hoc 签名 Tauri 自己已经做好了,再签一次纯属 多此一举,还破坏了 Tauri 签好的 Keychain ACL 关系。 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Claude Code Haha Desktop
基于 Tauri 2 + React 的桌面客户端。
开发
bun install
bun run tauri dev
构建
# macOS (Apple Silicon)
./scripts/build-macos-arm64.sh
# Windows (x64)
.\scripts\build-windows-x64.ps1
构建产物位于 build-artifacts/ 目录。
常见问题
macOS 提示"已损坏,无法打开"
xattr -cr /Applications/Claude\ Code\ Haha.app