Toutes les pages
Sur cette page

Outils d’agent

Chaque agent de code apporte ses propres outils : lire des fichiers, lancer des commandes, modifier du code. OAR en ajoute un petit ensemble par-dessus, pour qu’un agent puisse faire ce que seul le relais sait faire : travailler avec d’autres sessions, publier un aperçu web, et vous poser une question à laquelle vous répondez d’un simple appui.

Vous n’appelez jamais ces outils vous-même. Vous demandez avec des mots simples, et l’agent choisit l’outil. Cette section sert à savoir ce qu’un agent peut faire, ce pour quoi il a besoin de votre approbation, et ce qu’il envoie et reçoit exactement.

Les outils #

Outil Ce qu’un agent en fait Page
relay_tool Liste, lit, envoie des prompts à, démarre, arrête et surveille d’autres sessions, sur ce relais ou sur un relais associé. Un seul outil, 23 actions. relay_tool
preview Publie un serveur de dev local ou un dossier sur un lien public, liste les aperçus de sa conversation et les ferme. preview
ask_user Vous pose une question sous forme de carte avec des boutons et attend la réponse. ask_user

Ce que vous pouvez demander #

Quelques demandes et l’outil qu’un agent utiliserait :

Vous écrivez L’agent utilise
« Démarre trois sessions qui examinent chacune l’un de ces dossiers, puis résume ce qu’elles ont trouvé. » relay_tool : create_session, wait, read_session
« Demande à la session sur @build-box si le déploiement est passé. » relay_tool : list_sessions, send
« Surveille ces sessions et préviens-moi quand l’une pose une question ou échoue. » relay_tool : subscribe
« Combien reste-t-il de mon forfait Claude sur ce relais ? » relay_tool : usage
« Lance le serveur de dev et donne-moi un lien que je peux ouvrir sur mon téléphone. » preview : create
« Avant de changer le schéma, demande-moi. » ask_user

Par fournisseur #

Ce que fait un outil est identique pour tous les fournisseurs. Ce qui diffère, c’est si les agents d’un fournisseur reçoivent l’outil, et le nom sous lequel ils le voient.

Fournisseur relay_tool preview Cartes de question
Claude oui, sous le nom mcp__relay__relay_tool oui, sous le nom mcp__relay__preview Le AskUserQuestion propre à Claude, affiché par OAR comme une carte
Claude API Ajouté en 0.9.18 oui, sous le nom mcp__relay__relay_tool oui, sous le nom mcp__relay__preview Le AskUserQuestion propre à Claude, affiché par OAR comme une carte
DeepSeek Ajouté en 0.9.17 oui, sous le nom mcp__relay__relay_tool oui, sous le nom mcp__relay__preview Le AskUserQuestion de Claude Code, affiché par OAR comme une carte
GitHub Copilot et OpenAI, moteur SDK oui, sous le nom relay_tool pas d’outil : l’agent apprend plutôt comment appeler l’API d’aperçu du relais Le ask_user d’OAR
GitHub Copilot et OpenAI, moteur d’extension oui, via le serveur MCP d’OAR (oar) oui, via le serveur MCP d’OAR (oar) Le ask_user propre à Copilot, affiché par OAR comme une carte
Cursor oui, sous le nom relay_tool oui, sous le nom preview Le ask_user d’OAR
Grok oui, via le serveur MCP d’OAR (oar) oui, via le serveur MCP d’OAR (oar) aucune
Claude Cloud non non Le AskUserQuestion propre à Claude, affiché par OAR comme une carte

Pourquoi les noms diffèrent

Les fournisseurs qui reçoivent des outils via le Model Context Protocol (MCP) placent le nom du serveur devant celui de l’outil. Les agents de Claude, de Claude API et de DeepSeek reçoivent les outils d’OAR d’un serveur appelé relay : preview apparaît donc comme mcp__relay__preview. Grok et le moteur d’extension de Copilot les reçoivent d’un serveur appelé oar, et chacun préfixe le nom à sa façon. C’est le même outil dans tous les cas.

Les chats Claude API et DeepSeek font tourner Claude Code sur l’hôte du relais ; leurs agents reçoivent donc les outils exactement comme ceux d’un chat Claude. Voir Claude API et DeepSeek.

Les sessions Claude Cloud tournent dans un bac à sable chez Anthropic, pas sur votre machine. Les outils du relais n’y pénètrent pas : une session cloud n’a ni relay_tool ni preview. Les agents d’autres sessions peuvent quand même démarrer, lire, envoyer des prompts à et arrêter une session cloud avec relay_tool.

Grok et le moteur d’extension de Copilot reçoivent les outils d’un petit serveur MCP qu’OAR attache à l’agent. Définir la variable d’environnement OAR_MCP_SERVER=0 pour le relais désactive ce serveur ; ces agents n’ont alors pas de relay_tool, et apprennent comment appeler l’API d’aperçu au lieu d’avoir un outil preview.

Quand un outil est disponible #

