Saltar al contenido principal

Herramientas y plugins

Todo lo que hace el agente más allá de generar texto ocurre mediante herramientas. Las herramientas son la forma en que el agente lee archivos, ejecuta comandos, navega por la web, envía mensajes e interactúa con dispositivos.

Herramientas, Skills y plugins

OpenClaw tiene tres capas que funcionan juntas:
1

Las herramientas son lo que invoca el agente

Una herramienta es una función tipada que el agente puede invocar (por ejemplo exec, browser, web_search, message). OpenClaw incluye un conjunto de herramientas integradas y los plugins pueden registrar otras adicionales.El agente ve las herramientas como definiciones estructuradas de funciones enviadas a la API del modelo.
2

Las Skills enseñan al agente cuándo y cómo

Una Skill es un archivo markdown (SKILL.md) inyectado en el prompt del sistema. Las Skills proporcionan al agente contexto, restricciones y orientación paso a paso para usar las herramientas con eficacia. Las Skills viven en tu workspace, en carpetas compartidas o se incluyen dentro de plugins.Referencia de Skills | Creación de Skills
3

Los plugins lo empaquetan todo junto

Un plugin es un paquete que puede registrar cualquier combinación de capacidades: canales, proveedores de modelos, herramientas, Skills, voz, transcripción en tiempo real, voz en tiempo real, comprensión de medios, generación de imágenes, generación de video, obtención web, búsqueda web y más. Algunos plugins son core (incluidos con OpenClaw), otros son externos (publicados en npm por la comunidad).Instalar y configurar plugins | Crea el tuyo

Herramientas integradas

