mcpField
O
OzBridge

OzBridge

ローカル
marketplace.visualstudio.comAI・エージェント33 日前に更新

OzBridge について

OzBridgeは、対応クライアントやエディターからWarp Ozエージェントを実行するオープンソースのMCPサーバー兼VS Code拡張機能です。単独サーバーとVS Code連携を用意し、stdioまたはStreamable HTTP経由で実行操作やモデル管理の6つのMCPツールを提供します。

主な機能

  1. 01MCPクライアントからWarp Ozを実行
  2. 02実行とモデル選択の6つのツール
  3. 03stdioとStreamable HTTPに対応
  4. 04VS Codeの`@oz`チャット参加者
  5. 05Copilot Agentモードのツール連携

活用シーン

  1. 01Claude CodeからWarp Ozを実行
  2. 02CursorやCodexをOzに接続
  3. 03VS Code Copilot Chat内でOzを利用

MCP 対応

OzBridgeは、Ozの実行開始・状態確認とモデル選択の管理に使う6つのツールを公開します。MCPクライアントはstdioで単独サーバーを起動するか、Streamable HTTPエンドポイントに接続できます。利用にはWarpと`oz` CLIが必要です。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"OzBridge": {
"command": "npx",
"args": [
"-y",
"@sena-labs/oz-mcp-server"
]
}
}
}
起動コマンドnpx -y @sena-labs/oz-mcp-server

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@sena-labs/oz-mcp-server

ツール

6

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
promptstringはいエージェントに渡す自然言語の指示。例:"add unit tests for src/auth.ts"。
modelstringいいえ使用する AI モデル ID。`oz_list_models` から指定します(例:`claude-4-8-opus-max`)。省略すると、設定済みのデフォルトが使われます(`auto` の場合は Warp が選択します)。
profilestringいいえOz エージェントのプロファイル名(Warp アプリの Settings → AI → Profiles で管理)。省略するとデフォルトのプロファイルを使用します。
skillstringいいえ7 段階パイプラインのエージェントスキル ID(例:`5-test-agent`)。省略すると、CLI がプロンプトに基づいて選択します。

詳細

OzBridge — MCP 経由で、あらゆる IDE やエージェントから Warp Oz を利用

Build VS Code License: MIT Listed on MCP ServerList OzBridge screenshot

OzBridge とは?

OzBridge は、オープンソースの Model Context Protocol (MCP)サーバーおよび VS Code 拡張機能です。GitHub Copilot Chat、Claude Code、Cursor、Codex CLI など、MCP 互換クライアントから Warp Oz のクラウドエージェントとローカルエージェントを実行できます。

独立した拡張機能 — Warp, Inc. とは提携、推奨、スポンサー関係にありません。 Warp™ および Oz™ は Warp, Inc. の商標であり、ここでは相互運用性を説明する目的に限り、商標として使用しています。OzBridge は Warp の公開されている公式インターフェース(oz CLI、Model Context Protocol、WARP_OUTPUT_FORMAT 環境変数)のみを使用します。Warp の改変、リバースエンジニアリング、競合は行いません。DISCLAIMER をご覧ください。

VS Code に組み込んで実行すると、Oz はネイティブに @oz チャット参加者として表示され、Copilot Agent モードが自律的に呼び出す エージェントネイティブな言語モデルツールとしても利用できます。また、Oz ツールセットを MCP(stdio または Streamable HTTP)経由で公開すれば、Claude Code、Cursor、Codex からも Oz を操作できます。エディターを使わない場合は、スタンドアロンの @sena-labs/oz-mcp-server を導入し、任意の MCP クライアントから接続してください。

flowchart LR
    subgraph clients["MCP clients"]
        CC["Claude Code"]
        CU["Cursor"]
        CX["Codex CLI"]
    end
    VSC["VS Code<br/>Copilot Chat"]

    clients -->|"stdio / HTTP"| BR
    VSC -->|"@oz participant<br/>LM Tools"| BR

    BR["OzBridge<br/>(6 MCP tools)"] -->|"spawn"| CLI["oz CLI"]
    CLI -->|"local run"| WS["Your workspace"]
    CLI -->|"cloud run"| CLOUD["Warp Oz cloud"]

クイックスタート

