Herramientas de agente
Cada agente de programación trae sus propias herramientas: leer archivos, ejecutar comandos, editar código. OAR añade un pequeño conjunto encima, para que un agente pueda hacer cosas que solo puede hacer el relay: trabajar con otras sesiones, publicar una vista previa web y hacerte una pregunta que puedes responder con un toque.
Nunca llamas tú a estas herramientas. Pides lo que quieres con palabras normales y el agente elige la herramienta. Esta sección sirve para saber qué puede hacer un agente, para qué necesita tu aprobación y qué envía y recibe exactamente.
Las herramientas #
| Herramienta | Qué hace un agente con ella | Página |
|---|---|---|
relay_ |
Lista, lee, envía prompts, inicia, detiene y vigila otras sesiones, en este relay o en uno emparejado. Una herramienta, 23 acciones. | relay_tool |
preview |
Publica un servidor de desarrollo local o una carpeta en un enlace público, lista las vistas previas de su conversación y las cierra. | preview |
ask_ |
Te hace una pregunta con una tarjeta con botones y espera la respuesta. | ask_user |
- relay_toolLa herramienta de agente relay_tool — trabaja con sesiones en este relay y en relays emparejados. Las 23 acciones, sus parámetros y resultados, permisos, límites y errores.
- previewLa herramienta de agente preview — publica un servidor de desarrollo local o una carpeta en un enlace público. Acciones, parámetros, resultados, configuración y límites.
- ask_userCómo te hacen preguntas los agentes con una tarjeta con botones — la herramienta ask_user de OAR y las herramientas de pregunta propias de los proveedores, con sus parámetros por proveedor.
Lo que puedes pedir #
Algunas peticiones y la herramienta que usaría un agente:
| Escribes | El agente usa |
|---|---|
| «Inicia tres sesiones que revisen cada una una de estas carpetas y luego resume lo que encontraron.» | relay_: create_, wait, read_ |
| «Pregunta a la sesión de @build-box si el despliegue salió bien.» | relay_: list_, send |
| «Vigila esas sesiones y avísame cuando una haga una pregunta o falle.» | relay_: subscribe |
| «¿Cuánto me queda del plan de Claude en este relay?» | relay_: usage |
| «Arranca el servidor de desarrollo y dame un enlace que pueda abrir en el teléfono.» | preview: create |
| «Antes de cambiar el esquema, consúltame.» | ask_ |
Por proveedor #
Lo que hace una herramienta es igual en todos los proveedores. Lo que cambia es si los agentes de un proveedor reciben la herramienta y el nombre con el que la ven.
| Proveedor | relay_ |
preview |
Tarjetas de pregunta |
|---|---|---|---|
| Claude | sí, como mcp__ |
sí, como mcp__ |
Ask, la propia de Claude, que OAR muestra como tarjeta |
| Claude API Nuevo en 0.9.18 | sí, como mcp__ |
sí, como mcp__ |
Ask, la propia de Claude, que OAR muestra como tarjeta |
| DeepSeek Nuevo en 0.9.17 | sí, como mcp__ |
sí, como mcp__ |
Ask de Claude Code, que OAR muestra como tarjeta |
| GitHub Copilot y OpenAI, motor SDK | sí, como relay_ |
no hay herramienta: en su lugar, al agente se le explica cómo llamar a la API de vistas previas del relay | ask_ de OAR |
| GitHub Copilot y OpenAI, motor de extensión | sí, mediante el servidor MCP de OAR (oar) |
sí, mediante el servidor MCP de OAR (oar) |
ask_, la propia de Copilot, que OAR muestra como tarjeta |
| Cursor | sí, como relay_ |
sí, como preview |
ask_ de OAR |
| Grok | sí, mediante el servidor MCP de OAR (oar) |
sí, mediante el servidor MCP de OAR (oar) |
ninguna |
| Claude Cloud | no | no | Ask, la propia de Claude, que OAR muestra como tarjeta |
Por qué cambian los nombres
Los proveedores que reciben herramientas mediante el Model Context Protocol (MCP)
anteponen el nombre del servidor al de la herramienta. Los agentes de Claude, de
Claude API y de DeepSeek reciben las herramientas de OAR de un servidor llamado
relay, así que preview aparece como mcp__.
Grok y el motor de extensión de Copilot las reciben de un servidor llamado oar,
y cada uno antepone el nombre a su manera. En todos los casos es la misma
herramienta.
Los chats de Claude API y DeepSeek ejecutan Claude Code en el host del relay, así que sus agentes reciben las herramientas exactamente igual que los de un chat de Claude. Consulta Claude API y DeepSeek.
Las sesiones de Claude Cloud se ejecutan en un sandbox de Anthropic, no en tu
máquina. Las herramientas del relay no llegan hasta allí: una sesión en la nube
no tiene relay_ ni preview. Los agentes de otras sesiones sí pueden
iniciar, leer, enviar prompts a y detener una sesión en la nube con relay_.
Grok y el motor de extensión de Copilot reciben las herramientas de un
pequeño servidor MCP que OAR conecta al agente. Fijar la variable de entorno
OAR_ para el relay desactiva ese servidor; esos agentes se quedan
entonces sin relay_, y en lugar de tener una herramienta preview se les
explica cómo llamar a la API de vistas previas.
Cuándo está disponible una herramienta #
| Herramienta | Los agentes la tienen cuando |
|---|---|
relay_ |
hay al menos un relay emparejado, o Settings → Relays → Agent sessions → Agents may start and use sessions on this relay (Ajustes → Relays → Sesiones de agentes → Los agentes pueden iniciar y usar sesiones en este relay) está activado. Sin ninguna de las dos cosas, la herramienta no se ofrece en absoluto. |
preview |
siempre, en los proveedores que la tienen. Que pueda publicar depende de la preview lane, que está desactivada hasta que la configuras; con la lane desactivada, la herramienta responde con el motivo. |
ask_ |
siempre, en los proveedores que la tienen. |
Una sesión sabe si recibe relay_ cuando arranca su proceso de agente.
Después de emparejar el primer relay o de activar las sesiones de agentes, una
conversación que ya estaba en marcha puede no tener la herramienta hasta que su
agente se haya iniciado de nuevo. Nuevo en 0.9.18 Lo mismo vale para el nuevo
nombre de la herramienta: una sesión que estaba en marcha cuando actualizaste a
0.9.18 puede tenerla todavía como remote_; consulta El nombre.
Lo que sigues controlando tú #
- Nada que vaya más allá de la conversación está activado de forma predeterminada. Las sesiones de agentes están desactivadas hasta que las activas, un relay emparejado está bloqueado en cada conversación hasta que lo mencionas, y la preview lane está desactivada hasta que la configuras.
- Tarjetas de aprobación. La primera sesión que un agente inicia en una conversación, la primera vez que vigila sesiones en un relay y cada acción de escritura en los modos del relay ask y plan te preguntan primero, con una tarjeta de pregunta.
- Las herramientas nunca le dan un token a un agente. Las llamadas a otro relay pasan por tu propio relay, que guarda el token de ese relay. Esto no es un sandbox: un agente se ejecuta como el usuario del relay y podría leer del disco el archivo de configuración y la base de datos. Consulta Qué expone OAR.
- Los enlaces de vista previa son públicos. Cualquiera que tenga un enlace de vista previa puede abrirlo sin iniciar sesión. Al agente se le dice que lo advierta cuando te dé uno. Un agente solo lista y cierra las vistas previas de su propia conversación Nuevo en 0.9.14; Settings → Previews (Ajustes → Vistas previas) las muestra y cierra todas.
Los detalles están en la página de cada herramienta: relay_tool → Permisos y aprobaciones y preview → Límites.
Lo que no son herramientas #
Algunas cosas que hacen los agentes en OAR funcionan sin ninguna herramienta de OAR:
- Imágenes, vídeo y audio en una respuesta. A los agentes se les dice que pueden insertar un archivo multimedia por su ruta absoluta; el relay lo muestra integrado. Es una instrucción en el prompt, no una herramienta. Los agentes del motor de extensión de Copilot y de Claude Cloud no la reciben.
/en el área de redacción. Puedes publicar, listar y cerrar vistas previas tú mismo escribiendopreview /(área de redacción). No cuesta ningún turn de agente y funciona con todos los proveedores.preview - El tablero del plan. Cuando un agente termina de planificar, OAR muestra un tablero Plan ready (Plan listo). En Claude y DeepSeek procede de la herramienta de plan propia de Claude Code, que OAR recoge.
En el código fuente
Para colaboradores y curiosos: dónde viven estas herramientas en el
repositorio de OAR. Cada herramienta se define
una sola vez, sin depender de un proveedor, en shared/, y un pequeño adaptador
la conecta a cada proveedor.
| Archivo | Qué contiene |
|---|---|
| shared/remote-relay-contract.mjs | relay_: descripción, parámetros, acciones, permisos, límites, códigos de error, comprobación de la entrada |
| shared/remote-relay-tool-core.mjs | relay_: la llamada que hace el adaptador de cada proveedor, y cuándo se ofrece la herramienta |
| server/services/remote-relay-dispatcher.mjs | relay_: qué hace cada acción, las comprobaciones previas, la espera de una respuesta |
| shared/relay-events.mjs | Suscripciones a eventos: tipos de evento, límites, el texto de un mensaje de evento |
| server/services/relay-event-service.mjs | Suscripciones a eventos: su almacenamiento y la entrega de eventos |
| shared/preview-tool-core.mjs | preview: descripción, parámetros, comprobación de la entrada, la llamada |
| server/services/preview-registry-service.mjs | preview: las vistas previas en sí y sus límites |
| shared/ask-user-bridge.mjs | Tarjetas de pregunta: de la pregunta del agente a la tarjeta y vuelta |
| server/claude-worker/claude-sdk-adapter.mjs | Claude, Claude API y DeepSeek: el servidor MCP relay y el puente de Ask |
| server/cursor-worker/cursor-turn-runner.mjs | Cursor: relay_, preview y ask_ como herramientas personalizadas |
| server/copilot-worker/copilot-sdk-session-process.mjs | Motor SDK de Copilot: relay_ y ask_ como herramientas de sesión |
| server/mcp/oar-mcp-server.mjs | El servidor MCP oar para Grok y el motor de extensión de Copilot |
| server/relay-tools.md | Las instrucciones permanentes que reciben los motores de Copilot sobre estas herramientas |