cc-haha とは?Claude Code をデスクトップ作業台にするプロジェクト

NanmiCoder/cc-haha の位置づけ、デスクトップ機能、Computer Use、複数モデル接続、H5 リモートアクセス、インストール方法、リスク境界を整理する。

cc-haha は、Claude Code のワークフローを中心に改造されたプロジェクトです。正式なリポジトリ名は NanmiCoder/cc-haha です。プロジェクトページでは、2026-03-31 に Anthropic npm registry から流出した Claude Code のソースコードを修復したものをベースにしており、現在の主な形はデスクトップ版 Claude Code ワークベンチだと説明されています。

プロジェクト URL:https://github.com/NanmiCoder/cc-haha

この説明には重要な点が 2 つあります。

1 つ目は、これは Anthropic 公式の Claude Code ではないということです。README でも、元のソースコードの著作権は Anthropic にあり、学習と研究目的に限ると明記されています。

2 つ目は、今の重点が単なる「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、Feishu、WeChat、DingTalk からリモート対話、プロジェクト切り替え、権限承認。
  • スケジュールタスクと token 使用量:デスクトップで計画タスクを作成し、ローカル token 使用傾向を確認。

これらの機能を見ると、単なるコマンドライン代替ではなく「AI コーディングワークベンチ」に近いことがわかります。チャット、ファイル変更、権限、プロジェクト、リモート入口、モデル設定を同じ場所に置こうとしているわけです。

インストールと起動方法

一般ユーザーは Releases からデスクトップ版インストーラーをダウンロードするのが向いています。

README のデスクトップ版インストール手順は次の通りです。

  1. GitHub Releases から macOS または Windows のインストーラーをダウンロードする。
  2. 初回起動後、デスクトップ設定でモデルプロバイダー、API Key、デフォルトモデルを設定する。
  3. macOS でアプリを開けないと表示された場合は、インストールガイドに従って Gatekeeper 権限を処理する。

最新 release ページでは、v0.2.62026-05-13 に公開されています。このバージョンは主に H5 モバイルアクセスの安全な復旧、デスクトップセッション管理、ファイル mention 検索、デスクトップ体験の細部改善を扱っています。

ソースから 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 ページが追加された。
  • デスクトップのサイドバーに複数選択とセッション削除のための一括管理モードが追加された。
  • デスクトップのファイル mention 検索が git-first になり、ignore ルールを守り、node_modules やビルド成果物のノイズを減らす。
  • ピュアホワイトテーマが追加され、長い URL がチャットレイアウトを壊す問題や、複数 tab 間で下書きが混ざる問題が修正された。

これは、プロジェクトが「動く」段階を越えて、デスクトップ製品として必要な安全境界と日常的な使い勝手を補い始めていることを示しています。

特に H5 アクセスについて、作者は release で明確に注意しています。H5 は個人または信頼できるチーム向けのブラウザアクセス入口であり、公開マルチテナントログインシステムではありません。実際に使うときは、インターネットに公開する SaaS 管理画面のように扱うべきではありません。

Computer Use:Agent にデスクトップを操作させる

cc-haha のもう一つの大きな特徴は Computer Use です。

プロジェクト文書によると、この機能は流出した Claude Code ソース内の Computer Use 内部実装を大きく改造したものです。公式実装は @ant/computer-use-swift@ant/computer-use-input といった Anthropic 内部の非公開ネイティブモジュールに依存しており、公開入手できません。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 使用量統計が、1 つのデスクトップ体験にまとめられています。これは、AI コーディングツールの次の一歩が、モデル性能だけでなく、より完成度の高いワークフロー UI にもあることを示しています。

ただし境界も明確です。これは Anthropic 公式製品ではなく、出自に敏感な背景があり、高権限機能は慎重に扱う必要があります。公式 Claude Code を安易に置き換えるものとしてではなく、AI コーディングツールの進化方向を観察するプロジェクトとして見るのが適切です。

参考資料

记录并分享
Hugo で構築されています。
テーマ StackJimmy によって設計されています。