cc-haha 是什麼?一個把 Claude Code 做成桌面工作台的專案

整理 NanmiCoder/cc-haha 專案的定位、桌面端能力、Computer Use、多模型接入、H5 遠端訪問、安裝方式和風險邊界。它更像一個 Claude Code 桌面工作台,而不只是命令列工具。

cc-haha 是一個圍繞 Claude Code 工作流改造出來的專案。它的完整倉庫名是 NanmiCoder/cc-haha,專案頁面寫得很直接:它基於 2026-03-31 從 Anthropic npm registry 洩露的 Claude Code 原始碼修復而來,現在主要形態是一個桌面端 Claude Code 工作台。

專案地址:https://github.com/NanmiCoder/cc-haha

這句話裡有兩個重點。

第一,它不是 Anthropic 官方 Claude Code。專案 README 也明確寫了原始碼版權歸 Anthropic 所有,僅供學習和研究用途。

第二,它現在的重點已經不只是「本地跑一個 Claude Code CLI」。從 README 和最新 release 看,cc-haha 更像一個把 Claude Code 的會話、專案、權限、Diff、Computer Use、遠端訪問和模型提供商配置集中起來的桌面應用。

它想解決什麼問題

Claude Code 原本是偏終端的工具。會話、命令執行、權限確認、檔案修改、上下文切換都在終端裡完成。對熟悉 CLI 的人來說沒問題,但長期使用時會遇到幾個不方便的地方:

  • 多個專案和多個會話不好同時管理。
  • AI 改了哪些檔案,需要自己切到 Git 或編輯器裡看。
  • 權限審批、命令執行、檔案 Diff 分散在不同介面。
  • 想在手機或其他裝置上遠端看目前會話,需要額外方案。
  • 想接入非 Anthropic 模型,需要自己處理協議相容。

cc-haha 的方向就是把這些東西做成一個圖形化工作台。它並不是只給 Claude Code 換皮,而是把「會話管理」和「本地開發流程控制」放到了桌面端裡。

桌面端工作台:從終端變成控制台

根據 README,cc-haha 桌面端把這些能力集中到 macOS / Windows App 裡:

  • 多會話工作台:用標籤頁、專案切換、終端入口和歷史記錄管理不同任務。
  • 分支 / Worktree 啟動:新會話可以選擇倉庫分支,也可以選擇使用目前工作樹或隔離 Worktree。
  • 右側程式碼改動面板:聊天時直接查看修改過的檔案、增刪行和工作區狀態。
  • 程式碼修改視覺化:查看 AI 對檔案的編輯、Diff 和執行過程。
  • 權限與確認流:把危險命令、工具呼叫和 AI 反問集中到桌面端審批。
  • 多模型提供商:支援 Anthropic 相容 API、第三方模型、WebSearch fallback 和本地配置。
  • H5 遠端訪問:用一次性 token 在手機或其他裝置上接入目前桌面會話。
  • IM 接入:透過 Telegram、飛書、微信、釘釘遠端對話、切換專案和審批權限。
  • 定時任務與 token 用量統計:在桌面端建立計畫任務,並查看本機 token 使用趨勢。

這類功能說明它更接近「AI 編程工作台」,而不是單純的命令列替代品。它想把 AI 寫程式時最常見的幾個介面放到同一個地方:聊天、檔案改動、權限、專案、遠端入口、模型配置。

安裝和啟動方式

普通使用者更適合從 Releases 下載桌面端安裝包。

專案 README 給出的桌面端安裝流程是:

  1. 前往 GitHub Releases 下載 macOS 或 Windows 安裝包。
  2. 首次啟動後,在桌面端設定裡配置模型提供商、API Key 和預設模型。
  3. 如果 macOS 提示應用無法打開,按安裝指南處理 Gatekeeper 權限。

最新 release 頁面顯示,v0.2.6 發布於 2026-05-13。這個版本主要圍繞 H5 手機訪問安全恢復、桌面會話管理、檔案提及搜尋和桌面體驗細節。

