opencode の共有サーバーを運用する
opencode のターミナル(CLI)セッションは、ワークスペースごとに 1 つの共有サーバーにつながります。 メモリより分離を取りたいときはセッションごとの専用サーバーに切り替えられ、版に問題があったときは以前の版に固定できます。
| あなたがやること | 起きること |
|---|---|
| 何もしない | ターミナルのセッションは、Workspace Agent が動かす 1 つの opencode サーバーを共有する |
AF_OPENCODE_TUI_STANDALONE=1 を入れて Workspace Agent を起動する |
以後に起動するターミナルのセッションが、それぞれ専用のサーバーで動く |
| 2.x の以前の版を指定してイメージをビルドし直す | 問題のある版を避けられる |
メンバーから見た違いは OpenCode を接続する にあります。
専用サーバーに切り替える
Section titled “専用サーバーに切り替える”次を環境に入れて Workspace Agent を起動します。
AF_OPENCODE_TUI_STANDALONE=1- 1 セッションあたり、メモリがおよそ 150〜250 MB 増えます(アイドルのときの値)
- この設定で Agent が起動したあとに起動するターミナルのセッションに効きます。動いているセッションは、起動したときのやりかたのままです
AF_OPENCODE_SERVE_DISABLE=1(マネージドの opencode を無効にする)でも、つなぐ共有サーバーがないので専用サーバーになります- 専用サーバーのペインでは、Console に質問カードが出ません。質問はそのペイン自身のサーバーにあり、Agent はそれを読まないためです。ターミナルで答えます
以前の版に固定する
Section titled “以前の版に固定する”イメージは opencode 2 の版に固定されています(workspace/Dockerfile の OPENCODE_VERSION)。Agent Fleet がサポートするのは opencode 2 だけです。
- 2.x の以前の版を指定して、イメージをビルドし直します(
--build-arg OPENCODE_VERSION=<2.x>) - ワークスペースを停止して、起動します
2.x の版は、どれも同じデータベースを読めます。
opencode 1 から移ったワークスペース
Section titled “opencode 1 から移ったワークスペース”| 状況 | 起きること |
|---|---|
| 最後に opencode 1 で使っていた | opencode 2 の最初の起動で ~/.local/share/opencode/opencode.db がその場で変換され、opencode 1 のセッションが同じ ID のまま取り込まれます。どれだけ前に使ったワークスペースでも、Agent Fleet は取り込みが終わるのを待ってから再開します |
以前に workspace-agent opencode-major 2 で試していた |
専用のインストール(~/.local/share/agent-fleet/opencode2)と専用のデータベース(~/.local/share/agent-fleet/opencode2-data)が残っています。どちらも読まれません |
専用のデータベースにしかないセッションは、メインのデータベースに統合されていません。いらなくなったら、2 つのディレクトリを消してください。Agent Fleet は自動では消しません。
エージェント向け
この指示をエージェントに送ると、このページを読ませられます。
https://agent-fleet.org/docs/ja/operate/run/opencode-server/index.md を読んで