すべての利用方法に必要なもの: Warp がインストールされていること、oz CLI が PATH に含まれていること(Linux では通常 ~/.warp/bin/oz にあります。トラブルシューティングをご覧ください)、そしてターミナルで一度 oz login を実行していること。oz --version で確認できます。npm サーバーには、さらに Node.js ≥ 22.12 が必要です。

Cursor / Windsurf / VSCodium(Open VSX) — MCP 経由で OzBridge を使用します。次の設定を ~/.cursor/mcp.json(Cursor)または ~/.codeium/windsurf/mcp_config.json(Windsurf)に追加します。

{ "mcpServers": { "oz": { "command": "npx", "args": ["-y", "@sena-labs/oz-mcp-server", "--stdio"] } } }

@oz チャット参加者には GitHub Copilot Chat が必要で、VS Code でのみ利用できます。そのため、これらのエディターから Oz を操作するには MCP を使用します。

VS Code + GitHub Copilot Chat — 拡張機能をインストールし(code --install-extension sena-labs.ozbridge)、oz login を一度実行してから、Copilot Chat パネルに次のように入力します。

@oz /run fix the failing test in src/auth/login.ts

Claude Code / Codex / 任意の MCP クライアント — クライアントが stdio 経由でサーバーを起動するため、ターミナルを起動したままにする必要はありません。

claude mcp add oz -- npx -y @sena-labs/oz-mcp-server --stdio
# ~/.codex/config.toml
[mcp_servers.oz]
command = "npx"
args = ["-y", "@sena-labs/oz-mcp-server", "--stdio"]

その他のクライアント(Claude Desktop など)でも、上記の Cursor と同じ JSON を使用できます。HTTP を含むその他の設定方法については、MCP クライアントを接続するをご覧ください。

機能ギャラリー

実行とリソース

アクティブな実行、履歴、スケジュールを表示する OzBridge サイドバー

Warp Drive

VS Code 内で Warp Drive のプロンプトとスキルのプレビューを表示

MCP ブリッジ

登録済みクライアントを表示する組み込み MCP ブリッジのステータス

ダッシュボード

分析と失敗のトリアージを表示する OzBridge ダッシュボード


目次

Warp または VS Code 拡張機能を初めてお使いですか?
クイックスタートガイドでは、前提条件、OS ごとのインストール、初回実行、すべてのスラッシュコマンド、設定、トラブルシューティングを、事前設定のない読者向けに手順を追って図解しています。ドキュメントサイト全体はこちら:https://sena-labs.github.io/OzBridge/.


機能

  • MCP ブリッジ — あらゆるクライアントで使える Warp Oz — Oz のツールセットを Model Context Protocol サーバー(stdio または Streamable HTTP)として公開し、Claude Code、Cursor、Codex から、Copilot が使用する言語モデルツールに対応した 6 つの MCP ツールを通じて Oz を操作できます。VS Code に組み込んで実行(オプトイン)することも、@sena-labs/oz-mcp-server を使って完全なスタンドアロンで実行することもできます。詳しくは docs/MCP.md をご覧ください。
  • @oz チャット参加者 — VS Code のチャットパネルから Warp Oz エージェントを利用できます。
  • エージェントネイティブな言語モデルツール — Copilot のエージェントモードでは、@oz と入力しなくても Warp Oz を直接呼び出せます。
  • ワンクリックでモデルを選択 — QuickPick(OzBridge: Select Model)、ステータスバーの $(sparkle) インジケーター、または @oz /models <id> から Oz モデルを選択できます。設定に ID を手入力する必要はありません。エージェントは MCP ツール oz_list_models / oz_set_default_model を使ってモデルを切り替えられます。
  • Warp サイドバーとステータスバー — アクティビティバーのビューに、実行中、履歴、スケジュール、環境、MCP サーバー、シークレットを表示します。また、$(cloud) Warp: N active インジケーターと $(sparkle) <model> モデルインジケーターを表示し、クリックしてモデルを切り替えられます。
  • コンテキスト変数と Warp への引き継ぎ — #warp.env、#warp.profile、#warp.model、#oz.history、#oz.run/<id> トークンを、任意の /run または /cloud プロンプト内で展開できます。実際の Warp ターミナルにワンクリックで引き継ぐこともできます。
  • ワークスペースごとの設定 — リポジトリにコミットした任意の .warp/warp-bridge.yaml で、プロジェクトを開くすべてのユーザーに対して ozBridge.* 設定を上書きできます。優先順位:YAML > VS Code の設定 > デフォルト。mcpBearerToken などのシークレットと、プラットフォーム固有の ozPath は意図的に対象外です。
  • エージェントのワークフロー全体をカバーする 9 つのスラッシュコマンド:/run、/cloud、/status、/history、/schedule、/models、/mcp、/config、/init。
  • IDE コンテキストの挿入 — すべてのプロンプトにワークスペースのパス、アクティブなファイル、選択範囲、診断情報を自動的に含めます。
  • エージェントスキルの検出 — プロンプト内のキーワードを 7 エージェントのパイプライン(spec、design、implement、review、test、deploy、maintenance)に対応付けます。
  • クラウド実行のポーリング — 指数バックオフによるポーリングを行い、チャットストリームにリアルタイムで進捗を表示します。
  • 堅牢な JSON パーサー — テキストと JSON が混在する CLI 出力に対し、5 段階のフォールバックを備えています。
  • 設定可能 — すべての設定を VS Code の設定 UI から ozBridge.* 配下で利用できます。
  • 最小限の実行時フットプリント — バンドル済みのワークスペースパッケージ(copilot-chat-toolkit)と vscode API のみを使用します。サードパーティのネットワークコードはありません。本番バンドルは約 160 KB です。