如果想從原始碼啟動 CLI,README 給出的命令是:

1
2
3
bun install
cp .env.example .env
./bin/claude-haha

這個路徑更適合想調試底層 CLI、服務端或自行開發的人。普通使用還是桌面端更直接。

v0.2.6 更新了什麼

v0.2.6 的重點是把 H5/LAN 訪問從臨時放行收回到顯式開啟和 token 配對模型。

幾個值得注意的變化:

  • H5/LAN 訪問需要本地顯式開啟。
  • QR 連結會攜帶一次性顯示的 token。
  • 遠端 API、proxy 和 WebSocket 不再裸露。
  • Settings 新增獨立 H5 Access 頁面。
  • 桌面側邊欄增加批量管理模式,支援多選和刪除會話。
  • 桌面檔案提及搜尋改為 git-first,遵守 ignore 規則,減少 node_modules 和建置產物噪聲。
  • 新增純白主題,修復長 URL 撐破聊天布局、多 tab 草稿串台等問題。

這說明專案已經不只是「能跑」,而是在補桌面產品需要的安全邊界和日常體驗。

尤其是 H5 訪問這一塊,作者在 release 裡明確提醒:H5 是給個人或可信團隊使用的瀏覽器訪問入口,不是公開多租戶登入系統。實際使用時,不應該把它當成公網開放的 SaaS 登入後台。

Computer Use:讓 Agent 操作桌面

cc-haha 另一個重要賣點是 Computer Use。

專案文件說明,這個功能基於 Claude Code 洩露原始碼中的 Computer Use 內部實作改造而來。官方實作依賴 Anthropic 內部私有原生模組,例如 @ant/computer-use-swift@ant/computer-use-input,無法公開取得。cc-haha 用 Python bridge 替換底層操作層,透過 pyautoguimsspyobjc 等公開函式庫實作系統互動。

Computer Use 支援的操作包括:

  • 截圖:screenshotzoom
  • 滑鼠:點擊、拖曳、移動、滾動、讀取游標位置
  • 鍵盤:輸入文字、按鍵、按住按鍵
  • 應用:打開應用、切換顯示器
  • 權限:請求應用授權、列出已授權應用
  • 剪貼簿:讀取和寫入剪貼簿
  • 其他:等待、批量操作

它的工作方式是一個「截圖 - 分析 - 操作」的閉環:

  1. 模型收到使用者請求。
  2. 呼叫 screenshot 取得螢幕畫面。
  3. 模型根據視覺能力識別按鈕、輸入框和座標。
  4. 呼叫點擊、輸入或應用操作工具。
  5. 再次截圖確認結果,再繼續下一步。

從文件看,完整支援的平台主要是 macOS,包括 Apple Silicon 和 Intel。Windows / Linux 在理論上可行,但涉及 pyobjc 的應用管理部分需要替換為對應平台方案,目前並不是完整適配狀態。

執行要求包括:

  • Bun >= 1.1.0
  • Python >= 3.8
  • macOS Accessibility 輔助功能權限
  • macOS Screen Recording 螢幕錄製權限

這類功能很強,但也意味著權限風險更高。讓 AI 操作桌面應用時,最好只授權明確需要的應用,不要在無關視窗裡打開敏感內容。

多模型接入:透過 Anthropic 協議相容層

cc-haha 的通信基礎仍然是 Anthropic Messages API 協議。專案文件給出的推薦方案是用 LiteLLM 做協議轉換代理。

基本結構是:

1
claude-code-haha ──Anthropic协议──▶ LiteLLM Proxy ──OpenAI协议──▶ 目标模型 API

也就是說,cc-haha 發出 Anthropic Messages API 請求,LiteLLM 把它轉換成 OpenAI Chat Completions 等格式,再轉發給 OpenAI、DeepSeek、Ollama 或其他模型服務。

文件給出的 LiteLLM 安裝方式是:

1
pip install 'litellm[proxy]'

然後可以在 litellm_config.yaml 裡配置 OpenAI、DeepSeek、Ollama 等模型。啟動代理後,在 .env~/.claude/settings.json 裡設定:

