Alle Seiten
Auf dieser Seite

Agent-Tools

Jeder Coding-Agent bringt eigene Tools mit: Dateien lesen, Befehle ausführen, Code bearbeiten. OAR fügt eine kleine Auswahl hinzu, damit ein Agent Dinge tun kann, die nur das Relay kann: mit anderen Sessions arbeiten, eine Web-Preview veröffentlichen und dir eine Frage stellen, die du mit einem Tippen beantwortest.

Du rufst diese Tools nie selbst auf. Du bittest in einfachen Worten darum, und der Agent wählt das Tool. Dieser Abschnitt zeigt, was ein Agent tun kann, wofür er deine Freigabe braucht und was genau er sendet und zurückbekommt.

Die Tools #

Tool Was ein Agent damit tut Seite
relay_tool Listet, liest, promptet, startet, stoppt und beobachtet andere Sessions, auf diesem Relay oder auf einem gekoppelten. Ein Tool, 23 Aktionen. relay_tool
preview Veröffentlicht einen lokalen Dev-Server oder einen Ordner unter einem öffentlichen Link, listet die Previews seiner Konversation auf und schließt sie. preview
ask_user Stellt dir eine Frage als Karte mit Buttons und wartet auf die Antwort. ask_user

Worum du bitten kannst #

Einige Bitten und das Tool, zu dem ein Agent greifen würde:

Du schreibst Der Agent nutzt
„Starte drei Sessions, die jeweils einen dieser Ordner prüfen, und fasse dann zusammen, was sie gefunden haben.“ relay_tool: create_session, wait, read_session
„Frag die Session auf @build-box, ob das Deployment durchgelaufen ist.“ relay_tool: list_sessions, send
„Beobachte diese Sessions und sag mir, wenn eine eine Frage stellt oder fehlschlägt.“ relay_tool: subscribe
„Wie viel von meinem Claude-Plan ist auf diesem Relay noch übrig?“ relay_tool: usage
„Starte den Dev-Server und gib mir einen Link, den ich auf dem Handy öffnen kann.“ preview: create
„Bevor du das Schema änderst, sprich mit mir.“ ask_user

Nach Provider #

Was ein Tool tut, ist bei jedem Provider gleich. Unterschiedlich ist, ob die Agents eines Providers das Tool bekommen und unter welchem Namen sie es sehen.

Provider relay_tool preview Rückfrage-Karten
Claude ja, als mcp__relay__relay_tool ja, als mcp__relay__preview Claudes eigenes AskUserQuestion, von OAR als Karte angezeigt
Claude API Neu in 0.9.18 ja, als mcp__relay__relay_tool ja, als mcp__relay__preview Claudes eigenes AskUserQuestion, von OAR als Karte angezeigt
DeepSeek Neu in 0.9.17 ja, als mcp__relay__relay_tool ja, als mcp__relay__preview AskUserQuestion von Claude Code, von OAR als Karte angezeigt
GitHub Copilot und OpenAI, SDK-Engine ja, als relay_tool kein Tool: Der Agent erfährt stattdessen, wie er die Preview-API des Relays aufruft ask_user von OAR
GitHub Copilot und OpenAI, Extension-Engine ja, über den MCP-Server von OAR (oar) ja, über den MCP-Server von OAR (oar) Copilots eigenes ask_user, von OAR als Karte angezeigt
Cursor ja, als relay_tool ja, als preview ask_user von OAR
Grok ja, über den MCP-Server von OAR (oar) ja, über den MCP-Server von OAR (oar) keine
Claude Cloud nein nein Claudes eigenes AskUserQuestion, von OAR als Karte angezeigt

Warum die Namen sich unterscheiden

Provider, die Tools über das Model Context Protocol (MCP) annehmen, setzen den Namen des Servers vor den Namen des Tools. Die Agents von Claude, Claude API und DeepSeek bekommen die Tools von OAR von einem Server namens relay, daher erscheint preview als mcp__relay__preview. Grok und die Extension-Engine von Copilot bekommen sie von einem Server namens oar, und jeder setzt den Namen auf seine eigene Weise davor. Es ist in jedem Fall dasselbe Tool.

Chats mit Claude API und DeepSeek führen Claude Code auf dem Host des Relays aus, daher bekommen ihre Agents die Tools genau wie die eines Claude-Chats. Siehe Claude API und DeepSeek.

Sessions mit Claude Cloud laufen in einer Sandbox bei Anthropic, nicht auf deinem Rechner. Die Tools des Relays reichen nicht hinein: Eine Cloud-Session hat kein relay_tool und kein preview. Agents in anderen Sessions können eine Cloud-Session mit relay_tool trotzdem starten, lesen, prompten und stoppen.

Grok und die Extension-Engine von Copilot bekommen die Tools von einem kleinen MCP-Server, den OAR an den Agent anhängt. Die Umgebungsvariable OAR_MCP_SERVER=0 für das Relay schaltet diesen Server ab; diese Agents haben dann kein relay_tool und erfahren, wie sie die Preview-API aufrufen, statt ein Tool preview zu haben.

Wann ein Tool da ist #

