コンテンツにスキップ
↑↓移動 ↵開く esc閉じる

拡張機能

拡張機能はタスクボードなどの全画面ページを提供できます。セッション一覧の上にある拡張機能のページメニューから開きます。有効で承認済みのページがある場合だけメニューが表示されます。チャット選択、再読み込み、一時停止、削除、サーバー切り替えでページが閉じます。拡張機能が自分で開くことはできません。

拡張機能自身のデータは接続先サーバーに保存され、拡張機能を削除すると消えます。ボードはプロジェクトにファイルを作らず、複数のプロジェクトやワークツリーのセッションを追跡できます。

設定 → 拡張機能 から、他の人が作ったパネルを OpenChamber に追加できます。拡張機能は右側のレールに置かれる小さなページで、組み込みパネルの隣に並びます。別のサービスのデータを表示したり、タスクをチャットに添付したり、あなたが許可すればセッションの開始、プロンプトの送信、ファイルの読み取りもできます。

拡張機能は OpenChamber の web 版とデスクトップ版で動きます。VS Code とモバイルアプリではまだ読み込まれません。OpenCode のプラグインとは別物です。

インストールする

組み込みと表示される拡張機能は、選択中の OpenChamber インスタンスに同梱されています。初期状態で有効になり、宣言された権限は確認ダイアログなしで付与されます。カードの無効化または有効化を使って切り替えます。アプリと別に削除・更新することはできません。無効にしてもデータと接続済みアカウントは保持され、その設定はアプリ更新後も維持されます。

アカウント設定は設定 → 連携 → 標準連携にあります。サービスへのアクセスには、別途 API トークンやログインが必要な場合があります。

  1. 設定 → 拡張機能 を開きます。
  2. フォルダ、ZIP、または URL の欄に次のいずれかを貼り付け、追加 を選びます:
    • このコンピューター上のフォルダの絶対パス
    • .zip ファイルのパス
    • git リポジトリまたは zip ファイルへの https リンク
    • [email protected]:owner/extension.git などの SSH Git アドレス
  3. 拡張機能が権限を求める場合、ダイアログにその一覧が出ます。許可して有効化 を選ぶか、削除 で取り消します。

.zip を欄にドロップするか、隣のアーカイブボタンで選ぶこともできます。アーカイブは OpenChamber サーバーにアップロードされるので、リモートのインスタンスでも使えます。デスクトップではフォルダボタンでネイティブの選択画面が開き、ドロップしたフォルダはそのパスからインストールされます。

拡張機能のアイコンがレールに表示されます。表示されない場合は トラブルシューティング を見てください。

フォルダからのインストールはそのフォルダから直接動くので、拡張機能を開発している人は編集して再読み込みできます。zip や URL は先に OpenChamber 自身のデータフォルダにコピーされ、元のファイルには触れません。

非公開リポジトリと Git ID

SSH インストールは [email protected]:owner/extension.git と ssh://[email protected]/owner/extension.git に対応し、末尾に #branch-or-tag を指定できます。入力欄横の指紋メニューでグローバル ID または保存済み Git ID を選択します。この選択は更新確認と更新にも使われ、鍵の変更は次の操作に反映されます。

グローバル ID は選択中の OpenChamber サーバーを実行するユーザーの Git/SSH 設定と SSH エージェントを使います。リモートではそのサーバーに鍵が必要です。パスフレーズ付きの鍵は、サーバープロセスの SSH エージェントで先に解除してください。HTTPS は Git の HTTPS 認証情報を使い、SSH に自動切り替えしません。Git ホストは公開アドレスに解決される必要があります。ローカル SSH エイリアスやプライベートネットワークの宛先には対応していません。

拡張機能ができること

