すべてのページ
このページの内容

エージェントツール

コーディングエージェントは、それぞれ独自のツールを持っています。ファイルの読み取り、コマンドの実行、コードの編集などです。OAR はその上に小さなツール群を追加し、リレーにしかできないことをエージェントができるようにします。ほかのセッションとの連携、Web プレビューの公開、ワンタップで答えられる質問です。

これらのツールを自分で呼び出すことはありません。普通の言葉で頼めば、エージェントがツールを選びます。このセクションでは、エージェントに何ができるのか、何にあなたの承認が必要なのか、正確に何を送って何を受け取るのかを説明します。

ツール #

ツール エージェントがすること ページ
relay_tool このリレーまたはペアリングしたリレーで、ほかのセッションの一覧表示、読み取り、プロンプトの送信、開始、停止、監視を行います。1 つのツールに 23 のアクションがあります。 relay_tool
preview ローカルの開発サーバーやフォルダーを公開リンクで公開し、その会話のプレビューを一覧表示して閉じます。 preview
ask_user ボタン付きのカードで質問し、答えを待ちます。 ask_user

頼めること #

依頼の例と、エージェントが使うツール:

あなたの依頼 エージェントが使うもの
「これらのフォルダーを 1 つずつレビューするセッションを 3 つ始めて、結果をまとめて。」 relay_tool:create_session、wait、read_session
「@build-box のセッションに、デプロイがうまくいったか聞いて。」 relay_tool:list_sessions、send
「あのセッションを見守って、どれかが質問したり失敗したりしたら教えて。」 relay_tool:subscribe
「このリレーで Claude のプランはあとどれくらい残っている?」 relay_tool:usage
「開発サーバーを起動して、スマートフォンで開けるリンクをちょうだい。」 preview:create
「スキーマを変える前に、確認して。」 ask_user

プロバイダー別 #

ツールの動作は、どのプロバイダーでも同じです。違うのは、プロバイダーのエージェントがそのツールを使えるかどうかと、エージェントから見えるツールの名前です。

プロバイダー relay_tool preview 質問カード
Claude あり(mcp__relay__relay_tool として) あり(mcp__relay__preview として) Claude 自身の AskUserQuestion を OAR がカードとして表示
Claude API 0.9.18 で追加 あり(mcp__relay__relay_tool として) あり(mcp__relay__preview として) Claude 自身の AskUserQuestion を OAR がカードとして表示
DeepSeek 0.9.17 で追加 あり(mcp__relay__relay_tool として) あり(mcp__relay__preview として) Claude Code の AskUserQuestion を OAR がカードとして表示
GitHub Copilot と OpenAI、SDK エンジン あり(relay_tool として) ツールなし。代わりにリレーのプレビュー API の呼び出し方がエージェントに伝えられます OAR の ask_user
GitHub Copilot と OpenAI、拡張機能エンジン あり、OAR の MCP サーバー(oar)経由 あり、OAR の MCP サーバー(oar)経由 Copilot 自身の ask_user を OAR がカードとして表示
Cursor あり(relay_tool として) あり(preview として) OAR の ask_user
Grok あり、OAR の MCP サーバー(oar)経由 あり、OAR の MCP サーバー(oar)経由 なし
Claude Cloud なし なし Claude 自身の AskUserQuestion を OAR がカードとして表示

名前が違う理由

Model Context Protocol(MCP)でツールを受け取るプロバイダーは、ツール名の前にサーバー名を付けます。Claude、Claude API、DeepSeek のエージェントは relay というサーバーから OAR のツールを受け取るので、preview は mcp__relay__preview として表示されます。Grok と Copilot の拡張機能エンジンは oar というサーバーから受け取り、それぞれ独自の方法で名前に接頭辞を付けます。どの場合も同じツールです。

Claude API と DeepSeek のチャットはリレーのホストで Claude Code を動かすので、そのエージェントは Claude のチャットとまったく同じようにツールを受け取ります。Claude API と DeepSeek を参照してください。

Claude Cloud のセッションは、自分のマシンではなく Anthropic のサンドボックスで動きます。リレーのツールはその中には届きません。クラウドセッションには relay_tool も preview もありません。それでも、ほかのセッションのエージェントは、relay_tool でクラウドセッションの開始、読み取り、プロンプトの送信、停止ができます。

Grok と Copilot の拡張機能エンジンは、OAR がエージェントに接続する小さな MCP サーバーからツールを受け取ります。リレーに環境変数 OAR_MCP_SERVER=0 を設定すると、そのサーバーはオフになります。その場合、これらのエージェントには relay_tool がなく、preview ツールの代わりにプレビュー API の呼び出し方が伝えられます。

ツールが使えるとき #

ツール エージェントが使える条件
relay_tool ペアリングしたリレーが 1 つ以上ある、または Settings → Relays → Agent sessions → Agents may start and use sessions on this relay(設定 → リレー → エージェントのセッション → エージェントがこのリレーでセッションを開始・使用できる)がオン。どちらでもない場合、ツールはまったく提供されません。
preview そのツールがあるプロバイダーでは常に。公開できるかどうかはプレビューレーン次第で、レーンは設定するまでオフです。レーンがオフのとき、ツールは理由を返します。
ask_user そのツールがあるプロバイダーでは常に。

セッションが relay_tool を得られるかどうかは、そのエージェントのプロセスが起動したときに決まります。最初のリレーをペアリングしたり、エージェントのセッションをオンにしたりした後も、すでに実行中だった会話では、エージェントが再起動するまでツールがないことがあります。0.9.18 で追加 ツールの新しい名前についても同じです。0.9.18 に更新したときに実行中だったセッションでは、ツールがまだ remote_relay という名前のことがあります。名前を参照してください。

自分で管理できること #

  • 会話の外に届くものは、既定では何もオンになっていません。 エージェントのセッションはオンにするまでオフです。ペアリングしたリレーは、会話ごとに言及するまでロックされています。プレビューレーンは設定するまでオフです。
  • 承認カード。 会話でエージェントが最初に開始するセッション、リレーで初めてセッションを監視するとき、そして 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_tool:説明、パラメーター、アクション、権限、制限、エラーコード、入力チェック
shared/remote-relay-tool-core.mjs relay_tool:各プロバイダーのアダプターが行う呼び出しと、ツールが提供される条件
server/services/remote-relay-dispatcher.mjs relay_tool:各アクションの動作、その前のチェック、返信の待機
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 サーバーと AskUserQuestion のブリッジ
server/cursor-worker/cursor-turn-runner.mjs Cursor:カスタムツールとしての relay_tool、preview、ask_user
server/copilot-worker/copilot-sdk-session-process.mjs Copilot の SDK エンジン:セッションツールとしての relay_tool と ask_user
server/mcp/oar-mcp-server.mjs Grok と Copilot の拡張機能エンジン向けの oar MCP サーバー
server/relay-tools.md Copilot のエンジンがこれらのツールについて受け取る常設の指示