mirror of
https://github.com/NanmiCoder/cc-haha
synced 2026-07-18 13:23:33 +08:00
桌面端用 bypassPermissions 进入计划模式、退出后,权限选择器停留在"计划模式", 导致下一个工具调用又弹权限申请。两层根因都修: - 回传链路断裂:服务端 WS handler 把 CLI 广播的权限模式变化(status:null + permissionMode)当成 thinking 丢弃,桌面端协议也没有承载权限模式的入站消息, CLI 恢复后的权限永远同步不到 UI。新增 permission_mode_changed 回传通道,桌面端 据此校正选择器(只更新本地、不回发避免回环;未知模式忽略)。 - 重启抹掉 prePlanMode:bypass→plan 因策略"切换涉及 bypass 就重启"而重启 CLI, 新进程直接以 plan 启动、prePlanMode 为空,ExitPlanMode 只能恢复成 default 而非 bypassPermissions。收窄 needsRestart 为只在"进入 bypass"时重启;从 bypass 切出 保持进程不变、走进程内 transition,CLI 才会栈存 prePlanMode 并在退出 plan 时 正确恢复 bypass,与 TUI 行为一致。 测试:服务端 ws-memory-events 新增权限回传 + 重启策略用例;桌面端 chatStore 新增 回传校正 + 防回环 + 未知模式忽略用例。 Co-Authored-By: Claude Opus 4.8 (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, MSI only)
.\scripts\build-windows-x64.ps1
构建产物位于 build-artifacts/ 目录,文件名会显式包含平台、架构和包类型。
常见问题
macOS 提示"已损坏,无法打开"
xattr -cr /Applications/Claude\ Code\ Haha.app