OzBridge について
OzBridgeは、対応クライアントやエディターからWarp Ozエージェントを実行するオープンソースのMCPサーバー兼VS Code拡張機能です。単独サーバーとVS Code連携を用意し、stdioまたはStreamable HTTP経由で実行操作やモデル管理の6つのMCPツールを提供します。
主な機能
- 01MCPクライアントからWarp Ozを実行
- 02実行とモデル選択の6つのツール
- 03stdioとStreamable HTTPに対応
- 04VS Codeの`@oz`チャット参加者
- 05Copilot Agentモードのツール連携
活用シーン
- 01Claude CodeからWarp Ozを実行
- 02CursorやCodexをOzに接続
- 03VS Code Copilot Chat内でOzを利用
MCP 対応
OzBridgeは、Ozの実行開始・状態確認とモデル選択の管理に使う6つのツールを公開します。MCPクライアントはstdioで単独サーバーを起動するか、Streamable HTTPエンドポイントに接続できます。利用にはWarpと`oz` CLIが必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
6掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| prompt | string | はい | エージェントに渡す自然言語の指示。例:"add unit tests for src/auth.ts"。 |
| model | string | いいえ | 使用する AI モデル ID。`oz_list_models` から指定します(例:`claude-4-8-opus-max`)。省略すると、設定済みのデフォルトが使われます(`auto` の場合は Warp が選択します)。 |
| profile | string | いいえ | Oz エージェントのプロファイル名(Warp アプリの Settings → AI → Profiles で管理)。省略するとデフォルトのプロファイルを使用します。 |
| skill | string | いいえ | 7 段階パイプラインのエージェントスキル ID(例:`5-test-agent`)。省略すると、CLI がプロンプトに基づいて選択します。 |
詳細
OzBridge — MCP 経由で、あらゆる IDE やエージェントから Warp Oz を利用
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 の公開されている公式インターフェース(
ozCLI、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 クライアントを接続するをご覧ください。
機能ギャラリー
実行とリソース

Warp Drive

MCP ブリッジ

ダッシュボード

目次
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)とvscodeAPI のみを使用します。サードパーティのネットワークコードはありません。本番バンドルは約 160 KB です。
要件
- VS Code ≥ 1.101.0(
@ozパーティシパントには安定版の Chat Participant API が必要です。LM Tools にはvscode.lm.registerToolも必要です)。 - Warp Terminal がインストールされており、
ozCLI に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
直接リンク:
- Marketplace — https://marketplace.visualstudio.com/items?itemName=sena-labs.ozbridge
- Open VSX — https://open-vsx.org/extension/sena-labs/ozbridge
VSIX から(ローカル)
オプション A — VS Code GUI(推奨):
Ctrl+Shift+P(macOS ではCmd+Shift+P)を押します。- "Extensions: Install from VSIX…" と入力します。
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 が起動します。
インストールを確認する
- Copilot Chat パネルを開きます(
Ctrl+Shift+I/Cmd+Shift+I)。 @oz /configと入力して送信します。- パネルに現在の構成と検出された 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 |
/init | Warp 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.env | ozBridge.defaultEnvironment の値(空の場合は (no default environment))。 |
#warp.profile | ozBridge.defaultProfile の値。 |
#warp.model | ozBridge.defaultModel の値。 |
#oz.history | oz 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_get | ID を指定して、実行のステータスと出力を取得します。読み取り専用です。 |
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.ozPath | oz | Oz CLI 実行ファイルへのパス |
ozBridge.defaultModel | auto | エージェント実行に使用するデフォルトの AI モデル |
ozBridge.defaultProfile | Default | デフォルトの Oz エージェントプロファイル |
ozBridge.defaultEnvironment | (空) | デフォルトのクラウド環境名 |
ozBridge.timeoutMs | 300000 | ローカルのエージェント実行のタイムアウト(5 分) |
ozBridge.cloudPollingIntervalMs | 5000 | クラウドポーリングの初期間隔 |
ozBridge.cloudPollingTimeoutMs | 1800000 | クラウドポーリングの最大時間(30 分) |
ozBridge.maxOutputChars | 15000 | 切り詰める前に表示する最大文字数 |
アーキテクチャ
この拡張機能は、コンポジションルート(src/extension.ts)で依存性を注入するレイヤー化アーキテクチャを採用しています。各レイヤーは単一の責務を担います。
| レイヤー | ファイル | 責務 |
|---|---|---|
| 型 | types/index.ts | インターフェース、エラークラス、設定の形式、定数 |
| パーサー | parsers/jsonParser.ts、parsers/outputFormatter.ts | JSON の解析(5 レベル)、チャットストリームの描画 |
| サービス | services/ozCliService.ts、configManager.ts、contextCollector.ts、runPoller.ts、logger.ts | CLI の実行、設定、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
データフロー
- ユーザーが Copilot Chat で
@oz /run implement authと入力します。 - VS Code がリクエストを
@ozチャット参加者に振り分けます。 CommandRouterが/runをcreateRunCommandハンドラーに割り当てます。- ハンドラーが IDE コンテキストを取得するために
ContextCollector.gather()を呼び出します。 - ハンドラーが
OzCliService.agentRun()を呼び出し、子プロセスとしてozを起動します。 - JSON 出力が 5 レベルの
jsonParserを介して解析されます。 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 をお読みください。
- リポジトリをフォークします
- フィーチャーブランチを作成します(
git checkout -b feature/amazing-feature) - 変更をコミットします(
git commit -m 'Add amazing feature') - ブランチにプッシュします(
git push origin feature/amazing-feature) - プルリクエストを作成します
提出前に、すべてのテストが通ることを確認してください。
npm run compile && npm test
行動規範と セキュリティポリシーもご覧ください。
トラブルシューティング
oz コマンドが見つからない
Warp がインストールされており、oz CLI が PATH から利用できることを確認してください。
| OS | 一般的なパス |
|---|---|
| macOS | /Applications/Warp.app/Contents/MacOS/oz |
| Linux | ~/.warp/bin/oz |
| Windows | C:\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 のいずれかを呼び出した場合)のみです。手動でアクティブにするには、次の手順に従ってください。
- チャットパネルを開きます(
Ctrl+Shift+I)。 @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 をご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