Tool Agents haben es, wenn
relay_tool mindestens ein Relay gekoppelt ist oder Settings → Relays → Agent sessions → Agents may start and use sessions on this relay (Einstellungen → Relays → Agent-Sessions → Agents dürfen auf diesem Relay Sessions starten und nutzen) eingeschaltet ist. Ohne beides wird das Tool gar nicht angeboten.
preview immer, bei den Providern, die es haben. Ob es veröffentlichen kann, hängt von der Preview-Lane ab, die aus ist, bis du sie einrichtest; ist die Lane aus, antwortet das Tool mit dem Grund.
ask_user immer, bei den Providern, die es haben.

Ob eine Session relay_tool bekommt, erfährt sie, wenn ihr Agent-Prozess startet. Nachdem du das erste Relay gekoppelt oder Agent-Sessions eingeschaltet hast, hat eine Konversation, die schon lief, das Tool vielleicht erst, wenn ihr Agent neu gestartet ist. Neu in 0.9.18 Dasselbe gilt für den neuen Namen des Tools: Eine Session, die lief, als du auf 0.9.18 aktualisiert hast, hat es vielleicht noch als remote_relay; siehe Der Name.

Was du in der Hand behältst #

  • Nichts, was über die Konversation hinausreicht, ist standardmäßig an. Agent-Sessions sind aus, bis du sie einschaltest, ein gekoppeltes Relay ist in jeder Konversation gesperrt, bis du es erwähnst, und die Preview-Lane ist aus, bis du sie konfigurierst.
  • Freigabekarten. Die erste Session, die ein Agent in einer Konversation startet, das erste Mal, dass er Sessions auf einem Relay beobachtet, und jede schreibende Aktion in den Relay-Modi ask und plan fragen dich zuerst, auf einer Rückfrage-Karte.
  • Die Tools geben einem Agent nie ein Token. Aufrufe an ein anderes Relay laufen über dein eigenes Relay, das das Token dieses Relays hält. Das ist keine Sandbox: Ein Agent läuft als Benutzer des Relays und könnte die Config-Datei und die Datenbank von der Festplatte lesen. Siehe Was OAR offenlegt.
  • Preview-Links sind öffentlich. Wer einen Preview-Link hat, kann ihn ohne Anmeldung öffnen. Der Agent soll das sagen, wenn er dir einen gibt. Ein Agent listet und schließt nur die Previews seiner eigenen Konversation Neu in 0.9.14; Settings → Previews (Einstellungen → Previews) zeigt und schließt alle.

Die Details stehen auf der Seite jedes Tools: relay_tool → Berechtigungen und Freigaben und preview → Grenzen.

Keine Tools #

Einige Dinge, die Agents in OAR tun, funktionieren ohne ein Tool von OAR:

  • Bilder, Video und Audio in einer Antwort. Agents erfahren, dass sie eine Mediendatei über ihren absoluten Pfad einbetten können; das Relay zeigt sie im Verlauf an. Das ist eine Anweisung im Prompt, kein Tool. Agents auf der Extension-Engine von Copilot und in Claude Cloud bekommen sie nicht.
  • /preview im Eingabebereich. Du kannst Previews selbst veröffentlichen, auflisten und schließen, indem du /preview tippst (Eingabebereich). Das kostet keinen Turn eines Agents und funktioniert mit jedem Provider.
  • Das Plan-Board. Wenn ein Agent mit dem Planen fertig ist, zeigt OAR ein Plan ready (Plan bereit) Board. Bei Claude und DeepSeek kommt es vom eigenen Plan-Tool von Claude Code, das OAR aufgreift.
Im Quellcode

Für Mitwirkende und Neugierige: wo diese Tools im OAR-Repository liegen. Jedes Tool ist einmal definiert, unabhängig vom Provider, unter shared/, und wird jedem Provider über einen kleinen Adapter angehängt.

Datei Was darin steht
shared/remote-relay-contract.mjs relay_tool: Beschreibung, Parameter, Aktionen, Berechtigungen, Grenzen, Fehlercodes, Eingabeprüfung
shared/remote-relay-tool-core.mjs relay_tool: der Aufruf, den der Adapter jedes Providers macht, und wann das Tool angeboten wird
server/services/remote-relay-dispatcher.mjs relay_tool: was jede Aktion tut, die Prüfungen davor, das Warten auf eine Antwort
shared/relay-events.mjs Ereignis-Abonnements: Ereignistypen, Grenzen, der Text einer Ereignisnachricht
server/services/relay-event-service.mjs Ereignis-Abonnements: sie speichern und Ereignisse zustellen
shared/preview-tool-core.mjs preview: Beschreibung, Parameter, Eingabeprüfung, der Aufruf
server/services/preview-registry-service.mjs preview: die Previews selbst und ihre Grenzen
shared/ask-user-bridge.mjs Rückfrage-Karten: von der Frage des Agents zur Karte und zurück
server/claude-worker/claude-sdk-adapter.mjs Claude, Claude API und DeepSeek: der MCP-Server relay und die Brücke für AskUserQuestion
server/cursor-worker/cursor-turn-runner.mjs Cursor: relay_tool, preview und ask_user als eigene Tools
server/copilot-worker/copilot-sdk-session-process.mjs Copilot-SDK-Engine: relay_tool und ask_user als Session-Tools
server/mcp/oar-mcp-server.mjs Der MCP-Server oar für Grok und die Extension-Engine von Copilot
server/relay-tools.md Die festen Anweisungen, die die Copilot-Engines zu diesen Tools bekommen