コンテンツにスキップ

OpenCode サーバー

OpenChamber は OpenCode サーバーの上で動作します。デフォルトでは OpenChamber がサーバーを起動するため、何もする必要はありません。このページが必要なのは、すでに実行しているサーバーに OpenChamber を向けたい場合、または OpenChamber が起動するサーバーを管理したい場合だけです。

OpenChamber がサーバーを見つける順序

OpenChamber の起動時、次の順序でサーバーを探します。

  1. すでに起動済みのサーバーを再利用する
  2. 指定されていれば外部サーバーに接続する(下記参照)
  3. デフォルトポート(4096)のサーバーを自動検出する
  4. それ以外の場合は、自分でサーバーを起動して管理する

何も設定されていなければ、手順 4 が自動的に実行され、そのまま使えるようになります。

すでに実行しているサーバーに接続する

OpenChamber を起動する前に次を設定します。

Terminal window
OPENCODE_HOST=http://localhost:4096 OPENCODE_SKIP_START=true openchamber
  • OPENCODE_HOST — ポートを含む OpenCode サーバーの完全なアドレスです(http://localhost:4096 のような値)。末尾にパスを付けてはいけません。
  • OPENCODE_SKIP_START=true — OpenChamber に自分のサーバーを起動しないよう伝えます。

ポートだけを変えたい場合は、OPENCODE_HOST ではなく OPENCODE_PORT を設定します。

OPENCODE_HOST にポートがない、またはパスが含まれている場合、OpenChamber はそれを無視し、自分のサーバー起動にフォールバックします。期待した接続が行われなかった場合は、起動ログの [config] 警告を確認してください。

CLI からサーバーを管理する

Terminal window
openchamber status
openchamber logs
openchamber restart
openchamber stop

openchamber だけを実行すると、サーバーはバックグラウンドで起動します。ターミナルに接続したままにするには --foreground を追加します。

ログイン時に OpenChamber を起動する

startup enable を使うと、ネイティブのユーザーサービスをインストールできます。OpenChamber は macOS では launchd、Linux では systemd --user、Windows では Task Scheduler を使います。

Terminal window
openchamber startup enable
openchamber startup status
openchamber startup disable

UI を保護するには、サービスを有効化するときにパスワードを設定します。

Terminal window
OPENCHAMBER_UI_PASSWORD='secret' openchamber startup enable

ログイン時に起動し、デスクトップまたはモバイルクライアント向けに使うヘッドレスサーバーでは、--api-only と到達可能な host を含めます。

Terminal window
openchamber startup enable --port 3000 --api-only --host 0.0.0.0 --ui-password secret

startup enable は現在の環境をサービスにスナップショットするため、同じシェルから openchamber を起動した場合に近い動作になります。これにより、プロバイダートークン、PATH、SSH agent 設定、その他の CLI 認証/設定変数が利用できます。最小限のサービス環境にしたい場合は --no-env-snapshot を使ってください。

スタートアップサービスは --port--host--ui-password--api-only を記憶します。CLI の restart と update restart は保存済み設定を再利用します。

別の OpenChamber アプリ向けに接続リンクを作成するには、次を使います。

Terminal window
openchamber connect-url --port 3000 --server http://your-host:3000 --qr

openchamber connect-url --help を実行すると、--name--lan--server--api-only--ui-password--qr など、すべてのリンクオプションを確認できます。

その実行中サービスに対して、トンネルは独立して管理できます。

Terminal window
openchamber tunnel start --port 3000
openchamber tunnel stop --port 3000

トンネルを停止しても、サービスやアプリは再起動されません。

“OpenCode is restarting”

サーバーの起動中または再起動中、OpenChamber は “OpenCode is restarting” 状態を表示し、準備が整うまでリクエストを一時停止します。これは起動直後や再起動直後には正常です。いつまでも消えない場合は、OpenCode 接続 を参照してください。

関連