---
title: OpenCode サーバー
description: OpenChamber をローカルまたはリモートの OpenCode サーバーに接続します。
---

# OpenCode サーバー

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

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

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

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

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

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

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

```bash
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 からサーバーを管理する

```bash
openchamber status
openchamber logs
openchamber restart
openchamber stop
```

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

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

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

```bash
openchamber startup enable
openchamber startup status
openchamber startup disable
```

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

```bash
OPENCHAMBER_UI_PASSWORD='secret' openchamber startup enable
```

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

```bash
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 アプリ向けに接続リンクを作成するには、次を使います。

```bash
openchamber connect-url --port 3000 --server http://your-host:3000 --qr
```

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

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

```bash
openchamber tunnel start --port 3000
openchamber tunnel stop --port 3000
```

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

## "OpenCode is restarting"

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

## 関連

- [プロバイダー、モデル、エージェント](/providers/) — サーバーの接続先を設定する
- [OpenCode 接続](/troubleshooting/opencode-connection/) — 接続できない場合
