OpenCode Web ガイド
OpenCode Web ブラウザ:UI の起動、ポート設定、安全な接続
先に結論です。ブラウザで OpenCode を使うなら opencode web を実行し、個人 PC では localhost の既定値を保ち、別端末から接続する前にパスワードを設定します。本稿では Web UI、ポート、ホスト名、CORS、セッション、opencode attach、Windows/WSL、ブラウザ・Provider・プロジェクトの切り分けを扱います。
- 結論
- OpenCode Web ブラウザ
- ドキュメント確認
- 2026年10月25日確認
- 読了時間
- 14分
結論
OpenCode Web の要点

| 目的 | コマンドまたは設定 | 確認すること |
|---|---|---|
| ローカル起動 | opencode web | ブラウザが開き、サーバーが localhost に留まる。 |
| ポート固定 | opencode web --port 4096 | ポートが空いており URL を記録する。 |
| ネットワーク許可 | --hostname 0.0.0.0 | 別端末の接続前にパスワードを設定する。 |
| 共有サーバー保護 | OPENCODE_SERVER_PASSWORD | 秘密情報を実行時に渡し、リポジトリに保存しない。 |
| TUI 接続 | opencode attach http://localhost:4096 | Web とターミナルが意図したセッションを使う。 |
結論:ローカルから始め、境界を意図的に広げる
OpenCode Web は OpenCode サーバーのブラウザ UI です。セッション一覧を確認したり、プロジェクトをブラウザで開いたり、TUI とは別の視点を持つときに役立ちます。ホスト型アカウントではなく、Provider の資格情報を不要にするものでもありません。
最初は hostname を変更せず opencode web を実行します。公式 Web ドキュメントでは 127.0.0.1 にバインドし、空いているポートを選んで既定ブラウザを開くと説明されています。このローカル境界でプロジェクト、Provider、権限、セッションを確認します。
固定ポート、ネットワーク hostname、mDNS、CORS はその後です。各設定は接続できる相手を変えます。ページが開かない場合はプロセスやポート、意図しない相手から見える場合は公開範囲を疑います。
OpenCode Web を起動して URL を記録する
opencode web使用するリポジトリで実行します。OpenCode が Web サーバーを起動し、ブラウザを開きます。プロセスを所有するターミナルを残し、アドレス、ポート、警告を記録してください。ページが開いても、正しいファイルやモデルにアクセスできる証拠にはなりません。
再現性が必要なら opencode web --port 4096 を使います。固定ポートはブックマーク、スクリプト、opencode attach に便利ですが、他のプロセスと衝突します。全ポートを公開せず、先に使用中のプロセスを確認します。
最初の作業は読み取り専用にします。プロジェクトを一覧し、小さなファイルを要約し、セッションまたはサーバー状態を確認します。その後、同じ workspace で Git status とモデルを確認すれば、原因を分離できます。
ポート、hostname、mDNS、CORS の違い
ポートはホスト上の番号、hostname は接続を受けるインターフェースを決めます。127.0.0.1 はローカルのみです。--port 4096 は番号を、--hostname 0.0.0.0 は待受範囲を変更します。
信頼できる LAN では mDNS が便利です。公式例の opencode web --mdns は opencode.local を広告し、--mdns-domain で複数インスタンスを分けられます。発見機能は暗号化や認証ではありません。
CORS はブラウザのどの Origin がクロスオリジン要求を送れるかを決めます。独自フロントエンドに必要でも、公開サーバーを非公開にはしません。許可リストを狭くし、実際の Origin を確認します。
| 設定 | 既定または例 | 確認する境界 |
|---|---|---|
| ポート | ランダム、--port 4096 | 衝突、ブックマーク、attach URL |
| Hostname | 127.0.0.1、LAN は 0.0.0.0 | 接続可能なインターフェースと端末 |
| mDNS | --mdns と任意のドメイン | 信頼できるネットワークと名前衝突 |
| CORS | --cors https://example.com | 全許可ではなく正確な Origin |
ネットワーク接続前に OpenCode Web を保護する
公式の注意書きは明確です。OPENCODE_SERVER_PASSWORD を設定しない場合、サーバーは保護されません。ローカルだけの短いテストなら許容できますが、別端末から到達できる状態には不十分です。起動時に注入し、opencode.json、履歴、画像、コミット済み .env に保存しないでください。
既定ユーザーは opencode で、OPENCODE_SERVER_USERNAME で変更できます。これは Web サーバーの認証であり、Provider やリポジトリの保護ではありません。キー、権限、マウント、プロセスユーザーを別々に確認します。
--hostname 0.0.0.0 の前にファイアウォールとネットワーク範囲を確認します。プライベートなネットワーク、短期パスワード、既知のポートを優先します。Proxy、VPN、独自フロントエンドがあれば TLS の終端とセッションを見る層を記録します。

