エージェントツール
コーディングエージェントは、それぞれ独自のツールを持っています。ファイルの読み取り、コマンドの実行、コードの編集などです。OAR はその上に小さなツール群を追加し、リレーにしかできないことをエージェントができるようにします。ほかのセッションとの連携、Web プレビューの公開、ワンタップで答えられる質問です。
これらのツールを自分で呼び出すことはありません。普通の言葉で頼めば、エージェントがツールを選びます。このセクションでは、エージェントに何ができるのか、何にあなたの承認が必要なのか、正確に何を送って何を受け取るのかを説明します。
ツール #
| ツール | エージェントがすること | ページ |
|---|---|---|
relay_ |
このリレーまたはペアリングしたリレーで、ほかのセッションの一覧表示、読み取り、プロンプトの送信、開始、停止、監視を行います。1 つのツールに 23 のアクションがあります。 | relay_tool |
preview |
ローカルの開発サーバーやフォルダーを公開リンクで公開し、その会話のプレビューを一覧表示して閉じます。 | preview |
ask_ |
ボタン付きのカードで質問し、答えを待ちます。 | ask_user |
- relay_toolrelay_tool エージェントツールで、このリレーとペアリングしたリレーのセッションを扱います。23 のアクションすべてについて、パラメーターと結果、権限、制限、エラーを説明します。
- previewエージェントツール preview は、ローカルの開発サーバーやフォルダーを公開リンクで公開します。アクション、パラメーター、結果、設定、制限を説明します。
- ask_userエージェントがボタン付きのカードであなたに質問する仕組みとして、OAR の ask_user ツールとプロバイダー独自の質問ツールを、プロバイダーごとのパラメーターとあわせて説明します。
頼めること #
依頼の例と、エージェントが使うツール:
| あなたの依頼 | エージェントが使うもの |
|---|---|
| 「これらのフォルダーを 1 つずつレビューするセッションを 3 つ始めて、結果をまとめて。」 | relay_:create_、wait、read_ |
| 「@build-box のセッションに、デプロイがうまくいったか聞いて。」 | relay_:list_、send |
| 「あのセッションを見守って、どれかが質問したり失敗したりしたら教えて。」 | relay_:subscribe |
| 「このリレーで Claude のプランはあとどれくらい残っている?」 | relay_:usage |
| 「開発サーバーを起動して、スマートフォンで開けるリンクをちょうだい。」 | preview:create |
| 「スキーマを変える前に、確認して。」 | ask_ |
プロバイダー別 #
ツールの動作は、どのプロバイダーでも同じです。違うのは、プロバイダーのエージェントがそのツールを使えるかどうかと、エージェントから見えるツールの名前です。
| プロバイダー | relay_ |
preview |
質問カード |
|---|---|---|---|
| Claude | あり(mcp__ として) |
あり(mcp__ として) |
Claude 自身の Ask を OAR がカードとして表示 |
| Claude API 0.9.18 で追加 | あり(mcp__ として) |
あり(mcp__ として) |
Claude 自身の Ask を OAR がカードとして表示 |
| DeepSeek 0.9.17 で追加 | あり(mcp__ として) |
あり(mcp__ として) |
Claude Code の Ask を OAR がカードとして表示 |
| GitHub Copilot と OpenAI、SDK エンジン | あり(relay_ として) |
ツールなし。代わりにリレーのプレビュー API の呼び出し方がエージェントに伝えられます | OAR の ask_ |
| GitHub Copilot と OpenAI、拡張機能エンジン | あり、OAR の MCP サーバー(oar)経由 |
あり、OAR の MCP サーバー(oar)経由 |
Copilot 自身の ask_ を OAR がカードとして表示 |
| Cursor | あり(relay_ として) |
あり(preview として) |
OAR の ask_ |
| Grok | あり、OAR の MCP サーバー(oar)経由 |
あり、OAR の MCP サーバー(oar)経由 |
なし |
| Claude Cloud | なし | なし | Claude 自身の Ask を OAR がカードとして表示 |
名前が違う理由
Model Context Protocol(MCP)でツールを受け取るプロバイダーは、ツール名の前にサーバー名を付けます。Claude、Claude API、DeepSeek のエージェントは relay というサーバーから OAR のツールを受け取るので、preview は mcp__ として表示されます。Grok と Copilot の拡張機能エンジンは oar というサーバーから受け取り、それぞれ独自の方法で名前に接頭辞を付けます。どの場合も同じツールです。
Claude API と DeepSeek のチャットはリレーのホストで Claude Code を動かすので、そのエージェントは Claude のチャットとまったく同じようにツールを受け取ります。Claude API と DeepSeek を参照してください。
Claude Cloud のセッションは、自分のマシンではなく Anthropic のサンドボックスで動きます。リレーのツールはその中には届きません。クラウドセッションには relay_ も preview もありません。それでも、ほかのセッションのエージェントは、relay_ でクラウドセッションの開始、読み取り、プロンプトの送信、停止ができます。
Grok と Copilot の拡張機能エンジンは、OAR がエージェントに接続する小さな MCP サーバーからツールを受け取ります。リレーに環境変数 OAR_ を設定すると、そのサーバーはオフになります。その場合、これらのエージェントには relay_ がなく、preview ツールの代わりにプレビュー API の呼び出し方が伝えられます。
ツールが使えるとき #
| ツール | エージェントが使える条件 |
|---|---|
relay_ |
ペアリングしたリレーが 1 つ以上ある、または Settings → Relays → Agent sessions → Agents may start and use sessions on this relay(設定 → リレー → エージェントのセッション → エージェントがこのリレーでセッションを開始・使用できる)がオン。どちらでもない場合、ツールはまったく提供されません。 |
preview |
そのツールがあるプロバイダーでは常に。公開できるかどうかはプレビューレーン次第で、レーンは設定するまでオフです。レーンがオフのとき、ツールは理由を返します。 |
ask_ |
そのツールがあるプロバイダーでは常に。 |
セッションが relay_ を得られるかどうかは、そのエージェントのプロセスが起動したときに決まります。最初のリレーをペアリングしたり、エージェントのセッションをオンにしたりした後も、すでに実行中だった会話では、エージェントが再起動するまでツールがないことがあります。0.9.18 で追加 ツールの新しい名前についても同じです。0.9.18 に更新したときに実行中だったセッションでは、ツールがまだ remote_ という名前のことがあります。名前を参照してください。
自分で管理できること #
- 会話の外に届くものは、既定では何もオンになっていません。 エージェントのセッションはオンにするまでオフです。ペアリングしたリレーは、会話ごとに言及するまでロックされています。プレビューレーンは設定するまでオフです。
- 承認カード。 会話でエージェントが最初に開始するセッション、リレーで初めてセッションを監視するとき、そして ask と plan のリレーモードでのすべての書き込みアクションでは、質問カードで先にあなたに確認します。
- ツールがエージェントにトークンを渡すことはありません。 別のリレーへの呼び出しは、そのリレーのトークンを保持している自分のリレーを経由します。これはサンドボックスではありません。エージェントはリレーのユーザーとして動くので、設定ファイルやデータベースをディスクから読むことができます。OAR が公開するものを参照してください。
- プレビューのリンクは公開されます。 プレビューのリンクを持っている人は誰でも、サインインせずに開けます。エージェントには、リンクを渡すときにそのことを伝えるよう指示されています。エージェントが一覧表示して閉じられるのは自分の会話のプレビューだけです 0.9.14 で追加。Settings → Previews(設定 → プレビュー)では、すべてのプレビューを表示して閉じられます。
詳しくは各ツールのページにあります。relay_tool → 権限と承認と preview → 制限を参照してください。
ツールではないもの #
OAR でエージェントが行うことの中には、OAR のツールなしで動くものもあります。
- 返信内の画像、動画、音声。 エージェントには、メディアファイルを絶対パスで埋め込めると伝えられ、リレーがそれをインラインで表示します。これはプロンプト内の指示であり、ツールではありません。Copilot の拡張機能エンジンと Claude Cloud のエージェントには、この指示は届きません。
- 入力欄の
/。preview /と入力すれば、自分でプレビューの公開、一覧表示、終了ができます(入力欄)。エージェントのターンを消費せず、どのプロバイダーでも使えます。preview - プランボード。 エージェントがプランを書き終えると、OAR は Plan ready(プランの準備完了)のボードを表示します。Claude と DeepSeek では、これは Claude Code 自身のプランツールから来たもので、OAR がそれを拾います。
ソースコード
コントリビューターや興味のある方向けに、これらのツールが OAR のリポジトリのどこにあるかを示します。各ツールはプロバイダーに依存しない形で shared/ の下に一度だけ定義され、小さなアダプターによって各プロバイダーに接続されます。
| ファイル | 内容 |
|---|---|
| shared/remote-relay-contract.mjs | relay_:説明、パラメーター、アクション、権限、制限、エラーコード、入力チェック |
| shared/remote-relay-tool-core.mjs | relay_:各プロバイダーのアダプターが行う呼び出しと、ツールが提供される条件 |
| server/services/remote-relay-dispatcher.mjs | relay_:各アクションの動作、その前のチェック、返信の待機 |
| shared/relay-events.mjs | イベントの購読:イベントの種類、制限、イベントメッセージのテキスト |
| server/services/relay-event-service.mjs | イベントの購読:保存とイベントの配信 |
| shared/preview-tool-core.mjs | preview:説明、パラメーター、入力チェック、呼び出し |
| server/services/preview-registry-service.mjs | preview:プレビューそのものとその制限 |
| shared/ask-user-bridge.mjs | 質問カード:エージェントの質問からカードへ、そして戻るまで |
| server/claude-worker/claude-sdk-adapter.mjs | Claude、Claude API、DeepSeek:relay MCP サーバーと Ask のブリッジ |
| server/cursor-worker/cursor-turn-runner.mjs | Cursor:カスタムツールとしての relay_、preview、ask_ |
| server/copilot-worker/copilot-sdk-session-process.mjs | Copilot の SDK エンジン:セッションツールとしての relay_ と ask_ |
| server/mcp/oar-mcp-server.mjs | Grok と Copilot の拡張機能エンジン向けの oar MCP サーバー |
| server/relay-tools.md | Copilot のエンジンがこれらのツールについて受け取る常設の指示 |