要件

  • VS Code ≥ 1.101.0(@oz パーティシパントには安定版の Chat Participant API が必要です。LM Tools には vscode.lm.registerTool も必要です)。
  • Warp Terminal がインストールされており、oz CLI に PATH からアクセスできること。
  • Warp アカウントを持ち、oz login でサインインしていること。
  • GitHub Copilot Chat 拡張機能(任意ですが、@oz の実際の呼び出しや Agent モードのツールの使用には必要です)。

インストール

レジストリから

v0.9.0 以降、OzBridge はタグ付きリリースごとに両方のレジストリに公開されています。

VS Code Marketplace(Stable/Insiders/Microsoft Marketplace にアクセスできる Cursor):

code --install-extension sena-labs.ozbridge

Open VSX(VSCodium、Gitpod、Theia、Open VSX ミラーを使用する Cursor):

codium --install-extension sena-labs.ozbridge
# or, inside the editor GUI, search for "OzBridge" on open-vsx.org

直接リンク:

VSIX から(ローカル)

オプション A — VS Code GUI(推奨):

  1. Ctrl+Shift+P(macOS では Cmd+Shift+P)を押します。
  2. "Extensions: Install from VSIX…" と入力します。
  3. ozbridge.vsix ファイルを選択します。

オプション B — CLI:

code --install-extension ozbridge.vsix

注記: Windows では code が PATH に含まれていない場合があります。フルパスを使用するか、上記の GUI を使用してください。

ソースから
git clone https://github.com/sena-labs/OzBridge.git
cd OzBridge
npm install
npm run build

次に、VS Code で F5 を押すと、ビルド済みの拡張機能が読み込まれた状態で Extension Development Host が起動します。

インストールを確認する
  1. Copilot Chat パネルを開きます(Ctrl+Shift+I/Cmd+Shift+I)。
  2. @oz /config と入力して送信します。
  3. パネルに現在の構成と検出された Oz CLI のパスを示すテーブルが表示されます。CLI が見つからない場合は、ダウンロードページを開く "Install Warp" アクションボタンが表示されます。

MCP クライアントを接続する

OzBridge は、すべての MCP クライアントに同じ 6 つの MCP ツール(oz_agent_run、oz_agent_run_cloud、oz_run_get、oz_run_list、oz_list_models、oz_set_default_model)を提供します。最も簡単な設定は stdio です。クライアントがスタンドアロンサーバーを自動で起動するため、ターミナルで実行し続ける必要はありません。

代わりに長時間実行する HTTP サーバーを使いますか? VS Code で組み込みサーバーを有効にする("ozBridge.mcpEnabled": true を設定し、OzBridge: Start MCP server を実行する)か、npx -y @sena-labs/oz-mcp-server を実行します。どちらもデフォルトで http://127.0.0.1:3847/mcp(Streamable HTTP)をリッスンします。従来の /sse エンドポイントは非推奨です。デフォルトではループバック接続にトークンは不要です。

