オープンソース
OpenCode をスマホから、自分のサーバーで動かす
OpenCode にはすでにサーバーと Web UI があり、コミュニティ製アプリもそれを土台にしています。ただし、サーバーのポートをスマホまで安全に届ける部分はあなた任せです。Maude はポートを開けずにその部分を引き受けます。
簡単な答え
OpenCode には公式のモバイルアプリはありません。よくある方法は、スマホのブラウザで opencode web を開くか、opencode serve にコミュニティ製アプリを接続するかで、どちらも LAN、Tailscale、トンネルなどでポートを公開することになります。Maude は固定バージョンの OpenCode を SSH でサーバーにインストールし、外向きのエンドツーエンド暗号化リレーで接続するので、ポートは一切開けません。自分のモデルの API キー、または ChatGPT や Copilot のサインインで 24 時間動きます。
OpenCode はオープンソース(MIT)のコーディングエージェントで、ほぼどのモデルプロバイダーとも使えます。特定ベンダーのサブスクリプションに縛られたくない人に人気です。リモートから操作することも想定して作られており、opencode serve はヘッドレスの HTTP API を動かし、opencode web はその上にブラウザ UI を追加します。つまり問題は、スマホからアクセスできるかどうかではなく、どうやって安全にアクセスし、動かし続けるかです。
スマホから OpenCode を使う方法
| 方法 | スマホへの届け方 | 向いている用途 |
|---|---|---|
モバイルブラウザで opencode web | 0.0.0.0 にバインド(または --mdns を使用)して、ネットワークアドレスを開く | 同じ Wi-Fi 内で手軽に使う。スマホに何もインストールしなくてよい |
| OpenCode Mobile などのコミュニティ製アプリ | LAN、Tailscale、トンネル、リバースプロキシ、SSH ポートフォワードで opencode serve にアプリを接続する | ネットワーク設定に抵抗がなければ、無料でオープンソースのネイティブクライアント |
| SSH アプリ + tmux | サーバーに SSH で入り、ターミナル UI にアタッチする | 完全に制御でき追加ソフトも不要だが、ソフトウェアキーボードでターミナル UI を操作することになる |
| Maude | サーバーからエンドツーエンド暗号化されたリレーへ接続。受信ポートは不要 | ほかのエージェントと並べて 24 時間動くサーバー。承認と git 付き |
最初の 2 つは良い選択肢で、費用もかかりません。OpenCode Mobile はコミュニティのプロジェクトで、OpenCode とは無関係であることを明記しています。自宅の 1 つのネットワーク内でしか OpenCode を使わないなら、opencode web で十分かもしれません。Maude が想定しているのは、離れている間も動き続ける必要があるリモートサーバー上の OpenCode を、Claude Code や Codex などほかのエージェントと一緒に使うケースです。より広い選択肢はコーディングエージェント向けスマホアプリのまとめで比較しています。
セキュリティ:4096 番ポートをインターネットに公開しない
opencode serve はデフォルトで 127.0.0.1:4096 を待ち受け、opencode web はランダムなローカルポートを選びます。これは安全なデフォルトです。問題は、スマホから届くように範囲を広げたときに始まります。OpenCode 自身の説明によると、「OPENCODE_SERVER_PASSWORD が設定されていない場合、サーバーは保護されません」。エージェントはコマンドを実行できるので、保護されていない OpenCode の API は、そのマシンのシェルを開放しているのと同じです。
自分で接続を組む場合は、次の点に注意してください。
OPENCODE_SERVER_PASSWORDは必ず設定してください。serveとwebの両方で HTTP ベーシック認証が有効になります。- 公開トンネルより Tailscale などのプライベートネットワークを選び、パブリック IP を持ちファイアウォールのない VPS では決して
0.0.0.0にバインドしないでください。 - どうしても公開トンネルを使う場合は、その前段にも認証を置いてください。
Maude ではこの問題自体が生じません。OpenCode はサーバー内に閉じたままで、Maude のデーモンが Agent Client Protocol を使って stdio 経由で OpenCode とやり取りし、デーモンは Maude のリレーへ外向きに接続してスマホとつながります。通信はサーバーごとの鍵でエンドツーエンド暗号化されるので、リレーが目にするのは暗号文だけです。SSH はフォールバックです。自分でネットワークを組む方法は、tmux、mosh、Tailscale のガイドで詳しく解説しています。
VPS で OpenCode を 24 時間動かす
OpenCode 自体は軽量です。必要なサーバーの規模はプロジェクトのビルドとテスト次第で、サイズの目安はコーディングエージェント向け VPS ガイドで解説しています。Maude でのセットアップは次のとおりです。
- アプリでサーバーを追加します。アドレスを入力するか、
ssh …コマンドを貼り付けるか、curl -fsSL https://maude.pilotdev.fr/setup | shが表示する QR コードを読み取ります。x86-64 / ARM のどの Linux / macOS マシンでも使えます。 - アプリが SSH でデーモンをデプロイします。デーモンは固定した検証済みバージョンの OpenCode を、リリースのチェックサムで検証してインストールします。Alpine(musl)向けや、AVX2 のない古い CPU 向けのビルドにも対応しています。OpenCode は最新に保たれます。
- スマホからプロバイダーにサインインし(次のセクション参照)、プロジェクトのディレクトリでセッションを始めます。専用の git worktree で始めることもできます。
それ以降、アプリを開いていてもいなくても、セッションはサーバー上で動きます。OpenCode が何かを実行する権限を求めると、そのリクエストはチャット内のカード、受信箱内の表示、許可と拒否のボタン付きのプッシュ通知として届きます。OpenCode の 2 つのプライマリーエージェントは、Maude のモードチップに対応しています。Build(デフォルト、すべてのツールを使用)と Plan(分析用の制限付きエージェントで、編集やコマンドの前に必ず確認)です。/compact が使え、各セッションにはファイル、Git(差分レビュー、コミット、プッシュ、gh によるプルリクエスト)、本物のターミナルがあります。
モデルとキー
OpenCode の強みは、特定のモデルベンダーに縛られないことです。Maude では、スマホから次のいずれかの方法でサインインできます。
- ChatGPT Plus/Pro:OpenCode のヘッドレスなデバイスコードログインを使います。
- GitHub Copilot:GitHub のデバイスフローを使います。
- Anthropic または OpenRouter の API キー:アプリに貼り付けると、OpenCode がサーバー上に保存します。
サーバー上で opencode auth login を使ってすでに設定したプロバイダーも検出され、そのまま使えます。OpenCode 独自のゲートウェイという選択肢もあります。OpenCode Zen は OpenCode チームが検証したモデルを従量課金で使えるサービスで、期間限定の無料モデルもあります。OpenCode Go は人気のオープンなコーディングモデルを使えるサブスクリプションで月 $10、上限の高い Go Plus は $40 です。モデルは入力欄の上のチップからセッションごとに選べます。Maude にはモデルの利用分は含まれません。
料金や挙動の面で OpenCode がベンダー製エージェントとどう違うかは、Claude Code vs Codex vs OpenCode をご覧ください。セッションはアイドル状態のときに別のエージェントへ引き継ぐこともできます。新しいエージェントには計画、変更したファイル、git の状態、最近の会話をまとめた引き継ぎが渡され、元に戻すと OpenCode 自身のセッションが再開します。
自宅の 1 つのネットワークで OpenCode を使うなら、パスワードを設定した opencode web が無料で十分です。使いやすいネイティブクライアントが欲しく、Tailscale を運用するのも苦にならないなら、コミュニティ製アプリを試してみてください。リモートサーバーで OpenCode を 24 時間動かし、保護すべきポートを持たず、ほかのエージェントと同じ受信箱で扱いたいなら、それが Maude の役割です。
よくある質問
OpenCode の公式モバイルアプリはありますか?
スマホで opencode web を安全に使えますか?
OPENCODE_SERVER_PASSWORD を設定してベーシック認証を有効にし、パブリック IP には公開しないでください。パスワードがないと OpenCode はサーバーが保護されていないと警告し、サーバーに到達できる人は誰でもエージェントにコマンドを実行させられます。OpenCode ではどんなモデルを使えますか?
OpenCode にサブスクリプションは必要ですか?
変更点
- — ページを公開。OpenCode のライセンス、サーバーのデフォルト設定、パスワードに関する案内、Go / Zen の料金を、この日に opencode.ai のドキュメントで確認しました。