パネルを表示することと、どのプロジェクトとセッションが開いているかを読むことに権限は要りません。あなたの代わりに何かをする操作には権限が必要で、その一覧はインストール時に一度だけ表示されます:

  • セッションにメッセージを送る: モデルにプロンプトを書いて送ります。トークンを消費し、ツールを実行することもあります。
  • プロジェクトとセッションにアクセス: プロジェクト、ワークツリー、セッション状態を一覧表示し、登録済みプロジェクトでセッションを作成して開きます。会話の内容にはアクセスしません。
  • プロジェクトのファイルを読み書き: 開いているプロジェクト内のすべてのファイル。
  • プロジェクト外のファイルを読み書き: ダイアログに挙げられた場所だけ。
  • Small Model を使う: セッションの外で行う一回限りのテキスト生成で、設定 → セッション → Small Model のモデルを使います。トークンを消費します。
  • 外部サービスに接続: 設定 → 連携 で接続したアカウントを使います。
  • セッションの会話を読み取る: そのセッションで拡張機能のアクションを実行したときだけ。
  • ローカルサービスを実行: あなたのユーザー権限をすべて持つ別のプログラム。作者を信頼できる場合にだけ許可してください。拡張機能がセッションで起きたことを受け取りたい場合、この行にはそれが知ることになる場面も並びます。ターンが完了したとき、ターンが失敗したとき、エージェントが許可を求めたとき、エージェントが質問したときです。すべてのプロジェクトについて、ウィンドウを開いていなくても受け取り、得られるのは識別子だけです。セッション、そのプロジェクト、あなたがそのセッションに添付した項目です。
  • バックグラウンドでエージェントの発言を読む: 各ターンの最終回答、エージェントの質問、許可を求める内容が、すべてのプロジェクトから拡張機能のローカルサービスに送られます。拡張機能の送信先を信頼できる場合にだけ許可してください。
  • セッションの開始とメッセージ送信を自動で行う: ローカルサービスがウィンドウを開いていなくても実行します。トークンを消費し、ツールを実行することもあります。
  • エージェントが読む内容に追加: セッションの指示に入るテキストと、拡張機能が有効な間すべてのエージェントに提供されるスキルです。
  • OpenCode にプラグインを追加: 拡張機能が有効な間、パッケージのプラグインがあなたの OpenCode に読み込まれます。プラグインのコードはローカルサービスと同じく、あなたの全権限で OpenCode の中で実行されます。作者を信頼できる場合にだけ許可してください。

ローカルサービスは、OpenChamber の実行中に動き続けたり、スケジュールで起動したりすることもできます。ダイアログの ローカルサービスを実行 の下にそのことが表示され、@ の後に入力した内容がサービスに送られる場合もそこに表示されます。拡張機能は @ メニューに独自の行を、エージェントの返信に独自のブロックを追加できます。拡張機能を一時停止すると、これらはすべて無効になります。

Slack や Matrix、自前のサーバーにあなたの通知を届ける拡張機能も、ローカルサービスを実行 の下にそのことを表示します。チャネル名に続けて 経由で通知を届けます と書かれた行です。設定 → 連携 でアカウントを接続するまで何も送られません。接続後はスマートフォンが受け取るものと同じ通知を受け取り、拡張機能を一時停止すると止まります。

新しいバージョンがあなたの許可した範囲より多くを求めると、カードに 承認が必要 と 権限を確認 ボタンが表示されます。新しい一覧を許可するまで、その拡張機能はオフのままです。

どこに現れるか

レールのパネルに加えて、拡張機能はあなたが普段使うメニューに項目を追加できます。チャットメッセージのアクション、セッションのメニュー、チャット欄の横の + メニュー、そして何も開かずに何かを添付する /task ABC-12 のようなスラッシュコマンドです。また、自分のツールに OpenChamber 組み込みツールと同じような、ちゃんとしたアイコン、タイトル、出力レイアウトをチャット上で与えることもできます。どれを提供するかは拡張機能が決めます。拡張機能を許可するまで、すべてオフのままです。

一部の拡張機能は独自のパネルの代わりにライブ画像を表示します。エージェントがサーバー上で作業している対象、たとえばブラウザーやシミュレーターです。画像をクリックするか入力すると操作を引き継げます。ステータス行に あなたが操作中 と表示され、エージェントに戻す を押すまでエージェントのブラウザー操作は拒否されます。コピーと貼り付けは通常どおり使えます。同時に接続している別のデバイスは誰が操作中かを確認でき、操作を奪うことはできません。このような拡張機能は、画像の隣に独自の操作部を追加できます。たとえば上にアドレスバー、横にツール列などです。

OpenCode プラグインを持つ拡張機能