ozBridge.mcpBearerToken を設定する場合(またはスタンドアロンサーバーで --token/OZ_MCP_TOKEN を指定する場合)、以下の URL ベースの設定に Authorization: Bearer <token> ヘッダーを追加してください。たとえば、JSON では "headers": { "Authorization": "Bearer <token>" }、Codex では http_headers = { "Authorization" = "Bearer <token>" } を指定します。

Claude Code で Warp Oz を使うには?
claude mcp add oz -- npx -y @sena-labs/oz-mcp-server --stdio

または、稼働中の HTTP サーバーに接続する場合:

claude mcp add --transport http oz http://127.0.0.1:3847/mcp
Cursor で Warp Oz を使うには?

~/.cursor/mcp.json に追加します(Windsurf の場合は ~/.codeium/windsurf/mcp_config.json、Claude Desktop の場合は claude_desktop_config.json):

{
  "mcpServers": {
    "oz": {
      "command": "npx",
      "args": ["-y", "@sena-labs/oz-mcp-server", "--stdio"]
    }
  }
}

または、稼働中の HTTP サーバーに接続する場合:{ "mcpServers": { "oz": { "url": "http://127.0.0.1:3847/mcp" } } }。

Codex CLI で Warp Oz を使うには?

~/.codex/config.toml に追加します:

[mcp_servers.oz]
command = "npx"
args = ["-y", "@sena-labs/oz-mcp-server", "--stdio"]

または、稼働中の HTTP サーバーに接続する場合:

[mcp_servers.oz]
url = "http://127.0.0.1:3847/mcp"
VS Code で Warp Oz を使うには?

MCP の設定は不要です。拡張機能を(GitHub Copilot Chat とともに)インストールすれば、Oz は @oz チャットパーティシパントとして、また Copilot Agent モードが自動で呼び出す 4 つの Language Model Tools(oz_run_local、oz_run_cloud、oz_get_run、oz_list_runs)として、すぐに利用できます。使用方法を参照してください。

プロトコルの詳細、エンドポイントのリファレンス、curl のチートシートは docs/MCP.md にあります。

使用方法

チャットパーティシパント(@oz)

Copilot Chat パネルを開き、@oz の後にリクエストを入力します:

@oz fix the failing test in src/auth/login.ts

拡張機能は、プロンプトの前に IDE のコンテキストブロック(ワークスペースのパス、アクティブなファイル、選択範囲、診断情報)を挿入し、Oz エージェントを実行します。結果はアクションボタン(例:Retry、Open run)とともに Markdown 形式でストリーミングされます。

スラッシュコマンド
コマンド説明例
/runワークスペースで Oz エージェントをローカル実行します@oz /run refactor this function
/cloudクラウドで Oz エージェントを実行します(クレジットを使用)@oz /cloud deploy to staging
/status実行中の実行(QUEUED / INPROGRESS)を表示するか、IDで詳細を表示します@oz /status または @oz /status <runId>
/history完了済みの実行(SUCCEEDED / FAILED)を任意のフィルターで表示します@oz /history、@oz /history succeeded、@oz /history <runId>
/scheduleスケジュールされた実行を作成、管理します@oz /schedule create daily "0 9 * * *" "Run linting"
/models利用可能な AI モデルを一覧表示するか、/models <id> でデフォルトを設定します@oz /models · @oz /models claude-4-8-opus-max
/mcp設定済みの MCP サーバーを一覧表示します@oz /mcp
/config現在の設定を表示します@oz /config
/initWarp Skills と Rules のファイルをひな形から作成します@oz /init
/history のフィルター
/history               — list all completed runs (SUCCEEDED + FAILED)
/history succeeded     — only SUCCEEDED runs
/history failed        — only FAILED runs
/history <runId>       — show details for a specific run
/schedule のサブコマンド
/schedule list                                    — List all schedules
/schedule create <name> "<cron>" "<prompt>"       — Create a schedule
/schedule pause <id>                              — Pause a schedule
/schedule unpause <id>                            — Resume a schedule
/schedule delete <id>                             — Delete a schedule
エージェントモード — 言語モデルツール

GitHub Copilot Chat のエージェントモードでは、Copilot は登録済みの言語モデルツールを通じて Warp Oz を直接呼び出せるため、リクエストの先頭に @oz を付ける必要はありません。Copilot は、プロンプトと宣言された modelDescription に基づいて適切なツールを選択します。