1
2
3
4
5
6
7
8
9
ANTHROPIC_AUTH_TOKEN=sk-anything
ANTHROPIC_BASE_URL=http://localhost:4000
ANTHROPIC_MODEL=gpt-4o
ANTHROPIC_DEFAULT_SONNET_MODEL=gpt-4o
ANTHROPIC_DEFAULT_HAIKU_MODEL=gpt-4o
ANTHROPIC_DEFAULT_OPUS_MODEL=gpt-4o
API_TIMEOUT_MS=3000000
DISABLE_TELEMETRY=1
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1

這裡有幾個實際注意點:

  • drop_params: true 很重要,因為 Anthropic 的 thinkingcache_control 等參數在 OpenAI API 中不存在。
  • Extended Thinking 屬於 Anthropic 專有能力,使用第三方模型時不可用。
  • Prompt Caching 也不會按 Anthropic 原生方式生效。
  • 工具呼叫會經過 Anthropic tool_use 到 OpenAI function calling 的轉換,複雜工具呼叫可能存在相容性問題。
  • 本地 Ollama 小模型未必能穩定處理這套工具呼叫流程。

所以多模型接入能跑,不等於所有模型體驗一樣。cc-haha 對模型的工具呼叫、程式碼理解和長上下文能力要求仍然不低。

適合什麼人

cc-haha 更適合這幾類使用者:

  • 已經熟悉 Claude Code,但想要桌面端會話管理的人。
  • 經常同時處理多個倉庫、分支和 AI 會話的人。
  • 希望在右側直接看 AI 檔案改動、Diff 和工作區狀態的人。
  • 想嘗試 Computer Use,讓 Agent 操作桌面應用的人。
  • 想用 Anthropic 協議接入 OpenAI、DeepSeek、Ollama 或其他模型的人。
  • 需要手機或 IM 遠端查看會話、審批權限的人。

不太適合:

  • 只想穩定使用官方 Claude Code 的使用者。
  • 不能接受洩露原始碼背景和版權不確定性的人。
  • 不願意給本地工具較高系統權限的人。
  • 需要企業合規、審計和官方支援的人。
  • 不熟悉 API key、代理、模型相容和本地服務配置的人。

風險和邊界

這篇文章不能只講功能,也必須講風險。

cc-haha 的來源決定了它不是一個普通的社群重寫專案。README 明確寫到它基於洩露的 Claude Code 原始碼,且原始碼版權歸 Anthropic 所有。這會帶來版權、合規和長期維護上的不確定性。

另外,Computer Use、H5 遠端訪問、IM 接入和本地權限審批都屬於高權限能力。它們越方便,越需要清楚邊界:

  • 不要在不可信網路下開放 H5 訪問。
  • 不要把 token 當作長期公開登入憑證。
  • 不要給 Agent 操作不相關的敏感應用。
  • 不要在生產環境或公司合規環境裡隨意接入。
  • 不要把第三方模型代理和 API key 配置暴露到公開倉庫。

如果只是學習 AI 編程工具架構、桌面端工作流和 Computer Use 實作,它很有參考價值。如果要放進長期生產工作流,就要先評估法律、權限、安全和維護風險。

總結

cc-haha 最值得關注的地方,不是「它能不能復刻 Claude Code」,而是它把 Claude Code 類型的 AI 編程工具推向了桌面工作台形態。

會話、專案、Worktree、Diff、權限、遠端訪問、Computer Use、多模型提供商、定時任務和 token 用量統計都被放進同一個桌面體驗裡。這說明 AI 編程工具的下一步,不只是模型更強,也包括工作流介面更完整。

不過它的邊界也很清楚:這不是 Anthropic 官方產品,來源存在敏感背景,高權限能力需要謹慎使用。更合適的態度是把它當成一個觀察 AI 編程工具演化方向的專案,而不是無腦替代官方 Claude Code。

參考資料

记录并分享
使用 Hugo 建立
主題 StackJimmy 設計