mirror of
https://github.com/NanmiCoder/cc-haha
synced 2026-07-16 13:03:31 +08:00
The desktop terminal already supported independent PTY sessions, but it only lived inside settings. This change promotes it to a first-class tab workflow so users can open multiple host terminals without leaving the chat-oriented desktop layout. Constraint: Tauri terminal sessions are process-backed and must stay mounted while switching tabs. Rejected: Reuse the settings terminal as a navigated page only | it cannot support multiple independent terminal tabs. Rejected: Hide inactive xterm panes with display none | xterm lost visible output after tab switches during E2E. Confidence: high Scope-risk: moderate Directive: Keep inactive terminal panes mounted and avoid display none unless xterm repaint behavior is reverified. Tested: bun run test src/components/layout/ContentRouter.test.tsx src/components/layout/Sidebar.test.tsx src/components/layout/TabBar.test.tsx src/pages/TerminalSettings.test.tsx Tested: bun run lint Tested: bun run build Tested: ./scripts/build-macos-arm64.sh Tested: Computer Use E2E against build-artifacts/macos-arm64 app for multiple terminals, command output retention, tab switching, and terminal cleanup Not-tested: Intel macOS package
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