Outil Les agents l’ont quand
relay_tool au moins un relais est associé, ou Settings → Relays → Agent sessions → Agents may start and use sessions on this relay (Réglages → Relais → Sessions d’agents → Les agents peuvent démarrer et utiliser des sessions sur ce relais) est activé. Sans l’un ni l’autre, l’outil n’est pas proposé du tout.
preview toujours, chez les fournisseurs qui l’ont. La possibilité de publier dépend de la preview lane, désactivée tant que vous ne l’avez pas mise en place ; lane désactivée, l’outil répond en donnant la raison.
ask_user toujours, chez les fournisseurs qui l’ont.

Une session apprend si elle reçoit relay_tool au démarrage du processus de son agent. Après que vous avez associé le premier relais ou activé les sessions d’agents, une conversation qui tournait déjà peut ne pas avoir l’outil tant que son agent n’a pas redémarré. Ajouté en 0.9.18 Il en va de même pour le nouveau nom de l’outil : une session qui tournait quand vous êtes passé à 0.9.18 peut encore l’avoir sous le nom remote_relay ; voir Le nom.

Ce dont vous gardez le contrôle #

  • Rien de ce qui va au-delà de la conversation n’est activé par défaut. Les sessions d’agents sont désactivées tant que vous ne les activez pas, un relais associé est verrouillé dans chaque conversation tant que vous ne le mentionnez pas, et la preview lane est désactivée tant que vous ne la configurez pas.
  • Cartes d’approbation. La première session qu’un agent démarre dans une conversation, la première fois qu’il surveille des sessions sur un relais, et chaque action d’écriture dans les modes du relais ask et plan vous demandent d’abord, sur une carte de question.
  • Les outils ne donnent jamais de token à un agent. Les appels vers un autre relais passent par votre propre relais, qui détient le token de ce relais. Ce n’est pas un bac à sable : un agent tourne avec l’utilisateur du relais et pourrait lire le fichier de config et la base de données sur le disque. Voir Ce qu’OAR expose.
  • Les liens d’aperçu sont publics. Quiconque a un lien d’aperçu peut l’ouvrir sans se connecter. L’agent a pour consigne de le dire quand il vous en donne un. Un agent ne liste et ne ferme que les aperçus de sa propre conversation Ajouté en 0.9.14 ; Settings → Previews (Réglages → Aperçus) les affiche et les ferme tous.

Les détails se trouvent sur la page de chaque outil : relay_tool → Permissions et approbations et preview → Limites.

Ce qui n’est pas un outil #

Certaines choses que font les agents dans OAR fonctionnent sans outil d’OAR :

  • Images, vidéo et audio dans une réponse. Les agents savent qu’ils peuvent intégrer un fichier média par son chemin absolu ; le relais l’affiche directement dans la réponse. C’est une consigne dans le prompt, pas un outil. Les agents du moteur d’extension de Copilot et de Claude Cloud ne la reçoivent pas.
  • /preview dans la zone de saisie. Vous pouvez publier, lister et fermer des aperçus vous-même en tapant /preview (zone de saisie). Cela ne coûte aucun turn d’agent et fonctionne avec tous les fournisseurs.
  • Le tableau de plan. Quand un agent termine sa planification, OAR affiche un tableau Plan ready (Plan prêt). Sur Claude et DeepSeek, il vient de l’outil de plan propre à Claude Code, qu’OAR récupère.
Dans le code source

Pour les contributeurs et les curieux : où vivent ces outils dans le dépôt OAR. Chaque outil est défini une seule fois, indépendamment du fournisseur, sous shared/, et attaché à chaque fournisseur par un petit adaptateur.

Fichier Ce qu’il contient
shared/remote-relay-contract.mjs relay_tool : description, paramètres, actions, permissions, limites, codes d’erreur, vérification des entrées
shared/remote-relay-tool-core.mjs relay_tool : l’appel que fait l’adaptateur de chaque fournisseur, et quand l’outil est proposé
server/services/remote-relay-dispatcher.mjs relay_tool : ce que fait chaque action, les vérifications qui la précèdent, l’attente d’une réponse
shared/relay-events.mjs Abonnements aux événements : types d’événements, limites, texte d’un message d’événement
server/services/relay-event-service.mjs Abonnements aux événements : leur stockage et la remise des événements
shared/preview-tool-core.mjs preview : description, paramètres, vérification des entrées, l’appel
server/services/preview-registry-service.mjs preview : les aperçus eux-mêmes et leurs limites
shared/ask-user-bridge.mjs Cartes de question : de la question de l’agent à la carte, et retour
server/claude-worker/claude-sdk-adapter.mjs Claude, Claude API et DeepSeek : le serveur MCP relay et le pont AskUserQuestion
server/cursor-worker/cursor-turn-runner.mjs Cursor : relay_tool, preview et ask_user comme outils personnalisés
server/copilot-worker/copilot-sdk-session-process.mjs Moteur SDK de Copilot : relay_tool et ask_user comme outils de session
server/mcp/oar-mcp-server.mjs Le serveur MCP oar pour Grok et le moteur d’extension de Copilot
server/relay-tools.md Les instructions permanentes que reçoivent les moteurs Copilot au sujet de ces outils