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_ |
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_ |
Vous pose une question sous forme de carte avec des boutons et attend la réponse. | ask_user |
- relay_toolL’outil d’agent relay_tool — travailler avec les sessions de ce relais et des relais associés. Les 23 actions, leurs paramètres et résultats, les permissions, les limites et les erreurs.
- previewL’outil d’agent preview — publier un serveur de dev local ou un dossier sur un lien public. Actions, paramètres, résultats, mise en place et limites.
- ask_userComment les agents vous posent une question sous forme de carte à boutons — l’outil ask_user d’OAR et les propres outils de question des fournisseurs, avec les paramètres par fournisseur.
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_ : create_, wait, read_ |
| « Demande à la session sur @build-box si le déploiement est passé. » | relay_ : list_, send |
| « Surveille ces sessions et préviens-moi quand l’une pose une question ou échoue. » | relay_ : subscribe |
| « Combien reste-t-il de mon forfait Claude sur ce relais ? » | relay_ : 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_ |
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_ |
preview |
Cartes de question |
|---|---|---|---|
| Claude | oui, sous le nom mcp__ |
oui, sous le nom mcp__ |
Le Ask propre à Claude, affiché par OAR comme une carte |
| Claude API Ajouté en 0.9.18 | oui, sous le nom mcp__ |
oui, sous le nom mcp__ |
Le Ask propre à Claude, affiché par OAR comme une carte |
| DeepSeek Ajouté en 0.9.17 | oui, sous le nom mcp__ |
oui, sous le nom mcp__ |
Le Ask de Claude Code, affiché par OAR comme une carte |
| GitHub Copilot et OpenAI, moteur SDK | oui, sous le nom relay_ |
pas d’outil : l’agent apprend plutôt comment appeler l’API d’aperçu du relais | Le ask_ 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_ propre à Copilot, affiché par OAR comme une carte |
| Cursor | oui, sous le nom relay_ |
oui, sous le nom preview |
Le ask_ 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 Ask 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__.
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_
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_.
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_ pour le relais désactive ce serveur ; ces agents n’ont alors
pas de relay_, 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_ |
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_ |
toujours, chez les fournisseurs qui l’ont. |
Une session apprend si elle reçoit relay_ 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_ ; 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.
/dans la zone de saisie. Vous pouvez publier, lister et fermer des aperçus vous-même en tapantpreview /(zone de saisie). Cela ne coûte aucun turn d’agent et fonctionne avec tous les fournisseurs.preview - 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_ : description, paramètres, actions, permissions, limites, codes d’erreur, vérification des entrées |
| shared/remote-relay-tool-core.mjs | relay_ : l’appel que fait l’adaptateur de chaque fournisseur, et quand l’outil est proposé |
| server/services/remote-relay-dispatcher.mjs | relay_ : 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 Ask |
| server/cursor-worker/cursor-turn-runner.mjs | Cursor : relay_, preview et ask_ comme outils personnalisés |
| server/copilot-worker/copilot-sdk-session-process.mjs | Moteur SDK de Copilot : relay_ et ask_ 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 |