Estas herramientas vienen con OpenClaw y están disponibles sin instalar ningún plugin:
HerramientaQué hacePágina
exec / processEjecutar comandos de shell, gestionar procesos en segundo planoExec
code_executionEjecutar análisis remoto en Python dentro de sandboxCode Execution
browserControlar un navegador Chromium (navegar, hacer clic, captura de pantalla)Browser
web_search / x_search / web_fetchBuscar en la web, buscar publicaciones de X, obtener contenido de páginasWeb
read / write / editE/S de archivos en el workspace
apply_patchParches de archivos de múltiples bloquesApply Patch
messageEnviar mensajes a través de todos los canalesAgent Send
canvasControlar Canvas de nodo (presentar, evaluar, instantánea)
nodesDescubrir y seleccionar dispositivos emparejados
cron / gatewayGestionar trabajos programados; inspeccionar, aplicar parches, reiniciar o actualizar el gateway
image / image_generateAnalizar o generar imágenesImage Generation
music_generateGenerar pistas musicalesMusic Generation
video_generateGenerar videosVideo Generation
ttsConversión puntual de texto a vozTTS
sessions_* / subagents / agents_listGestión de sesiones, estado y orquestación de subagentesSub-agents
session_statusLectura ligera tipo /status y sobrescritura de modelo por sesiónSession Tools
Para trabajo con imágenes, usa image para análisis e image_generate para generación o edición. Si apuntas a openai/*, google/*, fal/* u otro proveedor de imágenes no predeterminado, configura primero la autenticación/clave de API de ese proveedor. Para trabajo con música, usa music_generate. Si apuntas a google/*, minimax/* u otro proveedor de música no predeterminado, configura primero la autenticación/clave de API de ese proveedor. Para trabajo con video, usa video_generate. Si apuntas a qwen/* u otro proveedor de video no predeterminado, configura primero la autenticación/clave de API de ese proveedor. Para generación de audio basada en flujos de trabajo, usa music_generate cuando un plugin como ComfyUI lo registre. Esto es independiente de tts, que es texto a voz. session_status es la herramienta ligera de estado/lectura del grupo de sesiones. Responde preguntas al estilo de /status sobre la sesión actual y puede opcionalmente establecer una sobrescritura de modelo por sesión; model=default elimina esa sobrescritura. Al igual que /status, puede completar retroactivamente contadores escasos de tokens/caché y la etiqueta del modelo de runtime activo a partir de la última entrada de uso en la transcripción. gateway es la herramienta de runtime solo para propietarios para operaciones del gateway:
  • config.schema.lookup para un subárbol de configuración acotado a una ruta antes de editar
  • config.get para la instantánea de configuración actual + hash
  • config.patch para actualizaciones parciales de configuración con reinicio
  • config.apply solo para reemplazo completo de la configuración
  • update.run para autoactualización explícita + reinicio
Para cambios parciales, prefiere config.schema.lookup y luego config.patch. Usa config.apply solo cuando quieras reemplazar intencionalmente toda la configuración. La herramienta también se niega a cambiar tools.exec.ask o tools.exec.security; los alias heredados tools.bash.* se normalizan a las mismas rutas protegidas de exec.

Herramientas proporcionadas por plugins

Los plugins pueden registrar herramientas adicionales. Algunos ejemplos:
  • Lobster — runtime de flujo de trabajo tipado con aprobaciones reanudables
  • LLM Task — paso LLM solo JSON para salida estructurada
  • Music Generation — herramienta compartida music_generate con proveedores respaldados por flujos de trabajo
  • Diffs — visor y renderizador de diferencias
  • OpenProse — orquestación de flujos de trabajo con enfoque markdown

Configuración de herramientas

Listas de permitidas y denegadas

Controla qué herramientas puede invocar el agente mediante tools.allow / tools.deny en la configuración. Denegar siempre prevalece sobre permitir.
{
  tools: {
    allow: ["group:fs", "browser", "web_search"],
    deny: ["exec"],
  },
}

Perfiles de herramientas

tools.profile establece una lista base de permitidas antes de aplicar allow/deny. Sobrescritura por agente: agents.list[].tools.profile.
PerfilQué incluye
fullSin restricciones (igual que sin establecer)
codinggroup:fs, group:runtime, group:web, group:sessions, group:memory, cron, image, image_generate, music_generate, video_generate
messaginggroup:messaging, sessions_list, sessions_history, sessions_send, session_status
minimalSolo session_status

Grupos de herramientas

Usa los atajos group:* en listas de permitidas/denegadas:
GrupoHerramientas
group:runtimeexec, process, code_execution (bash se acepta como alias de exec)
group:fsread, write, edit, apply_patch
group:sessionssessions_list, sessions_history, sessions_send, sessions_spawn, sessions_yield, subagents, session_status
group:memorymemory_search, memory_get
group:webweb_search, x_search, web_fetch
group:uibrowser, canvas
group:automationcron, gateway
group:messagingmessage
group:nodesnodes
group:agentsagents_list
group:mediaimage, image_generate, music_generate, video_generate, tts
group:openclawTodas las herramientas integradas de OpenClaw (excluye herramientas de plugins)
sessions_history devuelve una vista de recuperación acotada y filtrada por seguridad. Elimina etiquetas de thinking, andamiaje <relevant-memories>, payloads XML de llamadas a herramientas en texto plano (incluidos <tool_call>...</tool_call>, <function_call>...</function_call>, <tool_calls>...</tool_calls>, <function_calls>...</function_calls> y bloques truncados de llamadas a herramientas), andamiaje degradado de llamadas a herramientas, tokens filtrados de control del modelo en ASCII/ancho completo y XML malformado de llamadas a herramientas de MiniMax del texto del asistente, y luego aplica redacción/truncamiento y posibles marcadores de posición de filas sobredimensionadas en lugar de actuar como un volcado sin procesar de la transcripción.

Restricciones específicas por proveedor

Usa tools.byProvider para restringir herramientas para proveedores específicos sin cambiar los valores globales predeterminados:
{
  tools: {
    profile: "coding",
    byProvider: {
      "google-antigravity": { profile: "minimal" },
    },
  },
}