モバイルでのClaude Codeリモート開発
はじめに
こんなシーンを想像してみてください:通勤の電車の中で突然素晴らしいバグ修正のアイデアを思いついた。カフェで列を待っているときに緊急の本番インシデントアラートを受け取った。彼女の買い物に付き添いながら、AIが構築したプロジェクトの進捗を確認したい。
従来の開発ワークフローでは、これらのシーンはラップトップを開ける場所を探すか、やむを得ず作業を先送りすることを意味していました。しかし、AI支援コーディングの時代において、ルールは変わりました。Claude Codeにより、開発環境をポケットに持ち運び、いつでもどこでも生産性を維持できるようになりました。
2025年の夏、Claude Codeの普及に伴い、開発者たちは様々な「スマホコーディング」アプローチを模索し始めました。シンプルなローカルTermuxの使用から、複雑なSSH + Tailscaleリモート接続、専用のHappy Coderアプリまで、完全なモバイル開発エコシステムが徐々に形成されました。
この章が解決するコア問題は:Claude Codeをスマホに追従させ、真の「ポケット開発アシスタント」にする方法です。
コミュニティフィードバック概要
実際のコミュニティフィードバックに基づく、各アプローチの体験比較:
Happy Coder(アプローチ2)
- 接続安定性の問題:切断が頻繁に発生し、切断後にコンテキストが失われる
- 機能制限:
/コマンドが使用できない - セキュリティ懸念:公式リレーサーバーに依存、一部ユーザーはデータセキュリティを懸念
HAPI(アプローチ3)
- セルフホストサーバー対応:自分のVPSにデプロイ可能
- Tailscaleとの組み合わせでより良い体験:コンピュータで
hapi serverを実行し、スマホからTailscale IP経由で接続 - 比較的安定した接続、長期使用に適している
Claude Remote Control(公式アプローチ)
- 公式ソリューション、Claude Codeとネイティブ統合
- ローカル環境へのフルアクセス対応(MCP、ツール、プロジェクト設定)
- Maxサブスクリプションが必要(Pro対応は近日公開予定)
- Anthropicクラウド接続に依存
推奨:接続安定性を重視する場合、またはサードパーティリレーのセキュリティを懸念する場合は、HAPI + Tailscaleまたは公式Remote Controlアプローチを選択してください。
コア原理:モバイル開発のアーキテクチャパターン
具体的なアプローチを紹介する前に、問題の本質を理解しましょう。
なぜモバイル開発が難しいのか?
従来のIDE(VS CodeやIntelliJなど)は、完全なオペレーティングシステム環境、強力なCPU、大容量のメモリとストレージを必要とします。スマホはますます高性能になっていますが、開発体験には依然として自然な制限があります:
入力の制約:仮想キーボードはコーディングに非効率で、複雑な構文は入力ミスが起きやすい
画面の制約:小さな画面ではコード、ターミナル、ブラウザを同時に表示するのが困難
環境の制約:スマホでは完全な開発ツールチェーン(コンパイラ、データベース、デバッガ)を実行できない
接続の制約:モバイルネットワークは不安定で、SSHセッションが切断されやすい
コアアイデア:シンクライアントアーキテクチャ
すべてのモバイル開発アプローチの背後にあるコアアイデアは同じです:スマホは「コントロールコンソール」に過ぎず、実際の開発作業は別の場所で行われます。
┌─────────────────────────────────────────────────────────────┐
│ │
│ ┌─────────────┐ ┌─────────────┐ │
│ │ スマホ │ │ ホスト/クラウド│ │
│ │ (コントローラ)│ ────────► │ (実行者) │ │
│ │ │ コマンド │ │ │
│ │ • コマンド送信│ │ • CLI実行 │ │
│ │ • 出力表示 │ │ • コード実行 │ │
│ │ • レビュー │ │ • ファイル操作│ │
│ └─────────────┘ └─────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘このアーキテクチャにより、スマホは人間とコンピュータのインタラクションに専念し、重い計算はホストまたはクラウドに委任できます。
アプローチ1:公式iOSアプリ
2025年10月、AnthropicはiOSアプリでClaude Codeのモバイルサポートを正式に開始しました。これが最もシンプルなモバイル開発オプションです。
地域制限
重要な注意:Claudeアプリは中国本土では直接使用できません。
中国本土にいる場合は、Happy Coder(アプローチ2)を直接使用することをお勧めします。設定済みの国内APIリレーサービスを通じて正常に動作します。
海外のApple IDをお持ちの場合は、地域を切り替えてClaudeアプリをダウンロードできます。
仕組み
┌─────────────┐ ┌─────────────────┐
│ iOSアプリ │ ──────────────────► │ Anthropic Cloud │
│ (スマホ) │ HTTPS + OAuth │ Claude Code │
└─────────────┘ └────────┬────────┘
│
▼
┌───────────────┐
│ GitHub API │
└───────────────┘スマホアプリはコマンドを送信するだけです。すべてのコード実行はAnthropicのクラウドサンドボックスで行われ、結果はGitHubを通じて同期されます。
基本的な使い方
前提条件:
- iOS 15以降のiPhone
- Claude Pro/Team/Enterpriseサブスクリプション(無料プランは非対応)
- GitHubアカウント
手順:
- App StoreからClaudeアプリをダウンロード
- Anthropicアカウントにログイン
- アプリ内の「Code」タブを見つける
- OAuthでGitHubリポジトリを接続
- タスクの作成を開始
メリットとデメリット
メリットはセットアップのハードルがなく、スムーズな体験、プッシュ通知対応。デメリットはiOSのみ対応、GitHubワークフローが中心、機能が比較的制限される(ローカルファイルシステムにアクセス不可)、中国本土で直接利用不可。
アプローチ2:Happy Coder
Happy Coderは、Claude CodeとCodex向けに設計されたオープンソースのモバイル・Webクライアントで、エンドツーエンド暗号化により、どこからでもAIコーディングアシスタントをリモートコントロールできます。
仕組み
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Happyアプリ│ ────────► │ Happyサーバー│ ◄──────── │happy-coder │
│ (スマホ/Web) │ 暗号化WS │ (リレー) │ WebSocket │ (デスクトップ)│
└─────────────┘ └─────────────┘ └──────┬──────┘
│
▼
┌─────────────┐
│Claude Code │
│ CLI │
└─────────────┘コンピュータでclaudeの代わりにhappyを実行してAIコーディングアシスタントを起動します。スマホでコントロールが必要な場合、セッションは自動的にリモートモードに切り替わります。コンピュータで任意のキーを押すとローカルコントロールに戻ります。
インストールと使い方
ステップ1:アプリのダウンロード
| プラットフォーム | リンク |
|---|---|
| iOS | App Store |
| Android | Google Play |
| Web | app.happy.engineering |
ステップ2:コンピュータにCLIをインストール
npm install -g happy-coderステップ3:起動とペアリング
# プロジェクトディレクトリで実行
cd ~/my-project
happy
# ペアリング用QRコードが表示されますステップ4:スマホでスキャンしてペアリング
Happyアプリを開き、コンピュータに表示されたQRコードをスキャンします。ペアリングが成功すると、スマホからClaude Codeを操作できます。
ステップ5:使用
# Claude Codeを起動
happy
# またはCodexを起動
happy codexリソースリンク
- GitHubプロジェクト - ソースコード
- ドキュメント - 使用方法
- Discordコミュニティ - コミュニティ議論
メリットとデメリット
メリットはシンプルなセットアップ、クロスプラットフォーム対応、エンドツーエンド暗号化、オープンソースで監査可能。デメリットはサードパーティのリレーインフラへの依存、各自の環境でモバイルアプリの利用可能性を確認する必要がある。
アプローチ3:HAPI
HAPIはHappy Coderの代替で、ローカルファースト設計と、複数のAIモデルにまたがるシームレスなデバイス切り替えをサポートしています。
仕組み
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ HAPIアプリ │ ────────► │ HAPIサーバー│ ◄──────── │ hapi │
│ (スマホ/PWA/│ WireGuard │ (セルフホスト│ WireGuard │ (デスクトップ)│
│ Telegram) │ + TLS │ リレー) │ + TLS │ │
└─────────────┘ └─────────────┘ └──────┬──────┘
│
▼
┌─────────────┐
│Claude Code │
│ / Codex / │
│ Geminiなど │
└─────────────┘HAPIはWireGuardとTLSを使用してエンドツーエンド暗号化を行います。すべての通信は暗号化されたリレーサーバーを経由します。リレーサーバーをセルフホストしてデータフローを完全に制御できます。
コア機能
- シームレスな切り替え:デスクトップとスマホ間でコントロールを切り替え、任意のキーでローカルコントロールに復帰
- ネイティブファースト:モバイルアプリはネイティブ技術でラップされ、スムーズなインタラクションを実現
- AFK承認:コンピュータから離れている間にスマホで承認リクエストを受信
- マルチモデルサポート:Claude Code、Codex、Gemini、OpenCodeなどに対応
- どこでもターミナル:PWA、Telegram Mini Appなどからアクセス
- 音声コントロール:音声入力コマンドに対応し、手を空けたまま操作可能
インストールと使い方
ステップ1:リレーサーバーの起動
# サーバー上で実行(またはnpxで直接起動)
npx @twsxtd/hapi hub --relayステップ2:コンピュータにCLIをインストール
# プロジェクトディレクトリで実行
cd ~/my-project
npx @twsxtd/hapi
# またはグローバルインストール
npm install -g @twsxtd/hapi
hapiステップ3:デバイスのペアリング
ターミナルの指示に従い、スマホでHAPIアプリを開いてQRコードをスキャンし、ペアリングを完了します。
ステップ4:アクセス方法
| アクセス方法 | 説明 |
|---|---|
| Web PWA | ブラウザアクセス、ホーム画面へのインストール対応 |
| Telegram Mini App | Telegram内で直接使用 |
| モバイルアプリ | ネイティブアプリ体験(公開されている場合) |
Happy Coderとの違い
| 機能 | Happy Coder | HAPI |
|---|---|---|
| 設計思想 | クラウドファースト | ローカルファースト |
| 暗号化方式 | WebSocket + E2E | WireGuard + TLS |
| マルチモデル対応 | Claude Code、Codex | Claude、Codex、Gemini、OpenCode |
| アクセス方法 | iOS/Android/Web | PWA、Telegram、その他 |
| 音声コントロール | なし | あり |
| AFK承認 | なし | あり |
| セルフホストリレー | 手動デプロイが必要 | 標準対応 |
リソースリンク
- GitHubプロジェクト - ソースコード
- PWAドキュメント - PWAのインストールと使用方法
- 仕組み - 技術的な実装詳細
- 音声アシスタント - 音声コントロール機能
- なぜHAPIか - 設計思想
- FAQ - よくある質問
メリットとデメリット
メリットはローカルファースト設計、マルチモデル対応、エンドツーエンド暗号化、音声コントロール、セルフホストリレー機能。デメリットはプロジェクトが比較的新しく、エコシステムがまだ成長中。
アプローチ4:SSH + Tailscale + Tmux
プロフェッショナルな開発者に最適なオプションです。SSHでリモートの開発マシンに接続し、Tmuxでセッションを永続化します。
仕組み
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ スマホ │ ────────► │ Tailscale │ ◄──────── │ コンピュータ│
│ (SSHクライアント)│ VPN P2P │ リレー/ホール│ VPN P2P │ (開発ホスト) │
└─────────────┘ └─────────────┘ └──────┬──────┘
│
▼
┌─────────────┐
│ Tmux │
│ (セッション │
│ 永続化) │
└─────────────┘TailscaleがピアツーピアVPNを作成し、どのネットワークからでも自宅のコンピュータにアクセスできるようにします。Tmuxは、SSHが切断されてもClaude Codeがバックグラウンドで実行され続けることを保証します。
なぜTailscaleが必要なのか?
従来のSSHの問題:
スマホ (4G) ──XX──> ルーターNAT ──XX──> 自宅PC
(突破できない) (LAN隔離)コンピュータはプライベートネットワーク上にあり、スマホはパブリックネットワーク上にあるため、直接アクセスが失敗します。従来のソリューションではポートフォワーディングとダイナミックDNSが必要で、複雑かつリスクがあります。
Tailscaleのソリューション:
スマホ (4G) ──► Tailscaleリレー ──◄── 自宅PC
(自動ホールパンチングまたはリレー)TailscaleはNATトラバーサルを使用し、トラバーサルが失敗した場合は自動的にリレーにフォールバックします。接続全体が暗号化されています。
完全なセットアップ手順
ステップ1:コンピュータにTailscaleをインストール
# macOS
brew install --cask tailscale
# またはインストーラーをダウンロード
# https://tailscale.com/downloadステップ2:ログインしてIPを取得
# Tailscaleを起動
sudo tailscale up
# Tailscale IPv4を確認
tailscale ip -4
# 出力例:100.x.x.xステップ3:スマホにTailscaleをインストール
App StoreまたはGoogle PlayからTailscaleをダウンロードし、同じアカウントでログインします。
ステップ4:Tmuxをインストールして設定
# macOS
brew install tmux
# ~/.tmux.confを作成
cat > ~/.tmux.conf << 'EOF'
# マウスサポートを有効化
set -g mouse on
# デフォルトターミナルを256色に設定
set -g default-terminal "screen-256color"
# プレフィックスキーをCtrl+Aに変更(オプション)
unbind C-b
set -g prefix C-a
# 分割ショートカットの簡略化
bind v split-window -h
bind h split-window
EOFステップ5:永続セッションの作成
# "claude"という名前のセッションを作成
tmux new -s claude
# このセッションでClaude Codeを起動
cd ~/my-project
claude
# 閉じずにデタッチ
# Ctrl+Bを押してからDステップ6:スマホのSSHクライアントから接続
おすすめのSSHクライアント:
| クライアント | プラットフォーム | 備考 |
|---|---|---|
| Blink Shell | iOS | MOSH対応、不安定なネットワークに最適 |
| Termius | iOS/Android | クロスプラットフォーム、洗練されたUI |
| a-Shell | iOS | 無料で軽量 |
接続設定:
Host: 100.x.x.x (Tailscale IP)
Port: 22
Username: コンピュータのユーザー名接続後、Tmuxにアタッチ:
tmux attach -t claude高度なヒント
コンピュータのスリープを防止:
# macOS
caffeinate -dimsu &
# またはシステム設定 > 省エネルギー > 自動スリープを防止不安定なネットワークでMOSHを使用:
MOSH(Mobile Shell)はモバイルネットワーク向けに最適化されたSSHの代替で、ネットワーク変更時のシームレスな復旧を提供します。
# コンピュータにインストール
brew install mosh
# スマホクライアントからMOSHを使用
# Blink ShellはネイティブでMOSHをサポートワンコマンド接続スクリプト:
SSHクライアントの起動コマンドとして設定:
tmux attach -t claude || tmux new -s claude既存のセッションに自動アタッチするか、新しいセッションを作成します。
メリットとデメリット
メリットはフル機能で、デスクトップと同等のワークフローですべての開発ツールが利用可能。デメリットはセットアップがより複雑で、コンピュータをオンラインに保つ必要がある。
アプローチ5:ローカルTermuxランタイム
Androidユーザーの場合、外部デバイスに接続せずにスマホで直接Claude Codeを実行できます。
仕組み
┌─────────────────────────────────────────────────────────────┐
│ │
│ ┌─────────────┐ │
│ │ Termux │ │
│ │ (Linux環境) │ │
│ │ │ │
│ │ • Node.js │ │
│ │ • Claude │ │
│ │ Code CLI │ │
│ │ │ │
│ │ • プロジェクト│ │
│ │ ファイル │ │
│ │ • Git │ │
│ └─────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────┐ │
│ │Anthropic API│ │
│ └─────────────┘ │
└─────────────────────────────────────────────────────────────┘TermuxはAndroid向けのターミナルエミュレータおよびLinux環境です。その中に直接Node.jsとClaude Codeをインストールできます。
インストール手順
重要:TermuxはF-Droidからダウンロードしてください。Google Play版は古いバージョンです。
ステップ1:基本ツールのインストール
# パッケージマネージャーの更新
pkg update && pkg upgrade
# 開発ツールのインストール
pkg install git nodejs python vimステップ2:Claude Codeのインストール
npm install -g @anthropic-ai/claude-codeステップ3:環境設定
# ワークスペースの作成
mkdir -p ~/projects
cd ~/projects
# プロジェクトの初期化
git clone https://github.com/your-repo.git
cd your-repo
# Claude Codeの起動
claudeステップ4:外部キーボードの設定(推奨)
Termuxで:
# 追加キー行を有効化
# 画面を長押し > More > Extra keys row
# ショートカットの設定
# ~/.termux/termux.propertiesに追加
extra-keys = [['ESC','/','-','HOME','UP','END','PGUP','~'], \
['TAB','CTRL','ALT','LEFT','DOWN','RIGHT','PGDN','|']]パフォーマンスの考慮事項
| タスクタイプ | Androidでのパフォーマンス |
|---|---|
| Web開発(HTML/CSS/JS) | 優秀 |
| Pythonスクリプト | 優秀 |
| Node.jsアプリケーション | 良好 |
| テストスイートの実行 | 普通 |
| 大規模プロジェクトのコンパイル | 非推奨 |
メリットとデメリット
メリットは完全なローカルコントロール、外部ホストへの依存なし、オフラインファーストの操作。デメリットはスマホのパフォーマンスの制限、テキスト入力体験が弱い、Androidのみ対応。
アプローチ6:Claude Code UI
Claude Code UI(CloudCLIとも呼ばれる)は、Claude Code向けのWebインターフェースを提供するオープンソースプロジェクトで、スマホブラウザをサポートしています。
仕組み
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│スマホブラウザ│ ────────► │ Webサーバー │ ◄──────── │Claude Code │
│ │ HTTP/HTTPS │ (localhost) │ 呼び出し │ CLI │
└─────────────┘ └─────────────┘ └─────────────┘コンピュータでWebサーバーを実行し、スマホのブラウザからアクセスします。LAN接続またはトンネリングが必要です。
インストールと使い方
ステップ1:インストール
# ワンコマンド起動(推奨)
npx @siteboon/claude-code-ui
# またはグローバルインストール
npm install -g @siteboon/claude-code-ui
claude-code-uiステップ2:インターフェースを開く
サーバーのデフォルトはhttp://localhost:3001です。
ステップ3:スマホからアクセス
方法A - LANアクセス(同じWi-Fi):
# すべてのインターフェースにバインド
claude-code-ui --host 0.0.0.0
# スマホからアクセス
http://<コンピュータのLAN-IP>:3001方法B - ngrokトンネル:
# ngrokをインストール
brew install ngrok
# トンネルを開始
ngrok http 3001
# スマホからngrok URLを開く機能
- レスポンシブデザインでモバイル対応
- 内蔵チャットインターフェース
- ファイルブラウザ
- Git操作UI
- セッション管理
メリットとデメリット
メリットはグラフィカルインターフェースと豊富な機能。デメリットはLAN外ではトンネルが必要で、セットアップが比較的複雑。
アプローチ7:クラウド開発環境
常に稼働しているローカルコンピュータがない場合、クラウド開発環境を使用してClaude Codeをクラウドサーバーで実行できます。
仕組み
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ スマホ │ ────────► │ クラウドボックス│ ─────────► │Claude Code │
│(ブラウザ/アプリ)│ HTTPS │ (DevBox) │ │ CLI │
└─────────────┘ └─────────────┘ └─────────────┘クラウドコンテナにはClaude Codeがプレインストールされており、ブラウザまたはモバイルアプリからアクセスします。
Sealos DevBoxを使用する場合
ステップ1:環境の作成
Sealos DevBoxにアクセスし、Claude Codeテンプレートを選択して環境を作成します。
ステップ2:開発環境の起動
約30〜60秒で環境が準備され、Webターミナルが利用可能になります。
ステップ3:Claude APIの設定
export ANTHROPIC_API_KEY="your-api-key"ステップ4:Happyアプリの接続
# happy-coderをインストール(またはプレインストール版を使用)
npm install -g happy-coder
# ペアリングQRコードを生成
happyスマホでスキャン後、すぐに使用できます。
クラウドオプションの比較
| プラットフォーム | Claude Code | モバイル最適化 | 起動時間 | 料金 |
|---|---|---|---|---|
| Sealos DevBox | プレインストール | Happy対応 | ~60秒 | 従量課金 |
| GitHub Codespaces | 手動セットアップ | ブラウザ経由 | ~2-3分 | 無料枠+時間課金 |
| Gitpod | 手動セットアップ | ブラウザ経由 | ~1-2分 | 無料枠+時間課金 |
| Replit | ネイティブClaude Codeなし | ネイティブアプリ | 即座 | 無料+サブスクリプション |
メリットとデメリット
メリットはローカルコンピュータ不要、環境の一貫性、スケーラビリティ。デメリットは有料利用、ネットワーク依存、コードがクラウドにホストされる。
比較と選択
各アプローチには異なる強みがあり、異なるシナリオに適しています。
比較表
| アプローチ | 難易度 | トンネル必要 | コスト | 最適なシナリオ |
|---|---|---|---|---|
| 公式iOSアプリ | 簡単 | なし | $20/月 | クイックチェック、簡単なタスク |
| Happy Coder | 比較的簡単 | なし | 無料 | 日常使用、利便性 |
| HAPI | 普通 | なし | 無料 | マルチモデル、ローカルファースト |
| SSH + Tailscale | 比較的複雑 | なし | 無料 | プロフェッショナル開発、フル機能 |
| Termux | 普通 | なし | 無料 | Androidローカル開発 |
| Claude Code UI | 普通 | あり | 無料 | Webインターフェース希望 |
| クラウドDevBox | 簡単 | なし | 従量課金 | ローカルコンピュータなし |
選択ガイド
中国本土にいる場合:Happy Coderを使用してください。国内APIリレーの設定があれば、うまく動作します。
最大の利便性を求める場合:Happy Coderを選択してください。スキャンして使うフローが非常に便利です。
マルチモデルサポートが必要な場合:HAPIを選択してください。複数のAIコーディングアシスタントに対応し、モデル切り替えワークフローに最適です。
常に稼働しているコンピュータがある場合:SSH + Tailscaleを選択してください。最も完全な体験が得られます。
iPhoneユーザーの場合(中国本土以外):公式アプリが最も簡単な始め方です。
Androidのみの場合:Termuxで完全にローカルなモバイル開発パスが利用可能です。
コンピュータがない場合:クラウドDevBoxが理想的な選択です。
セキュリティとプライバシー
モバイル開発ではネットワーク経由でコードが転送されるため、セキュリティに特別な注意が必要です。
リレーサーバーのリスク
Happy CoderやHAPIなど、リレーに依存するサービスを使用する場合、以下のリスクを考慮してください:
┌─────────────────────────────────────────────────────────────┐
│ │
│ リレーサーバーが潜在的に見られるもの │
│ │
│ • 暗号化前のデータ(E2Eが不適切に実装されている場合) │
│ • メタデータ(接続時間、セッションの長さ) │
│ • APIキー(設定が不正確な場合) │
│ │
│ リレーサーバーが潜在的にできること │
│ │
│ • コード内容の記録 │
│ • API認証情報の窃取 │
│ • 悪意のあるコマンドの注入 │
│ • デバイスを攻撃ノードとして悪用 │
│ │
└─────────────────────────────────────────────────────────────┘セキュリティベストプラクティス
1. コードの機密性グレーディング
┌─────────────────────────────────────────────────────────────┐
│ │
│ 公開プロジェクト/学習コード -> どのアプローチでも問題なし │
│ │
│ プライベートプロジェクト -> SSH+Tailscaleまたはセルフホスト│
│ を優先 │
│ │
│ 商用コード -> SSH+Tailscaleのみ使用、すべてのサードパーティ│
│ リレーパスを無効化 │
│ │
└─────────────────────────────────────────────────────────────┘2. キー管理
# キーをソースにハードコードしない
const apiKey = "sk-ant-xxxxx"
# 環境変数を使用
const apiKey = process.env.ANTHROPIC_API_KEY
# .envファイルを使用(.gitignoreに追加)
ANTHROPIC_API_KEY=sk-ant-xxxxx3. サンドボックスモードの使用
Claude Codeはアクセススコープを制限するサンドボックスモードをサポートしています:
claude --sandbox /path/to/project4. リレーのセルフホスト
Happy Coderを使用する場合、リレーのセルフホストを検討してください:
# プロジェクトをクローン(サーバー実装を含む)
git clone https://github.com/slopus/happy.git
cd happy
# VPSにサーバーをデプロイ
# 詳細はプロジェクトドキュメントに従ってください5. Headscaleの使用
HeadscaleはTailscaleのオープンソース実装で、セルフホストが可能です:
# ワンコマンドDockerデプロイ
docker run -d \
--name headscale \
-v /srv/headscale:/etc/headscale \
-p 3478:3478/udp \
-p 8080:8080 \
headscale/headscale:latestよくある質問
NATトラバーサルは必要ですか?
最新のアプローチの多くは手動のNATトラバーサルを必要としません:
| アプローチ | 原理 |
|---|---|
| Happy Coder | リレーモード、両側がサーバーにアクティブに接続 |
| HAPI | リレーモード、WireGuard + TLS |
| Tailscale | NATホールパンチングまたはリレー |
| iOSアプリ | クラウド実行 |
| Claude Code UI | インバウンドアクセスが必要 |
なぜリレーモードではトラバーサルが不要なのか?
アウトバウンド接続(NATは許可):
コンピュータ ──► リレーサーバー はい
インバウンド接続(NATはブロック):
外部 ──► コンピュータ いいえ
リレーのトリック:
両側がリレーにアウトバウンド接続を行うため、
どちらの側もインバウンド接続性を必要としない。モバイル開発はバッテリーに影響しますか?
アプローチによって消費電力が異なります:
| アプローチ | 消費電力 | 理由 |
|---|---|---|
| SSHターミナル | 低 | テキストのみのレンダリング |
| iOSアプリ | 普通 | クラウド実行、スマホはコントロールのみ |
| Termux | 高 | ローカルCLIランタイム |
| ブラウザ | 普通 | Web UIレンダリング負荷 |
長時間のセッションでは、スマホを充電しながら使用してください。
ネットワークが切断されたらどうなりますか?
| アプローチ | ネットワーク切断の影響 |
|---|---|
| SSH + Tmux | Claudeは実行を継続、再接続時に復旧 |
| Happy Coder | 自動再接続 |
| HAPI | 自動再接続 |
| iOSアプリ | クラウドは継続、アプリに切断表示 |
| Termux | セッション中断 |
スマホで大規模プロジェクトをコンパイルできますか?
お勧めしません。スマホのCPUとメモリには制限があり、大規模なビルドは以下を引き起こす可能性があります:
- 著しい発熱
- 急速なバッテリー消費
- 非常に長いコンパイル時間
重いビルドタスクはリモートホストまたはクラウド環境で実行してください。
まとめ
Claude Codeモバイル開発のコアアイデアは:スマホはコントローラであり、実際の開発は別の場所で実行されるということです。
どのアプローチを選ぶべきかは、あなたの具体的なニーズ次第です。
中国本土にいる場合は、Happy Coderが推奨されます。特に国内APIリレー設定との組み合わせで効果的です。
最も便利なセットアップを求めるなら、Happy Coderを使用してください。スキャンして接続、プッシュ通知、スムーズなデバイス切り替えが可能です。
マルチモデルサポートやローカルファーストアーキテクチャが必要な場合は、HAPIを使用してください。複数のアシスタントに対応し、セルフホストリレーをサポートします。
最も完全な開発体験を求めるなら、SSH + Tailscaleを使用してください。セットアップはより複雑ですが、デスクトップに最も近い機能を提供します。
中国本土以外のiOSユーザーの場合、公式アプリが最も簡単な始め方です。
Androidユーザーの場合、Termuxでスマホ上の完全にローカルな開発が可能です。
常に稼働しているコンピュータがない場合、クラウドDevBoxが理想的なオプションです。
どのソリューションを選ぶにしても、セキュリティが重要です:機密コードに対するサードパーティリレーには注意し、APIキーを適切に管理し、重要なプロジェクトではセルフホストまたはプライベートパスを優先してください。
参考文献
公式リソース
- Claude Code公式ドキュメント - 完全な公式Claude Codeドキュメント
- Claude iOSアプリ - 公式iOSアプリ
オープンソースプロジェクト
- slopus/happy (2.5kスター) - Happy Coderモバイルクライアント
- tiann/hapi - HAPIローカルファーストマルチモデルAIコーディングアシスタント
- siteboon/claudecodeui - Claude Code UI (CloudCLI)
- juanfont/headscale (19kスター) - オープンソースTailscale実装
中国語チュートリアル
- いつでもどこでもコーディング:スマホでClaude Codeを設定 - Termuxセットアップガイド
- ポケットの中のAIラボ:常時接続Claude Codeモバイルワークフロー - Tmux + Dockerアプローチ
- 彼女の買い物に付き添いながらClaude Codeを使った話 - Tailscaleリモート接続
- スマホから本番アプリを構築 - 実際のモバイル開発事例
英語リソース
- The Definitive Guide to Using Claude Code on Your Phone | Sealos Blog - 最も包括的なモバイルガイド
- SSH + Tailscale + Termius完全ガイド - 詳細なリモート接続ガイド
ツールダウンロード
- Tailscale - ピアツーピアVPNツール
- Termux (F-Droid) - Androidターミナルエミュレータ
- Blink Shell - iOS SSHクライアント(MOSH対応)
- Termius - クロスプラットフォームSSHクライアント