ツール参照動作
oz_run_local#ozRunLocal現在のワークスペースで Oz エージェントをローカル実行します。デフォルトで IDE コンテキストを挿入します(無効にするには includeIdeContext: false を指定します)。
oz_run_cloud#ozRunCloudクラウドの Oz エージェントを起動します。Warp クレジットを消費する前に確認ダイアログを表示します。デフォルトでは終了状態までポーリングします(wait: false を指定すると、実行 ID をすぐに返します)。
oz_get_run#ozGetRun指定した実行のステータスと出力を ID で取得します。読み取り専用です。
oz_list_runs#ozListRunsステータスフィルター(all、active、completed、または生の OzRunStatus)と任意の limit を指定して、最近の実行を一覧表示します。読み取り専用です。

例:

# Agent mode picks oz_run_local automatically:
Run the unit tests locally via Oz.

# Explicit tool reference (prefix with #):
Run this refactor on cloud: #ozRunCloud refactor src/auth to hexagonal architecture

# Query a previous run:
Check run #ozGetRun for run id run-abc123.

各ツールは、厳密な JSON inputSchema とともに package.json の contributes.languageModelTools の下で宣言されるため、モデルはツール呼び出し時に正確な型ヒントを受け取ります。クラウドツールは、ユーザーの 承認のバイパス設定にかかわらず、実行前に必ず確認ダイアログを表示します。

サイドバーとステータスバー

この拡張機能は、5 つの折りたたみ可能なカテゴリを備えた専用のアクティビティバーのビュー(OzBridge → Runs & Resources)を追加します。

  • 実行中 — QUEUED + INPROGRESS(10 秒ごとにライブ更新)。
  • 履歴 — SUCCEEDED + FAILED(更新ごとに最大 20 件)。
  • スケジュール — oz schedule list の cron ジョブ。
  • 環境 — oz environment list のクラウド環境。
  • MCP サーバー — oz mcp list の MCP インテグレーション。

右クリックメニューのアクション:

  • 任意の実行/スケジュール/環境/MCP ノードで ID をコピー。
  • 実行ノードで ブラウザーで開く(app.warp.dev/agents/<id> を開きます)。
  • スケジュールノードで 一時停止/再開/削除(削除時には確認を求めます)。

ステータスバー項目($(cloud) Warp: N active、右揃え)は、実行中の数をリアルタイムで反映し、実行中が 1〜2 件のときは warningBackground、3 件以上のときは errorBackground に切り替わります。インジケーターをクリックすると OzBridge サイドバーにフォーカスします。

プロンプト変数

