mirror of
https://github.com/NanmiCoder/cc-haha
synced 2026-07-16 13:03:31 +08:00
The WebSocket runtime treated every active provider id as stale unless it existed in the saved custom-provider list. ChatGPT Official is an in-memory built-in provider, so restarting the desktop could activate Claude Official and rewrite the provider index back to null before a new session launched. Keep built-in OpenAI provider ids valid in runtime validation, while preserving the stale custom-provider cleanup path. This also keeps the General network timeout UI aligned with the authoritative timeout behavior by allowing precise typed values and updating the user-facing hint. Constraint: ChatGPT Official is a built-in provider id and is not stored in the custom providers array. Rejected: Persist ChatGPT Official as a synthetic saved provider | it would mix token-backed built-ins with user-managed providers and complicate secret persistence. Confidence: high Scope-risk: moderate Directive: Runtime provider validation must include built-in provider ids as well as saved custom provider ids. Tested: bun test src/server/__tests__/conversations.test.ts -t "preserve ChatGPT Official" Tested: bun test src/server/__tests__/conversations.test.ts -t "stale persisted|preserve ChatGPT Official" Tested: bun run check:server Tested: bun run check:desktop Not-tested: Full bun run verify after the final interruption; user explicitly asked to stop verification and commit directly. Not-tested: Manual desktop restart with a real ChatGPT OAuth account in the packaged app.
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