拡張機能は OpenCode プラグインを同梱できます。2 つではなく 1 つをインストールするだけで済みます。その権限ダイアログには OpenCode にプラグインを追加 で始まる行があります。許可すると、OpenChamber はあなたのために実行している OpenCode に数秒以内にプラグインを追加します。再起動は不要で、拡張機能を無効にするか削除すると同じ経路で取り除かれます。あなた自身の opencode.json には何も書き込まれないので、プラグインが拡張機能より長く残ることも、ターミナルで起動した OpenCode で動くこともありません。

OpenChamber が通信相手の OpenCode を起動していない場合や、あなたの環境が独自の OPENCODE_CONFIG を設定している場合、OpenChamber の設定はその OpenCode に届きません。拡張機能の画面がそう伝え、グローバル設定に追加 を提示します。これはプラグインのフォルダーをあなたのグローバル OpenCode 設定に書き込みます。以後、このコンピューター上のすべての OpenCode(ターミナルを含む)で実行され、拡張機能をオフにしても有効なままで、設定 → Plugins で管理するのはあなたです。拡張機能を削除すると、OpenCode はその項目を失敗したプラグインとして一覧に出し、あなたがそこで項目を削除するまで動作を続けます。別のマシンの OpenCode はこのマシンのフォルダーを読み込めません。画面はそう伝えます。

VS Code とモバイルアプリは拡張機能を読み込みません。隔離スペース内のセッションは独自の OpenCode を実行し、プラグインを受け取ることはありません。エンタープライズモードではプラグインはローカルサービスと同じ扱いで、拡張機能は管理者が登録したリポジトリからのみインストールできます。

Git ホストとしての拡張機能

拡張機能は、GitHub、GitLab、Gitea、Forgejo、Gerrit の隣に Git ホストを追加できます。その場合、権限ダイアログには Git ホスト として動作すると書かれた行があり、ホスト名が示されます。この行には、OpenChamber がその拡張機能に送るもの(リポジトリ名、ブランチ、あなたが書く Issue とプルリクエストの本文)も書かれています。

許可すると、そのホストには 設定 → 連携 で組み込みホストの隣に専用のカードができます。そこでトークンを使ってアカウントを接続し、カードが求める場合はホストのアドレスも入力します。その後は、リモートがそのホストにあるプロジェクトもほかと同じように動きます。Issue とプルリクエストは Issues と PR ボードとチャットの + メニューに表示され、ブランチにはプルリクエストのバッジが付き、そのプルリクエストから worktree を開始できます。それぞれの動作は Git ホスト を参照してください。

トークンは OpenChamber に残ります。拡張機能は OpenChamber にホストの呼び出しを依頼し、OpenChamber が接続したアドレスへの呼び出しにだけトークンを付けます。拡張機能がトークンを受け取ることはありません。

拡張機能を一時停止すると、再びオンにするまでホストは使えなくなりますが、アカウントは残ります。拡張機能を削除するとアカウントも忘れられます。VS Code には拡張機能の Git ホストは表示されません。

OpenChamber SDK には、作り始めるときに使える動作するサンプル examples/source-control-provider があります。拡張機能を作る を参照してください。

トラッカーとしての拡張機能

拡張機能は、Linear の隣に作業アイテムのトラッカーを追加できます。YouTrack、Jira、Plane、または独自のトラッカーです。その場合、権限ダイアログには トラッカー として動作すると書かれた行があり、トラッカー名が示されます。この行には、OpenChamber がその拡張機能に送るもの(あなたの検索と開いたアイテム)と、アイテムの状態の変更やセッションコメントの投稿を代わりに依頼することも書かれています。

許可すると、そのトラッカーには 設定 → 連携 の 拡張機能のアカウント に専用のカードができます。そこでアカウントを接続します。トークンを使うか、トラッカーに登録したアプリの client id を入力してブラウザーでサインインします。カードが求める場合は、先にサーバーのアドレスも入力します。その後は、そのトラッカーのアイテムは Linear のアイテムと同じ場所に現れます。チャットの + メニューとピッカー、New Worktree、セッションにリンクされたアイテム、フォローしているアイテムのライブ状態です。そのアイテムへのリンクを貼り付けた場合も同じように認識されます。それぞれの動作は Linear を参照してください。