@oz /run … または @oz /cloud … のプロンプト内では、拡張機能が Oz CLI に送信する前にローカルで解決する少数のトークンを埋め込めます。不明なトークン(例:#some.other)は変更せずに渡されます。

トークン展開後の値
#warp.envozBridge.defaultEnvironment の値(空の場合は (no default environment))。
#warp.profileozBridge.defaultProfile の値。
#warp.modelozBridge.defaultModel の値。
#oz.historyoz run list の直近 10 件の実行をまとめた Markdown テーブル。
#oz.run/<id>oz run get <id> のフェンス付き JSON ペイロード(2 000 文字で切り詰め)。

例:

@oz /cloud deploy branch #warp.env profile=#warp.profile given the last runs:\n#oz.history
Warp に引き継ぐ

2 つのコマンドで、warp://action/new_tab URI スキームを使って実際の Warp ターミナル(Warp ≥ 0.2024.x)を開きます。

  • Warp: Hand off to Warp terminal…(コマンドパレット) — プロンプトの入力を求め、新しい Warp タブで oz agent run --prompt "<prompt>" を実行します。
  • Warp: Hand off run to Warp terminal(任意の実行ノードのサイドバーコンテキストメニュー) — oz run get <runId> を実行し、ターミナルで実行内容を直接確認できるようにします。

現在のプラットフォームで warp:// URL ハンドラーが登録されていない場合、拡張機能はフォールバックとして、任意のシェルにコピーできる正確なコマンドをモーダルで表示します。

ツール

ブリッジ経由で 6 つの MCP ツールを利用できます。Copilot Agent モードでは VS Code 内でネイティブに呼び出されます。Claude Code、Cursor、Codex では、組み込みまたはスタンドアロンの MCP サーバー経由で同じツールセットを利用できます。

ツール目的
oz_agent_runプロンプトを指定して、ローカルで oz agent run を実行します。実行のペイロード全体を返します。
oz_agent_run_cloudクラウド実行を開始します。Warp クレジットを消費します。
oz_run_getID を指定して、実行のステータスと出力を取得します。読み取り専用です。
oz_run_list最近の実行を一覧表示します。all / active / completed / 生のステータス、および数値の limit でフィルターできます。
oz_list_modelsアカウントで利用可能な AI モデル ID を一覧表示し、現在のデフォルトを報告します。読み取り専用です。
oz_set_default_modelワークスペースの .warp/warp-bridge.yaml に defaultModel を書き込み、デフォルトの Oz モデルを設定します。

各ツールの完全な JSON inputSchema は、tools/list にそのまま出力されます。プロトコルの詳細、生の curl チートシート、エンドポイントのリファレンスについては、docs/MCP.md を参照してください。

設定

すべての設定は、VS Code の設定(ファイル → ユーザー設定 → 設定)にある ozBridge.* 配下にあります。または settings.json で編集できます。

ワークスペースごとのオーバーライド(.warp/warp-bridge.yaml)

リポジトリのルートに .warp/warp-bridge.yaml をコミットすると、プロジェクトを開いたすべてのユーザーに対して、OzBridge がその値を VS Code の設定に重ねて適用します。このファイルは作成、変更、削除時に自動的に再読み込みされるため、VS Code の再読み込みは不要です。

# .warp/warp-bridge.yaml — committed to Git, shared across the team.
defaultProfile: team-shared
defaultEnvironment: staging
timeoutMs: 600000
mcpEnabled: true
mcpPort: 3900
mcpBindAddress: "127.0.0.1"

サポートされるキー: defaultModel、defaultProfile、defaultEnvironment、timeoutMs、maxOutputChars、cloudPollingIntervalMs、cloudPollingTimeoutMs、mcpEnabled、mcpPort、mcpBindAddress。

意図的に除外される項目:

  • ozPath — プラットフォーム固有のため、ユーザー設定に保存する必要があります。
  • mcpBearerToken — シークレットのため、決してコミットしないでください。

キーが不明な場合や、キーの型が正しくない場合は、OzBridge 出力チャンネルに記録されて無視されます。そのため、入力ミスで拡張機能が動作しなくなることはありません。

設定デフォルト説明
ozBridge.ozPathozOz CLI 実行ファイルへのパス
ozBridge.defaultModelautoエージェント実行に使用するデフォルトの AI モデル
ozBridge.defaultProfileDefaultデフォルトの Oz エージェントプロファイル
ozBridge.defaultEnvironment(空)デフォルトのクラウド環境名
ozBridge.timeoutMs300000ローカルのエージェント実行のタイムアウト(5 分)
ozBridge.cloudPollingIntervalMs5000クラウドポーリングの初期間隔
ozBridge.cloudPollingTimeoutMs1800000クラウドポーリングの最大時間(30 分)
ozBridge.maxOutputChars15000切り詰める前に表示する最大文字数

アーキテクチャ

この拡張機能は、コンポジションルート(src/extension.ts)で依存性を注入するレイヤー化アーキテクチャを採用しています。各レイヤーは単一の責務を担います。

レイヤーファイル責務
型types/index.tsインターフェース、エラークラス、設定の形式、定数
パーサーparsers/jsonParser.ts、parsers/outputFormatter.tsJSON の解析(5 レベル)、チャットストリームの描画
サービスservices/ozCliService.ts、configManager.ts、contextCollector.ts、runPoller.ts、logger.tsCLI の実行、設定、IDE コンテキスト、ポーリング、ロギング
コマンドcommands/router.ts + 9 個のコマンドファイルスラッシュコマンドの振り分けとビジネスロジック
ツールtools/*VS Code Language Model Tool の実装
参加者participant/handler.ts、followups.tsチャット参加者の登録とフォローアップ
フォルダー構成
src/
├── types/index.ts          — Contracts: interfaces, errors, config
├── parsers/
│   ├── jsonParser.ts       — Robust 5-level JSON parser
│   └── outputFormatter.ts  — Chat stream formatting & truncation
├── services/
│   ├── configManager.ts    — VS Code settings wrapper with caching
│   ├── contextCollector.ts — IDE context gathering
│   ├── ozCliService.ts     — Core CLI execution via child_process
│   ├── runPoller.ts        — Async polling with exponential backoff
│   └── logger.ts           — Centralised extension logging
├── commands/
│   ├── router.ts           — Slash-command dispatch
│   └── {9 command files}   — One handler per /command
├── tools/
│   ├── baseTool.ts         — Shared helpers (textResult, errorResult)
│   ├── runLocalTool.ts     — oz_run_local
│   ├── runCloudTool.ts     — oz_run_cloud (with confirmation)
│   ├── getRunTool.ts       — oz_get_run
│   ├── listRunsTool.ts     — oz_list_runs
│   └── index.ts            — registerWarpTools()
├── participant/
│   ├── handler.ts          — Chat Participant registration
│   └── followups.ts        — Contextual follow-up suggestions
└── extension.ts            — Entry point: compose & register
データフロー
  1. ユーザーが Copilot Chat で @oz /run implement auth と入力します。
  2. VS Code がリクエストを @oz チャット参加者に振り分けます。
  3. CommandRouter が /run を createRunCommand ハンドラーに割り当てます。
  4. ハンドラーが IDE コンテキストを取得するために ContextCollector.gather() を呼び出します。
  5. ハンドラーが OzCliService.agentRun() を呼び出し、子プロセスとして oz を起動します。
  6. JSON 出力が 5 レベルの jsonParser を介して解析されます。
  7. OutputFormatter が結果をチャットストリーム内の Markdown として描画します。

開発

# Install dependencies
npm install

# Type-check
npm run compile

# Build (esbuild)
npm run build

# Run tests
npm test

# Tests with coverage report
npm run test:coverage

# Watch mode (dev)
npm run watch

# Clean build artifacts
npm run clean

# Package VSIX for distribution
npm run package
テストスイート
  • 100 個以上のファイルにわたる1,400 件以上のテスト
  • コードに対するテストの割合が高い
  • フレームワーク:Vitest v4.0.18

コントリビューション

コントリビューションを歓迎します。変更を提出する前に、 CONTRIBUTING.md をお読みください。

  1. リポジトリをフォークします
  2. フィーチャーブランチを作成します(git checkout -b feature/amazing-feature)
  3. 変更をコミットします(git commit -m 'Add amazing feature')
  4. ブランチにプッシュします(git push origin feature/amazing-feature)
  5. プルリクエストを作成します

提出前に、すべてのテストが通ることを確認してください。

npm run compile && npm test

行動規範と セキュリティポリシーもご覧ください。

トラブルシューティング

oz コマンドが見つからない

Warp がインストールされており、oz CLI が PATH から利用できることを確認してください。

OS一般的なパス
macOS/Applications/Warp.app/Contents/MacOS/oz
Linux~/.warp/bin/oz
WindowsC:\Users\<user>\AppData\Local\Programs\Warp\bin\oz.cmd
# Verify oz is available
which oz   # macOS / Linux
where oz   # Windows (PowerShell)

oz が PATH にあるのに拡張機能が利用不可と表示する場合は、Copilot Chat パネルで @oz /config と入力してください。これにより拡張機能がアクティブになり、最初の CLI チェックが実行されます。また、設定 → 拡張機能 → OzBridge → Oz Path で明示的なパスを設定することもできます。

認証エラー

ターミナルで oz login を実行して再認証するか、チャットパネル内のエラーメッセージに表示される Login Warp ボタンを使用してください。

タイムアウトエラー

設定 → 拡張機能 → OzBridge → Timeout (ms) でタイムアウトを延長してください。デフォルトは 300 000 ms(5 分)です。大規模なエージェント実行では、600 000 ms への延長を検討してください。クラウド実行には、cloudPollingTimeoutMs で制御される別の、より長いタイムアウトがあります。

拡張機能がアクティブにならない

拡張機能がアクティブになるのは、Copilot Chat で @oz 参加者を呼び出した場合(または Copilot Agent モードが LM Tools のいずれかを呼び出した場合)のみです。手動でアクティブにするには、次の手順に従ってください。

  1. チャットパネルを開きます(Ctrl+Shift+I)。
  2. @oz の後に任意のコマンド(例:@oz /config)を入力します。

VS Code ≥ 1.101.0 がインストールされており、GitHub Copilot Chat 拡張機能がインストール済みで、サインインしていることを確認してください。

FAQ

Q:OzBridge は Cursor、Claude Code、Codex で動作しますか? A:はい。いずれも MCP クライアントです。ブリッジに接続すると、6 つの OzBridge MCP ツールを利用できます(Copilot Agent モードでは、名前の異なる 4 つの Language Model Tools が利用できます)。設定をコピーして貼り付ける手順は、MCP クライアントを接続するをご覧ください。

Q:VS Code は必要ですか? A:いいえ。スタンドアロンの @sena-labs/oz-mcp-server は、エディターを使わずに npx で実行できます。VS Code が必要なのは、@oz チャット参加者とサイドバーを使用する場合のみです。

Q:ローカル実行とクラウド実行の違いは何ですか? A:ローカル実行では、ワークスペース内で oz CLI(oz agent run)を起動し、ファイルに完全にアクセスできます。Warp の AI を引き続き使用するため、Warp プランの AI 使用量に計上される場合があります。クラウド実行は Warp のインフラストラクチャ上で実行され、Warp のクラウドクレジットを消費し、マシンから独立して動作します。どちらも、すべてのクライアントから利用できます。

Q:この拡張機能には Warp のサブスクリプションが必要ですか? A:Warp アカウント(oz login)が必要です。ローカルエージェントの実行では、プランの AI 使用量の上限が適用されます。クラウド実行では Warp のクラウドクレジットを消費し、使用状況によっては有料プランが必要になる場合があります。アカウントの状況はapp.warp.devでご確認ください。

Q:カスタムモデルを使用できますか? A:はい。VS Code の設定で ozBridge.defaultModel を設定するか、/run --model gpt-4o のようにインラインで指定してください。利用可能なモデルは /models で確認できます。

Q:対応しているオペレーティングシステムは何ですか? A:macOS、Linux、Windows をすべてネイティブにサポートしています。この拡張機能は、VS Code と Oz CLI を実行できるすべてのプラットフォームで動作します。Windows では、拡張機能が .cmd ラッパーを自動的に処理します。

Q:バグはどのように報告すればよいですか? A:バグ報告テンプレートを使用してイシューを作成してください。OS、VS Code のバージョン、拡張機能のバージョン、および再現手順を記載してください。

Q:この拡張機能を GitHub Copilot Chat で使用できますか? A:はい。この拡張機能は VS Code のチャット参加者です。Copilot Chat パネルに @oz として表示されます。GitHub Copilot Chat がインストールされ、有効になっている必要があります。

Q:Oz CLI を更新するにはどうすればよいですか? A:Oz CLI は Warp に同梱されています。Warp を最新バージョンに更新すると、Oz CLI も自動的に更新されます。

  • macOS:brew upgrade warp
  • Windows/Linux:warp.devから最新のインストーラーをダウンロードしてください。

Q:エージェントの実行がタイムアウトするとどうなりますか? A:拡張機能は、設定された制限時間を秒単位で示すタイムアウトエラーを表示します。設定の ozBridge.timeoutMs でタイムアウト時間を延長できます。クラウド実行には別の、より長いタイムアウトがあり、cloudPollingTimeoutMs で制御します。

Q:複数のエージェントを並行して実行できますか? A:はい。各 /run または /cloud コマンドは、独立したプロセスを起動します。複数のチャットメッセージによって、エージェントの実行を同時に開始できます。

ライセンス

このプロジェクトは MIT License の下でライセンスされています。詳細は LICENSE ファイルをご覧ください。

免責事項

OzBridge は、Sena Labs の名称で Ivan Sena が開発した独立したプロジェクトです。Warp, Inc.、Microsoft、GitHub、Visual Studio Code とは、提携、推奨、後援、または公式な関係はありません。

Warp™ および Oz™ は Warp, Inc. の商標です。その他の名称は、それぞれの所有者の商標である場合があります。これらは相互運用性を説明する目的でのみ、名称として使用しています。OzBridge は Warp の公開されている仕様書のあるインターフェース(oz CLI、Model Context Protocol、WARP_OUTPUT_FORMAT)のみを使用しており、Warp の改変、リバースエンジニアリング、または競合は行いません。

この拡張機能は、いかなる種類の保証もなく「現状有姿」で提供されます。ご自身の責任でご使用ください。詳細は DISCLAIMER.md をご覧ください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。