Web UI のセッションとターミナル接続
Web のホームではアクティブなセッションを確認し、新しいセッションを開始できます。Prompt を送る前にプロジェクトを確認してください。プロセスやリポジトリが変わっても古いタブは残るため、サーバー状態を再確認します。
サーバー状態は Web プロセスと coding session を区別する手掛かりです。モデルがない場合は Provider と ID、ファイルがない場合は作業ディレクトリとユーザーを確認してから Prompt を変えます。
二つの UI を使うなら Web を起動し、別ターミナルで opencode attach http://localhost:4096 を実行します。公式ドキュメントではセッションと状態を共有できます。書き込み担当を一つにして diff を確認します。
Windows と WSL:実行環境を確認する
公式 Web ページは Windows で WSL から opencode web を実行する方法を推奨しています。リポジトリが Linux パスにある、ツールが WSL 内にある、PowerShell と異なる PATH や home を使う場合に重要です。
コマンドの実行場所、リポジトリの場所、プロセスのユーザーを記録します。Windows のブラウザから WSL へ接続できても、localhost、ファイアウォール、パスは端末から見えない境界を越えます。まず読み取り専用で試します。
ページが開くのにコマンドやファイル参照が失敗するなら、opencode --version、現在のディレクトリ、Provider の環境変数、起動した shell を比較します。Deployment、VS Code、権限の各ガイドは隣接層を扱います。
トラブルシューティング:失敗した層を分ける
プロセスと URL から確認し、内側へ進みます。接続エラーはプロセス、ポート、hostname、ファイアウォール、CORS の問題です。ページは開くがセッションが始まらない場合は、プロジェクト、Provider、権限、モデルを確認します。すべてを同時に変えると証拠が消えます。
固定ポートでは待受プロセスと表示 URL の番号を比較します。ネットワーク hostname では localhost とパスワードを確認してから別端末でテストします。mDNS では広告名と実アドレスを比べます。
セッションが予想外なら、起動コマンド、作業ディレクトリ、モデル ID、環境変数の出所、Git status を保存します。短い読み取り要求と小さな文書変更を再現し、秘密や範囲外のファイルが diff に出たら停止します。
| 症状 | 可能性の高い層 | 最初の確認 |
|---|---|---|
| ブラウザが接続を拒否 | プロセス、ポート、hostname、Firewall | ターミナル URL と localhost |
| ページは開くがセッションなし | Provider、モデル、workspace | サーバー状態、ID、ディレクトリ |
| 別端末から接続できない | Binding、Firewall、パスワード | Hostname、ポート、runtime password |
| 独自フロントエンドが拒否される | CORS | Origin と許可リスト |
| TUI の状態が違う | attach URL、プロセス | 表示ポートとセッション |
OpenCode Web を選ぶ場面
ブラウザでプロジェクトと会話を確認しやすい、実行中サーバーを別視点で見たい、チームで安定したローカル URL を使いたい場合に Web を選びます。キーボード操作や shell 作業、ブラウザのない環境では TUI が適しています。
Web は Provider、権限、Docker のガイドを置き換えません。サーバーへの入口が変わるだけです。認証情報、権限、マウント、MCP ツール、Git review はそれぞれ確認します。
安定した流れは、ローカル起動、プロジェクトとモデルの確認、hostname を広げる前のパスワード設定、ポート記録、必要時の TUI 接続、終了時のサーバー停止です。開発用 listener を公開サービスと扱わないでください。
OpenCode Web よくある質問
OpenCode Web とは?
OpenCode CLI が提供するブラウザ UI です。opencode web でローカルサーバーを起動し、UI を開きます。
OpenCode Web の起動方法は?
対象プロジェクトで opencode web を実行します。既定では localhost と空きポートを使います。
ポートを固定するには?
opencode web --port 4096 を実行し、空きを確認してブラウザまたは opencode attach に URL を使います。
パスワードなしでも安全?
公式ドキュメントでは OPENCODE_SERVER_PASSWORD がないサーバーは保護されないと説明しています。ネットワーク接続前に設定します。
別端末からアクセスできる?
できますが、適切な hostname、パスワード、Firewall、信頼できるネットワークが必要です。開発サーバーを不用意に公開しないでください。
ターミナルを接続するには?
Web を起動し、別ターミナルで opencode attach http://localhost:4096 を実行します。実際のポートに置き換えます。
Windows は WSL を使うべき?
公式 Web ドキュメントはファイルとターミナル統合のため WSL を推奨します。起動する shell でパス、PATH、変数、Firewall を確認してください。
公式ソース
現在の Web 仕様を確認する
コマンドとサーバー動作は 2026年10月25日に公式 Web、CLI、設定ページで確認しました。オプションは変わるため、公開や自動化の前に再確認してください。