トークンは OpenChamber に残ります。拡張機能は OpenChamber にトラッカーの呼び出しを依頼し、OpenChamber が接続したサーバーへの呼び出しにだけ認証情報を付けます。拡張機能が認証情報を受け取ることはなく、そこに何かを書き込めるのは状態変更とコメントの呼び出しだけです。

拡張機能を一時停止すると、再びオンにするまでトラッカーは使えなくなりますが、アカウントは残ります。拡張機能を削除するとアカウントも忘れられます。VS Code にはトラッカーは表示されません。スマートフォンではトラッカーのアイテムが表示され、アカウントの接続はウェブ版またはデスクトップ版アプリから行います。

OpenChamber SDK には、動作するサンプル examples/tracker-provider があり、隣で動かせる偽のトラッカーも付いています。拡張機能を作る を参照してください。

使用量プロバイダーとしての拡張機能

拡張機能は、組み込みのプロバイダーの隣に使用量プロバイダーを追加できます。OpenChamber が自分では読み取らないプロバイダーや、拡張機能自身のプロバイダーです。その権限ダイアログには 組み込みのプロバイダーと同じように使用量を報告します で始まる行があり、認証情報を読み取る OpenCode プロバイダー(たとえば openrouter)が列挙されます。何も列挙しない拡張機能はそう述べます。

許可すると、そのカードは 設定 → 使用量 で組み込みのプロバイダーの後ろに、拡張機能の名前とアイコンとともに並びます。作業ステータスに表示 をオンにすれば、組み込みのプロバイダーと同じようにヘッダーのレート制限、作業ステータス、スマートフォンのポップオーバー、デスクトップのトレイにも現れます。更新のたびに OpenChamber は、列挙された各プロバイダーについて OpenCode が保持する認証情報を拡張機能に渡し、それ以外は渡しません。別のプロバイダーを列挙するバージョンは、改めて承認を求めます。使用量を読み取るのは拡張機能自身で、OpenChamber はそれを組み込みのプロバイダーと同じように描画します。

拡張機能を一時停止すると、再びオンにするまでカードは消えますが、そのための使用量の設定は残ります。拡張機能を削除するとカードは完全に消えます。VS Code には拡張機能の使用量は表示されません。スマートフォンではカードが表示され、拡張機能の設定はウェブ版またはデスクトップ版アプリから行います。分離されたスペース内のセッションは、そのスペース自身のサーバーから使用量を読み取り、そこに拡張機能はありません。

OpenChamber SDK には、動作するサンプル examples/quota-provider があり、隣で動かせる偽の使用量 API も付いています。拡張機能を作る を参照してください。

アカウントを接続する

サービスとやり取りする拡張機能には、設定 → 連携 の 拡張機能のアカウント にカードが表示されます。サービスによって、カードは API トークン、ユーザー名とトークン、またはサインイン用の client id を求めます。接続 を選びます。切断 は保存されたトークンを忘れます。拡張機能が宣言した追加の欄は、離れたときに自動で保存されます。

トークンは OpenChamber サーバーに残ります。拡張機能のページがそれを見ることはありません。

更新

git URL からインストールした拡張機能は自分で更新できます。設定 → 拡張機能 を開くと、それぞれを最大 1 時間に 1 回確認します。更新を確認 はすぐに確認します。新しいバージョンがあるカードには 更新あり と 更新 ボタンが表示されます。更新しても権限、アカウント、設定はそのまま残ります。新しいバージョンがより多くを求める場合は、承認ダイアログが再び表示されます。フォルダや zip からのインストールは更新されません。手動で置き換えてください。

インストール時に git URL へ #v1.2.0 や #stable を付けると、デフォルトブランチの代わりにタグやブランチを追従します。

一時停止または削除

各カードには 有効 スイッチがあります。オフにすると拡張機能はインストールされたまま、パネルは隠れ、呼び出しはブロックされます。削除 は zip や URL からのインストールを OpenChamber のデータフォルダから消します。フォルダからのインストールではパスを忘れるだけで、あなたのフォルダは残ります。

自分で作る

拡張機能にできることのすべてと作り方は 拡張機能を作る にあります。