Qué es OpenClaw

OpenClaw es un gateway de agente IA de código abierto y autoalojado que te permite desplegar un asistente de IA personal en tu propia máquina e interactuar con él a través de cualquier plataforma de chat — WhatsApp, Telegram, Discord, iMessage, Feishu/Lark, Slack, Signal y más.
A diferencia de las herramientas de IA solo en la nube, OpenClaw se ejecuta localmente, mantiene tus datos privados y da a tu asistente de IA acceso persistente a tus archivos, herramientas y flujos de trabajo.
Capacidades principales:
- Local primero — tus datos se quedan en tu máquina; sin almacenamiento en el lado del servidor
- Multiplataforma — un agente, muchas apps de chat; cambia de dispositivo sin esfuerzo
- Multimodelo — alterna entre Anthropic, OpenAI, Google Gemini, DeepSeek, Ollama y más de 30 proveedores con un cambio de configuración
- Extensible — más de 5,400 habilidades comunitarias vía ClawHub; crea la tuya en minutos
- Siempre activo — se ejecuta como demonio en segundo plano; proactivo vía Cron, Heartbeat, Task Flow y Webhooks
- Multiagente — ejecuta varios agentes aislados con diferentes personalidades, modelos y conjuntos de herramientas
Cómo funciona OpenClaw
OpenClaw sigue una arquitectura de gateway — un proceso central conecta las plataformas de chat con los agentes de IA a través de un bus de mensajes unificado.
┌─────────────────────────────────────────────────────────┐
│ Application Layer │
│ WebChat · macOS App · CLI · Control UI (Admin) │
├─────────────────────────────────────────────────────────┤
│ Gateway Layer │
│ WebSocket Server · Message Routing · Sessions │
├─────────────────────────────────────────────────────────┤
│ Channel Layer │
│ WhatsApp · Telegram · Discord · Slack · Feishu · ... │
├─────────────────────────────────────────────────────────┤
│ Agent Layer │
│ System Prompt · Tool Execution · Memory Retrieval │
├─────────────────────────────────────────────────────────┤
│ Model Layer │
│ Claude · GPT · Gemini · DeepSeek · Ollama · ... │
└─────────────────────────────────────────────────────────┘Flujo de mensajes:
- El usuario envía un mensaje en cualquier plataforma de chat
- El adaptador de canal lo convierte al formato interno de OpenClaw
- El gateway lo enruta a la sesión de agente correcta según las reglas de enlace
- El agente ensambla el contexto (prompt del sistema + memoria + herramientas), llama al LLM
- La respuesta vuelve a través del gateway al canal de origen
Principios de diseño core
| Principio | Descripción |
|---|---|
| Autoalojado | Se ejecuta en tu máquina — portátil, VPS, Docker o VM en la nube. Tú eres dueño de los datos. |
| Agnóstico de plataforma | El mismo agente en cualquier app de chat. Añade o elimina canales sin tocar la lógica del agente. |
| Flexible en modelos | Sin bloqueo de proveedor. Cambia modelos por agente, por tarea, o configura cadenas de fallback automáticas. |
| Extensible con habilidades | Las habilidades son archivos de instrucciones basados en Markdown. Instálalas desde ClawHub o escríbelas tú mismo. |
| Aislamiento de agentes | Cada agente tiene su propio workspace, sesiones, memoria, autenticación y conjunto de habilidades. |
| Proactivo | No solo reactivo — Cron, Heartbeat, Task Flow y Webhooks permiten al agente actuar por su cuenta. |
Arquitectura del sistema en profundidad
OpenClaw usa una arquitectura de cinco capas diseñada para extensibilidad y aislamiento:
Gateway (el núcleo):
- Servidor WebSocket que gestiona todas las conexiones de clientes
- Motor de enrutamiento de mensajes que mapea los mensajes entrantes a sesiones de agente
- Gestión de sesiones con aislamiento de estado por agente
- Coordinador de ejecución de herramientas que gestiona llamadas concurrentes
Adaptadores de canal:
- Cada plataforma (WhatsApp, Telegram, etc.) tiene un adaptador dedicado
- Los adaptadores gestionan la autenticación, formato de mensajes y multimedia específicos de la plataforma
- Se pueden añadir nuevos canales vía plugins sin modificar el gateway
Runtime del agente:
- Ensamblado del prompt del sistema desde archivos del workspace (SOUL.md, USER.md, IDENTITY.md)
- Registro de herramientas y sandbox de ejecución
- Pipeline de recuperación de memoria (Active Memory, Memory Wiki)
- Gestión del contexto de conversación con presupuesto de tokens
Abstracción de modelos:
- Interfaz unificada entre más de 35 proveedores de LLM
- Cadenas de fallback automáticas (principal → secundario → local)
- Configuración de modelo por agente
- Transporte WebSocket para streaming de baja latencia
Interior del gateway
El Gateway es el corazón de OpenClaw. Cada cliente — CLI, WebChat, plataformas de chat — se conecta a través de él por WebSocket.
Ciclo de vida de la conexión:
Client Gateway
│ │
├── req:connect (identity) ────▶ │
│ ├── authenticate
│ ◀── res (ok) + hello-ok ──────┤
│ │
│ ◀── event:presence ───────────┤ (online status)
│ ◀── event:tick ───────────────┤ (heartbeat)
│ │
├── req:agent (message) ───────▶ │
│ ├── route to agent session
│ ├── execute tools
│ ├── call LLM
│ ◀── event:agent (stream) ─────┤ (partial response)
│ ◀── res:agent (final) ────────┤ (complete response)Configuración clave:
{
"gateway": {
"port": 18789,
"host": "127.0.0.1",
"auth": {
"mode": "token",
"token": "your-secret-token"
}
}
}Arquitectura multiagente
Varios agentes ejecutándose en paralelo en la Control UI — vía openclaw/openclaw
OpenClaw soporta la ejecución paralela de varios agentes, cada uno totalmente aislado:
| Dimensión de aislamiento | Descripción |
|---|---|
| Workspace | Cada agente tiene su propio directorio con SOUL.md, USER.md, etc. |
| Sesiones | Historiales de conversación independientes |
| Autenticación | Claves API y configuraciones de modelo separadas |
| Memoria | Almacenes de memoria independientes |
| Habilidades | Puede cargar diferentes conjuntos de habilidades por agente |
Topología de ejemplo:
Gateway
├── WhatsApp ──▶ "alex" agent (personal assistant)
├── Telegram ──▶ "work" agent (coding helper)
├── Discord ──▶ "coding" agent (pair programmer)
└── Feishu ──▶ "team" agent (team coordinator)El workspace de cada agente está en ~/.openclaw/agents/<agentId>/agent/.
OpenClaw vs ChatGPT vs Claude Code
| Característica | ChatGPT | Claude Code | OpenClaw |
|---|---|---|---|
| Dónde se ejecuta | Nube | Terminal local | Local (cualquier SO) |
| Privacidad de datos | Almacenamiento en servidor | Local | Local |
| Integración con apps de chat | Ninguna | Ninguna | WhatsApp / Telegram / Discord / iMessage / Feishu / Slack |
| Acceso a archivos locales | No | Sí | Sí |
| Habilidades personalizadas | GPTs (limitadas) | No | Más de 5,400 vía ClawHub |
| Siempre activo | Requiere navegador | Requiere terminal | Demonio en segundo plano |
| Multiagente | No | No | Múltiples personas aisladas |
| Proactivo | No | No | Cron / Heartbeat / Task Flow / Webhooks |
| Uso principal | Chat general | Asistente de programación | Asistente de IA personal |
Cuándo usar OpenClaw:
- Quieres un asistente de IA siempre accesible en tu teléfono
- Necesitas que acceda a archivos locales, ejecute comandos y automatice tareas
- Quieres total privacidad de datos con ejecución local
- Necesitas acceso multiplataforma desde un único agente
- Quieres ampliar capacidades con habilidades comunitarias
Ecosistema y comunidad
El ecosistema de OpenClaw se extiende mucho más allá del gateway central:
| Componente | Descripción |
|---|---|
| ClawHub | Registro público de habilidades con más de 5,400 habilidades comunitarias |
| Control UI | Panel web de administración para gestionar tu gateway |
| OpenClaw Manager | Web UI en React + Tailwind para gestión de múltiples gateways |
| ClawX | App de escritorio para tareas de agentes autónomos |
| ClawPanel | Panel de gestión Tauri v2 |
| Composio | Integración OAuth gestionada para más de 1,000 servicios externos |
| MyClaw | Instancias de OpenClaw alojadas en la nube con un clic |
Recursos de la comunidad:
- GitHub: github.com/openclaw/openclaw
- Discord: discord.com/invite/clawd
- ClawHub: clawhub.com
- Catálogo de habilidades: github.com/VoltAgent/awesome-openclaw-skills (más de 50k estrellas)
Métodos de instalación
Elige el método de instalación que se adapte a tu configuración:
| Método | Dificultad | Coste | Ideal para |
|---|---|---|---|
| npm (oficial) | Media | Gratis | Desarrolladores que quieren control total |
| instalador curl | Fácil | Gratis | Usuarios de macOS / Linux |
| Docker | Media | Gratis | Despliegue en servidor |
| EasyClaw | Fácil | Gratis | Principiantes, configuración cero |
| VPS en la nube | Fácil | De pago | Disponibilidad 24/7, acceso remoto |
| Gestionado (MyClaw) | Muy fácil | De pago | Sin gestión de servidores |
Instalación por npm (recomendado)
# Requires Node.js 22+
node -v # verify
# Install globally
npm install -g openclaw@latest
# Run onboarding wizard
openclaw onboardInstalador curl
# macOS / Linux
curl -fsSL https://openclaw.ai/install.sh | bash
# Windows (PowerShell)
iwr -useb https://openclaw.ai/install.ps1 | iexDocker
# Clone the docker-compose template
git clone https://github.com/openclaw/openclaw.git
cd openclaw/docker
# Configure environment
cp .env.example .env
# Edit .env with your API keys
# Start
docker compose up -dOpciones de despliegue en la nube
| Proveedor | Precio inicial | Notas |
|---|---|---|
| Tencent Cloud Lighthouse | ~$3/mes | Imagen de OpenClaw preconstruida |
| Alibaba Cloud Wuying | Pago por uso | Escritorio en la nube con OpenClaw |
| Volcengine | ~$1.5/mes | VPS económico |
| Cloudflare Workers | $5/mes | CDN global, requiere configurar R2 |
| MyClaw | Gestionado | Un clic, disponibilidad 24/7 |
Requisitos del sistema
| Requisito | Mínimo | Recomendado |
|---|---|---|
| Node.js | 22.x | 24.x |
| RAM | 512 MB | 2 GB+ |
| Disco | 200 MB | 1 GB+ (para habilidades, memoria) |
| SO | macOS 12+, Ubuntu 20.04+, Windows 10+ (WSL2) | macOS, Linux |
| Red | Internet (para llamadas API) | Banda ancha estable |
Notas por plataforma:
- macOS — La mejor experiencia. Soporte nativo de demonio launchd.
- Linux — Soporte completo. Servicio systemd disponible.
- Windows — Se recomienda encarecidamente WSL2 sobre PowerShell nativo.
- ARM (Raspberry Pi) — Funciona pero más lento; bueno para configuraciones ligeras.
Asistente de configuración inicial
El comando openclaw onboard te guía por la configuración inicial en unos 5 minutos:
openclaw onboardEl asistente cubre 10 pasos:
- Aceptar la declinación de responsabilidad
- Elegir el modo de configuración (Inicio rápido / Avanzado)
- Seleccionar el proveedor de modelos de IA (Anthropic / OpenAI / Google / DeepSeek / Ollama / …)
- Introducir la clave API
- Elegir la plataforma de chat (Telegram / Feishu / Discord / WhatsApp / …)
- Establecer el puerto del gateway (por defecto: 18789)
- Seleccionar las habilidades iniciales
- Configurar claves API adicionales (búsqueda web, etc.)
- Activar hooks (opcional)
- Completar — el gateway se inicia automáticamente
Configuración manual (omitir el asistente):
# Configure model provider
openclaw models auth login --provider anthropic
# Add a chat channel
openclaw channels add
# Start gateway
openclaw gateway startConfiguración de proveedores de modelos
OpenClaw soporta más de 35 proveedores de modelos listos para usar:
| Proveedor | Modelos | Notas |
|---|---|---|
| Anthropic | Claude 4.5 Sonnet, Claude 4 Haiku, … | Recomendado para programación |
| OpenAI | GPT-5.4, GPT-5.4-pro, o3, … | Vía clave API o ChatGPT OAuth |
| Gemini 2.5 Pro, Gemini 2.5 Flash, … | Nivel gratuito disponible | |
| DeepSeek | DeepSeek-V3, DeepSeek-R1, … | Mejor relación coste-rendimiento |
| Ollama | Modelos locales (Llama, Mistral, Qwen, …) | Totalmente offline |
| MiniMax | MiniMax-Text-01, … | Mercado chino |
| Zhipu GLM | GLM-4, … | Mercado chino |
| Qwen | Qwen-Max, Qwen-Plus, … | Alibaba Cloud |
Ejemplo de configuración:
{
"models": {
"mode": "merge",
"providers": {
"anthropic": {
"apiKey": "sk-ant-..."
},
"openai": {
"apiKey": "sk-..."
},
"ollama": {
"baseUrl": "http://localhost:11434"
}
},
"defaults": {
"main": "anthropic/claude-4-5-sonnet",
"fast": "anthropic/claude-4-haiku"
},
"fallback": [
"openai/gpt-5.4",
"google/gemini-2.5-pro"
]
}
}Conceptos clave:
mode: "merge"— mantiene los proveedores integrados y añade los tuyos personalizadosdefaults.main— modelo principal para tareas complejasdefaults.fast— modelo ligero para respuestas rápidas (conmuta con/fast)fallback— cadena de failover automática
Inicio y gestión del gateway
# Start (foreground)
openclaw gateway start
# Start as background daemon
openclaw gateway start --daemon
# Stop
openclaw gateway stop
# Restart (after config changes)
openclaw gateway restart
# Check status
openclaw status
# View logs
openclaw gateway logsConfiguración del demonio:
| SO | Mecanismo | Autoinicio |
|---|---|---|
| macOS | launchd | openclaw onboard --install-daemon |
| Linux | systemd | openclaw service install |
| Docker | Política de reinicio de Docker | restart: unless-stopped |
Recarga en caliente: La mayoría de los cambios de configuración en openclaw.json surten efecto tras openclaw gateway restart. Los archivos del workspace (SOUL.md, USER.md, etc.) surten efecto inmediatamente sin reinicio.
UI de control y panel
OpenClaw incluye una interfaz web integrada en http://127.0.0.1:18789/:
| Función | Descripción |
|---|---|
| Panel | Resumen del estado del agente, sesiones activas y salud del sistema |
| WebChat | Chatea directamente con tu agente desde el navegador |
| Configuración | Ver y editar los ajustes del gateway |
| Vista de agente | Inspecciona workspaces, habilidades y memoria del agente |
| Vista de sesiones | Explora y gestiona las sesiones de conversación |
| Paleta de comandos | Acciones rápidas vía atajo de teclado |
| Exportación de mensajes | Exporta el historial de conversación |
Soporte móvil: La UI de control es responsiva — navegación por pestañas inferiores en móvil, barra lateral en escritorio.
Comandos slash en WebChat:
/status— estado del gateway y del agente/models— lista de modelos disponibles/skills— lista de habilidades instaladas/sessions— lista de sesiones activas/fast— alterna el modo de modelo rápido
Envía tu primer mensaje
Cliente iOS en conversación con un agente OpenClaw — vía openclaw/openclaw
Tras iniciar el gateway, tienes varias formas de interactuar:
Opción 1: WebChat (la más rápida)
Open http://127.0.0.1:18789/chat in your browser
Type: "Hello! What can you do?"Opción 2: CLI
openclaw chat
# Type your message, get a responseOpción 3: Plataforma de chat
Send a DM to your bot on Telegram / Feishu / Discord / etc.Prueba estos comandos:
"What's the weather in San Francisco?"
"List the files in my home directory"
"Create a reminder: buy groceries tomorrow at 5pm"
"Search the web for the latest OpenClaw release notes"
"Summarize my recent emails"Seguridad y autenticación
La autenticación del gateway es obligatoria — debes establecer explícitamente un modo de autenticación:
# Token-based (recommended)
openclaw config set gateway.auth.mode token
openclaw config set gateway.auth.token "$(openssl rand -hex 24)"
# Or password-based
openclaw config set gateway.auth.mode password
openclaw config set gateway.auth.password "your-strong-password"
openclaw gateway restartSeguridad a nivel de canal:
{
"channels": {
"telegram": {
"dmPolicy": "pairing",
"allowFrom": ["your_telegram_user_id"]
},
"feishu": {
"dmPolicy": "pairing"
}
}
}| Política | Descripción |
|---|---|
pairing | Los usuarios deben introducir un código de emparejamiento de un solo uso (por defecto, recomendado) |
open | Cualquiera puede enviar mensajes al bot (usar con precaución) |
allowlist | Solo los IDs de usuario listados explícitamente |
Seguridad de chats de grupo:
{
"channels": {
"telegram": {
"groupPolicy": "allowlist",
"groups": {
"allowed-group-id": {
"requireMention": true
}
}
}
}
}Visión general de canales
Un gateway, muchas plataformas de chat — vía openclaw/openclaw
OpenClaw soporta más de 8 plataformas de chat mediante un sistema de canales unificado. Cada adaptador de canal gestiona la autenticación, el formato de mensajes y la multimedia específicos de la plataforma.
| Canal | Dificultad de configuración | Funciones |
|---|---|---|
| Telegram | Fácil | Bot API, modo inline, grupos, multimedia |
| Discord | Media | Servidores, canales, hilos, comandos slash |
| Feishu/Lark | Media | Tarjetas interactivas, WebSocket, grupos, empresarial |
| Difícil | Emparejamiento por QR, multimedia, soporte de grupos | |
| Slack | Media | Block Kit, webhooks, apps de workspace |
| iMessage | Media | Solo macOS, vía BlueBubbles |
| Signal | Difícil | Privacidad primero, requiere signal-cli |
| WebChat | Muy fácil | Integrado, configuración cero |
Patrón de configuración común:
{
"channels": {
"<channel-name>": {
"enabled": true,
"...credentials...": "...",
"dmPolicy": "pairing",
"groupPolicy": "disabled"
}
}
}Configuración de Telegram
Notificación de revisión de código entregada a Telegram — vía openclaw/openclaw
Telegram es el canal más fácil de configurar — solo necesitas un bot token.
Paso 1: Crear un bot
1. Open Telegram, search for @BotFather
2. Send /newbot
3. Choose a name and username
4. Copy the bot tokenPaso 2: Configurar OpenClaw
openclaw channels add
# Select "Telegram"
# Paste the bot tokenO edita openclaw.json directamente:
{
"channels": {
"telegram": {
"token": "123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11",
"dmPolicy": "pairing"
}
}
}Paso 3: Reiniciar y probar
openclaw gateway restart
# Send a message to your bot in TelegramOpciones avanzadas:
{
"channels": {
"telegram": {
"token": "...",
"allowFrom": ["123456789"],
"groups": {
"*": { "requireMention": true }
},
"streaming": true,
"replyToMode": "quote"
}
}
}Configuración de Discord
Paso 1: Crear una aplicación de Discord
1. Go to discord.com/developers/applications
2. Click "New Application"
3. Go to "Bot" tab → "Add Bot"
4. Copy the bot token
5. Enable "Message Content Intent" under Privileged Gateway Intents
6. Generate an OAuth2 URL with "bot" scope and appropriate permissions
7. Use the URL to invite the bot to your serverPaso 2: Configurar OpenClaw
{
"channels": {
"discord": {
"token": "your-discord-bot-token",
"dmPolicy": "pairing"
}
}
}Paso 3: Reiniciar
openclaw gateway restartConfiguración de Feishu / Lark
Feishu es el canal más popular en el mercado chino. Soporta tarjetas de mensaje interactivas, suscripción a eventos basada en WebSocket y seguridad de nivel empresarial.
Paso 1: Crear una app de Feishu
1. Go to open.feishu.cn
2. Create an enterprise self-built app
3. Enable "Bot" capability
4. Copy App ID and App Secret
5. Configure permissions (batch import recommended)
6. Enable event subscription: WebSocket mode, event: im.message.receive_v1
7. Publish the appPermisos necesarios:
im:message— leer mensajesim:message:send_as_bot— enviar mensajes como botcontact:contact.base:readonly— leer información de contactos
Paso 2: Instalar el plugin de Feishu
openclaw plugins install @openclaw/feishuPaso 3: Configurar
{
"channels": {
"feishu": {
"appId": "cli_xxxxx",
"appSecret": "xxxxx",
"dmPolicy": "pairing"
}
}
}Avanzado: Salida en streaming
{
"channels": {
"feishu": {
"appId": "...",
"appSecret": "...",
"streaming": true,
"replyToMode": "quote"
}
}
}Avanzado: Tarjetas interactivas
Feishu soporta tarjetas de mensaje interactivas ricas con botones, formularios y manejadores de callback. Consulta la pestaña de recetas para ejemplos de implementación de tarjetas.
WhatsApp, Signal e iMessage
WhatsApp requiere emparejamiento por código QR (similar a WhatsApp Web):
openclaw channels add
# Select "WhatsApp"
# Scan the QR code with your phone{
"channels": {
"whatsapp": {
"dmPolicy": "pairing"
}
}
}Nota: WhatsApp usa el protocolo no oficial de WhatsApp Web. Usa un número dedicado para evitar problemas de cuenta.
Signal
La integración de Signal requiere signal-cli ejecutándose como demonio:
# Install signal-cli
# Register or link as a secondary device
# Configure OpenClaw to connectiMessage (solo macOS)
iMessage requiere el servidor BlueBubbles ejecutándose en un Mac:
{
"channels": {
"imessage": {
"blueBubblesUrl": "http://localhost:1234",
"password": "your-bluebubbles-password"
}
}
}Enrutamiento multicanal
Cuando ejecutas varios canales, puedes enrutar diferentes canales a diferentes agentes:
{
"bindings": [
{ "channel": "whatsapp", "agentId": "personal" },
{ "channel": "telegram", "agentId": "work" },
{ "channel": "discord", "agentId": "coding" },
{ "channel": "feishu", "agentId": "team" }
]
}Las reglas de enlace se evalúan en orden — la primera coincidencia gana. También puedes filtrar por tipo de chat, ID de grupo o ID de usuario:
{
"bindings": [
{
"channel": "telegram",
"agentId": "vip-support",
"match": { "userId": "vip-user-123" }
},
{
"channel": "telegram",
"agentId": "general"
}
]
}Visión general del workspace
Cada agente tiene un directorio de workspace que contiene archivos de configuración que definen su personalidad, comportamiento y conocimiento:
~/.openclaw/workspace/
├── SOUL.md # Core principles and behavioral guidelines
├── IDENTITY.md # Name, persona, vibe
├── USER.md # Information about the human
├── AGENTS.md # Working specifications and rules
├── MEMORY.md # Long-term curated memory
├── HEARTBEAT.md # Periodic check task list
├── TOOLS.md # Local tool configuration notes
├── BOOTSTRAP.md # First-run initialization instructions
└── skills/ # Agent-specific local skillsConcepto clave: Estos archivos son el “sistema operativo” del agente. El agente los lee al inicio de la sesión y sigue sus instrucciones. Los cambios surten efecto inmediatamente — no hace falta reiniciar el gateway.
SOUL.md — Principios core
SOUL.md es la constitución del agente — define personalidad, tono y límites de comportamiento:
# SOUL.md
Be genuinely helpful, not performatively helpful.
Skip the "Great question!" — just help.
Have opinions. An assistant with no personality is just a search engine.
Be resourceful before asking. Try to figure it out first.
Remember you're a guest. Treat access to someone's data with respect.
### Communication Style
- Concise by default, detailed when asked
- Use technical language with developers, plain language with others
- Admit mistakes quickly and fix them
### Safety Rules
- Never expose private data to external services
- Ask before executing destructive commands
- When uncertain, explain the trade-offs and let the human decideIDENTITY.md — Definición de rol
Dale a tu agente un nombre y persona:
# IDENTITY.md
- **Name**: Jarvis
- **Creature**: AI assistant with a dry sense of humor
- **Vibe**: Reliable, warm, occasionally witty
- **Emoji**: 🤖
- **Language**: Default to English, switch to user's language when they speakUSER.md — Contexto del usuario
Cuéntale al agente sobre ti:
# USER.md
- **Name**: John Doe
- **What to call them**: John
- **Timezone**: America/New_York
- **Occupation**: Software engineer
- **Preferences**:
- Likes concise answers
- Prefers TypeScript over JavaScript
- Uses Vim keybindings
- Don't disturb after 11pm unless urgent
- **Current projects**:
- Building a SaaS dashboard (React + Node)
- Learning Rust on weekendsAGENTS.md — Especificaciones de trabajo
Define reglas operativas y comportamiento de sesión:
# AGENTS.md
### Every Session
1. Read SOUL.md — remember who you are
2. Read USER.md — remember who you're helping
3. Read memory/YYYY-MM-DD.md — recent context
### Safety Rules
- Never leak private data
- Never execute destructive commands without confirmation
- When uncertain, ask before acting
### Group Chat Rules
- Don't reply to every message — quality over quantity
- Only respond when mentioned or when you can add value
- Keep responses shorter in group chats
### Tool Usage
- Prefer built-in tools over skills when possible
- Always verify file paths before writing
- Back up before destructive operationsActive Memory
Active Memory es un subagente de memoria bloqueante que se ejecuta antes de cada respuesta. Recupera preferencias, contexto y detalles históricos relevantes para enriquecer la respuesta del agente.
Cómo funciona:
- El usuario envía un mensaje
- El subagente de Active Memory ejecuta una búsqueda semántica sobre el almacén de memoria
- Los recuerdos recuperados se inyectan en el contexto del agente
- El agente principal responde con contexto enriquecido
Configuración:
{
"plugins": {
"entries": {
"active-memory": {
"enabled": true,
"agents": ["main"],
"allowedChatTypes": ["direct"],
"queryMode": "recent",
"promptStyle": "balanced",
"timeoutMs": 15000
}
}
}
}| Opción | Valores | Descripción |
|---|---|---|
queryMode | recent, semantic, hybrid | Cómo buscar en las memorias |
promptStyle | minimal, balanced, verbose | Cuánto contexto de memoria inyectar |
timeoutMs | número | Tiempo máximo para la recuperación de memoria |
Dreaming y Memory Wiki
Dreaming es el proceso de consolidación de memoria a largo plazo de OpenClaw. Igual que el sueño humano, procesa experiencias recientes y las destila en conocimiento estructurado.
Memory Wiki compila las memorias duraderas en una bóveda de conocimiento navegable usando una estructura de claim / evidence (afirmación / evidencia):
Claim: "User prefers TypeScript over JavaScript"
Evidence:
- 2026-01-15: User corrected agent to use .ts extension
- 2026-02-03: User asked to migrate project to TypeScript
- 2026-03-10: USER.md updated with TypeScript preferenceComandos de Wiki:
# Initialize the wiki vault
openclaw wiki init
# Ingest memories into the wiki
openclaw wiki ingest
# Compile and resolve contradictions
openclaw wiki compile
# Search the wiki
openclaw wiki search "TypeScript preferences"
# Get a specific claim
openclaw wiki get "user-language-preference"Configuración:
{
"plugins": {
"entries": {
"memory-wiki": {
"enabled": true,
"vaultMode": "isolated",
"renderMode": "obsidian",
"search": {
"backend": "shared"
}
}
}
}
}Sistema de memoria de cinco capas
La memoria de OpenClaw está organizada en cinco capas, de rápida/volátil a lenta/permanente:
| Capa | Nombre | Almacenamiento | Vida útil | Caso de uso |
|---|---|---|---|---|
| L0 | Contexto de sesión | En memoria | Una sesión | Conversación actual |
| L1 | Memoria diaria | memory/YYYY-MM-DD.md | Días a semanas | Lo que pasó hoy |
| L2 | Memoria a largo plazo | MEMORY.md | Permanente | Hechos importantes curados |
| L3 | Memory Wiki | Bóveda Wiki | Permanente | Afirmaciones estructuradas + evidencia |
| L4 | Conocimiento externo | Archivos, bases de datos, web | Variable | Documentación de proyecto, búsqueda web |
Flujo de datos:
Conversation → L0 (session)
↓ (end of session)
Daily notes → L1 (memory/YYYY-MM-DD.md)
↓ (periodic consolidation)
Curated facts → L2 (MEMORY.md)
↓ (wiki compile)
Structured claims → L3 (Memory Wiki)
↓ (on demand)
External lookup → L4 (files, web, databases)Mantenimiento:
- Diario: El agente escribe en L1 automáticamente
- Semanal: Revisar L1 → promover elementos importantes a L2
- Mensual: Ejecutar
openclaw wiki compilepara consolidar L2 → L3
Colaboración multiagente
Para flujos de trabajo complejos, varios agentes pueden colaborar:
Patrones de topología:
| Patrón | Descripción | Cuándo usar |
|---|---|---|
| Estrella | Un coordinador delega a N trabajadores | Uso general |
| Especialista | Cada agente posee un dominio | Límites de dominio claros |
| Reflector | Un agente produce, otro revisa | Salida crítica en calidad |
Delegación vía sesiones:
# Agent A delegates to Agent B
sessions_send --agent coding --message "Review this PR"
# Agent A spawns a child agent
sessions_spawn --agent researcher --message "Find the latest benchmarks"Principios de diseño:
- Cada agente debería tener una responsabilidad clara y no superpuesta
- Usa archivos compartidos del workspace (AGENTS.md) para las convenciones entre agentes
- Mantén la delegación explícita — el usuario debería saber cuándo se transfiere el trabajo
- Empieza con un agente; divide solo cuando te encuentres con complejidad real
Visión general de habilidades
Las habilidades son archivos de instrucciones reutilizables que enseñan a tu agente cómo hacer tareas específicas. Siguen el estándar AgentSkills y pueden instalarse desde ClawHub o escribirse a mano.
Habilidades vs herramientas vs plugins:
| Concepto | Qué es | Ejemplo |
|---|---|---|
| Habilidad (Skill) | Una metodología / SOP | ”Cómo generar un informe semanal” |
| Herramienta (Tool) | Una acción específica | exec, read_file, web_search |
| Plugin | Añade una categoría de capacidad | Plugin de Feishu, plugin de WhatsApp |
| MCP | Conecta a sistemas externos | GitHub MCP, Slack MCP |
Prioridad de carga de habilidades:
- Habilidades del workspace (
workspace/skills/) - Habilidades globales (
~/.openclaw/skills/) - Habilidades integradas (incluidas con OpenClaw)
Ecosistema ClawHub
ClawHub es el registro público de habilidades de OpenClaw, que aloja más de 5,400 habilidades comunitarias.
Explorar habilidades:
# Search for skills
openclaw skills search "web scraping"
# Get info about a specific skill
openclaw skills info deep-research
# List installed skills
openclaw skills list --eligibleFiltrado de calidad: La lista awesome-openclaw-skills mantenida por la comunidad (más de 50k estrellas) aplica filtros estrictos:
| Excluido | Cantidad |
|---|---|
| Spam / cuentas bot | 4,065 |
| Duplicados | 1,040 |
| Baja calidad | 851 |
| Cripto / finanzas | 886 |
| Maliciosos (auditoría de seguridad) | 373 |
| Total excluido | 7,215 |
Instalar y gestionar habilidades
# Install from ClawHub
openclaw skills install deep-research
# Or via ClawHub CLI (for non-workspace contexts)
npx clawhub install deep-research
# List installed skills
openclaw skills list
# Check a skill for issues
openclaw skills check deep-research
# Update all skills
openclaw skills update --all
# Disable a skill
# In openclaw.json:
# "skills": { "entries": { "deep-research": { "enabled": false } } }Instalación manual:
Copia la carpeta de la habilidad a una de estas ubicaciones:
| Ámbito | Ruta |
|---|---|
| Global | ~/.openclaw/skills/ |
| Workspace | <workspace>/skills/ |
Alternativa: Pega la URL de GitHub de una habilidad en tu chat y pide al agente que la instale.
Estructura de archivos de habilidad
Una habilidad mínima es un único archivo SKILL.md:
skills/my-skill/
├── SKILL.md # Required: instructions + frontmatter
├── skill.json # Optional: metadata
├── scripts/ # Optional: helper scripts
│ └── run.py
└── requirements.txt # Optional: dependenciesFormato de SKILL.md:
---
name: daily-report
description: Generate a daily work report from git history and task lists
---
# Daily Report Generator
When the user asks for a daily report:
1. Run `git log --since="midnight" --oneline` to get today's commits
2. Check the task list for completed items
3. Format as a structured report:
- **Completed**: items finished today
- **In Progress**: items started but not finished
- **Blocked**: items with unresolved dependencies
- **Tomorrow**: planned items for next working day
4. Send the report to the configured channelRequisitos de entorno:
---
name: my-skill
description: My custom skill
metadata:
openclaw:
requires:
bins: ["uv"]
env: ["API_KEY"]
---Categorías de habilidades populares
Skill comunitaria que rastrea una bodega de vinos — vía openclaw/openclaw
IA y programación
| Habilidad | Descripción |
|---|---|
coding-agent | Delega tareas de programación a Codex, Claude Code o agentes Pi |
github | Operaciones de GitHub: PRs, Issues, CI, búsqueda de código |
gemini | Usa Gemini CLI para asistencia de programación |
claude-code | Integración MCP para Claude Code mejorado |
Automatización de navegador
| Habilidad | Descripción |
|---|---|
browser-vision | Capturas de Chrome headless, automatización web, depuración visual |
web-scraper | Acceso a sitios anti-scraping: WeChat/Twitter/Reddit |
agent-browser | Automatización de navegador headless optimizada para agentes IA |
Búsqueda e investigación
| Habilidad | Descripción |
|---|---|
deep-research | Búsqueda multimotor + extracción web + análisis estructurado |
web-search | Búsqueda multimotor Brave Search + DuckDuckGo |
academic-research | Busca artículos académicos usando la API de OpenAlex |
Productividad
| Habilidad | Descripción |
|---|---|
notion | Integración con Notion |
obsidian | Notas de Obsidian |
apple-notes | Integración con Apple Notes |
apple-reminders | Integración con Apple Reminders |
Imagen y vídeo
| Habilidad | Descripción |
|---|---|
image-gen | Generación de texto a imagen, imagen a imagen |
video-gen | Generación de vídeo con Sora / Kling / Seedance / Veo 3 |
openai-image-gen | Generación de imágenes con DALL-E |
Hogar inteligente
| Habilidad | Descripción |
|---|---|
sonoscli | Control de altavoces Sonos |
openhue | Control de luces Philips Hue |
spotify-player | Control de reproducción de Spotify |
Desarrollo de habilidades personalizadas
Paso 1: Crear el directorio de la habilidad
mkdir -p ~/.openclaw/skills/my-skillPaso 2: Escribir SKILL.md
---
name: weather-checker
description: Check weather for any city and format a brief forecast
---
# Weather Checker
When asked about weather:
1. Use the `web_search` tool to search for "weather [city] forecast"
2. Extract: temperature, conditions, humidity, wind
3. Format as a brief, readable forecast
4. Include a recommendation (umbrella? sunscreen? jacket?)Paso 3: Probarla
Ask your agent: "What's the weather in Tokyo?"Paso 4: Publicar en ClawHub (opcional)
# Follow the ClawHub publishing guide
# Skills must pass security review before listingSeguridad y auditoría de habilidades
Trata las habilidades de terceros como código no fiable. Antes de instalar:
- Lee el código fuente —
openclaw skills info <skill>muestra los archivos de la habilidad - Comprueba los permisos — ¿solicita acceso a herramientas sensibles o variables de entorno?
- Ejecuta un escaneo de seguridad — comprueba el informe de VirusTotal en ClawHub
- Prueba en aislamiento — prueba primero la habilidad en un workspace sandboxed
Herramientas de seguridad recomendadas:
| Herramienta | Descripción |
|---|---|
| VirusTotal | Integrado en ClawHub — comprueba el informe de escaneo de cada habilidad |
| Snyk Agent Scanner | Escáner de seguridad de habilidades de código abierto |
| Agent Trust Hub | Base de datos de confianza mantenida por la comunidad |
Señales de alarma:
- Habilidades que solicitan acceso
execsin justificación clara - Habilidades que se comunican con endpoints desconocidos
- Habilidades con código ofuscado o cadenas codificadas
- Habilidades que solicitan más variables de entorno de las que su descripción sugiere
Visión general de automatización
OpenClaw proporciona cuatro pilares de automatización que permiten a tu agente actuar de forma proactiva:
| Mecanismo | Metáfora | Precisión | Caso de uso |
|---|---|---|---|
| Cron | Despertador | Programación exacta | ”Cada día a las 9am” |
| Heartbeat | Chequeo periódico | Intervalo aproximado | ”Comprobar nuevos correos cada 30 min” |
| Task Flow | Línea de montaje | Impulsado por eventos | ”Cuando se mergea un PR → desplegar → notificar” |
| Webhooks | Timbre | Instantáneo, disparador externo | ”Evento de GitHub → analizar → notificar” |
Guía de decisión:
- ¿Necesitas temporización exacta? → Cron
- ¿Múltiples comprobaciones pueden agruparse? → Heartbeat
- ¿Flujo de trabajo multistep con estado? → Task Flow
- ¿Un sistema externo dispara la acción? → Webhook
Tareas programadas con Cron
Las tareas Cron se ejecutan en un horario — la automatización más directa.
Tres tipos de programación:
{
"cron": {
"jobs": [
{
"name": "one-time-reminder",
"schedule": { "kind": "at", "at": "2026-06-20T10:00:00+08:00" },
"payload": { "kind": "agentTurn", "message": "Reminder: team meeting in 30 min" },
"sessionTarget": "isolated"
},
{
"name": "hourly-check",
"schedule": { "kind": "every", "everyMs": 3600000 },
"payload": { "kind": "agentTurn", "message": "Check for new support tickets" },
"sessionTarget": "isolated"
},
{
"name": "daily-weather",
"schedule": { "kind": "cron", "expr": "0 7 * * *", "tz": "Asia/Shanghai" },
"payload": { "kind": "agentTurn", "message": "Check today's weather and send a brief forecast" },
"sessionTarget": "isolated"
}
]
}
}Tipos de payload:
| Kind | Descripción |
|---|---|
agentTurn | Ejecuta el agente con un mensaje en una sesión aislada o principal |
systemEvent | Inyecta un evento del sistema en la sesión principal |
Gestión de trabajos cron:
openclaw cron list # List all jobs
openclaw cron run --job <id> # Trigger manually
openclaw cron runs --job <id> # View execution historyCreación en lenguaje natural (simplemente dile a tu agente):
"Create a reminder: every weekday at 9:50am, remind me standup is in 10 minutes"Heartbeat — Agente proactivo
Heartbeat hace que tu agente compruebe periódicamente si hay cosas que hacer, incluso sin intervención del usuario.
Configurar HEARTBEAT.md:
# HEARTBEAT.md
### Checks (rotate through these, don't do all every time)
- [ ] Any urgent unread emails?
- [ ] Calendar events in the next 2 hours?
- [ ] GitHub notifications needing attention?
- [ ] Weather changes worth mentioning?
### Rules
- Only notify the user if something actionable was found
- Stay quiet during 23:00-08:00 unless urgent
- If nothing notable: return HEARTBEAT_OKHeartbeat vs Cron:
| Característica | Heartbeat | Cron |
|---|---|---|
| Precisión de temporización | Aproximada (~1 min) | Exacta |
| Agrupar múltiples comprobaciones | Sí | No (una tarea por trabajo) |
| Contexto de sesión | Compartido con la sesión principal | Aislada |
| Coste de tokens | Menor (agrupado) | Mayor (sobrecarga por trabajo) |
Task Flow — Flujos de trabajo persistentes
Task Flow (v2026.4+) permite flujos de trabajo multistep y con estado que sobreviven a reinicios del gateway:
Trigger → Step 1 → Wait for condition → Step 2 → Step 3 → NotifyEjemplo: Pipeline de revisión de PR
{
"taskFlow": {
"name": "pr-review",
"trigger": { "kind": "webhook", "mapping": "github" },
"steps": [
{
"name": "analyze",
"action": "agentTurn",
"message": "Analyze this PR for security issues and code quality"
},
{
"name": "notify",
"action": "deliver",
"channel": "telegram",
"template": "PR Review: {{summary}}"
}
]
}
}Características clave:
- Persistencia de estado entre reinicios
- Gestión de errores con políticas de reintento
- Ramificación condicional
- Puertas de aprobación con humano en el bucle
Webhooks — Disparadores de eventos
Los webhooks permiten a sistemas externos disparar instantáneamente a tu agente cuando ocurren eventos.
Configuración:
{
"hooks": {
"enabled": true,
"token": "your-secret-token",
"path": "/hooks",
"defaultSessionKey": "hook:github",
"allowedAgentIds": ["main", "hooks"],
"mappings": [
{
"name": "github",
"action": "agent",
"agentId": "hooks",
"deliver": true,
"channel": "telegram",
"messageTemplate": "GitHub event: {{action}} on {{repository.full_name}}\nTitle: {{pull_request.title}}{{issue.title}}\nURL: {{pull_request.html_url}}{{issue.html_url}}"
}
]
}
}Probar con curl:
curl -X POST http://127.0.0.1:18789/hooks/github \
-H 'Authorization: Bearer your-secret-token' \
-H 'Content-Type: application/json' \
-d '{"action":"opened","pull_request":{"title":"Fix auth bug","user":{"login":"alice"},"html_url":"https://github.com/org/repo/pull/42"},"repository":{"full_name":"org/repo"}}'Seguridad:
- Genera un token aleatorio:
openssl rand -hex 24 - Usa un proxy inverso nginx para exponer solo la ruta
/hooks/ - Inyecta
Authorization: Bearer <token>a nivel de proxy
Standing Orders
Las Standing Orders son instrucciones persistentes que se aplican en todas las sesiones:
# In AGENTS.md or a dedicated file
### Standing Orders
- Always respond in the user's language
- Include code examples in TypeScript unless asked otherwise
- When summarizing, use bullet points, not paragraphs
- Check git status before suggesting file changesEstas persisten entre sesiones y reinicios, a diferencia del contexto de conversación, que es efímero.
Perfiles de herramientas
Los perfiles de herramientas controlan qué herramientas puede usar el agente:
| Perfil | Herramientas activadas | Caso de uso |
|---|---|---|
messaging | Solo chat, sin herramientas | Conversación pura |
default | Herramientas estándar (sin exec) | Uso diario seguro |
coding | Herramientas relacionadas con código | Trabajo de desarrollo |
full | Todas las herramientas incluido exec | Recomendado — capacidad total |
all | Todo, sin restricciones | Experimental |
# Switch profile
openclaw config set tools.profile full
openclaw gateway restartSi tu agente puede charlar pero no puede ejecutar comandos, comprueba que estás usando el perfil
full.
Estrategias de despliegue
Elige una estrategia de despliegue según tus necesidades:
| Estrategia | Pros | Contras | Ideal para |
|---|---|---|---|
| Portátil local | Simple, gratis | No siempre activo | Desarrollo, pruebas |
| VPS | 24/7, control total | Coste mensual, mantenimiento | Producción |
| Docker | Portátil, reproducible | Ligera sobrecarga | Cualquier servidor |
| Tailscale | Acceso remoto seguro | Configuración de red | Multidispositivo |
| Fly.io | Edge global, despliegue fácil | Coste a escala | Baja latencia |
| Escritorio en la nube | Acceso GUI, gestionado | Coste más alto | Empresas |
Despliegue con Docker
docker-compose.yml:
version: "3.8"
services:
gateway:
image: openclaw/openclaw:latest
ports:
- "18789:18789"
volumes:
- ./data:/root/.openclaw
environment:
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
restart: unless-stopped
cli:
image: openclaw/openclaw:latest
volumes:
- ./data:/root/.openclaw
profiles:
- cli
entrypoint: ["openclaw"]Buenas prácticas:
- Fija la etiqueta de la imagen de Docker (no uses
latesten producción) - Haz una instantánea del volumen de habilidades antes de actualizar
- Usa Docker secrets para las claves API en lugar de variables de entorno
- Establece límites de recursos:
mem_limit: 2g
Acceso remoto
Tailscale (recomendado)
# Install Tailscale on both server and client
curl -fsSL https://tailscale.com/install.sh | sh
tailscale up
# Access OpenClaw via Tailscale IP
# http://100.x.y.z:18789Túnel SSH
# From your laptop
ssh -L 18789:127.0.0.1:18789 user@your-server
# Then open http://127.0.0.1:18789 locallyProxy inverso nginx
server {
listen 443 ssl;
server_name claw.yourdomain.com;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
location / {
proxy_pass http://127.0.0.1:18789;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
}
}Comprobaciones de salud y monitorización
Automatización del hogar impulsada por el agente en Grafana — vía openclaw/openclaw
Comprobación rápida de salud:
openclaw status
# Shows: gateway status, connected channels, active sessions, uptimeAnálisis de logs:
# Real-time logs
openclaw gateway logs --follow
# Filter by level
openclaw gateway logs --level error
# Last 100 lines
openclaw gateway logs --tail 100Métricas clave a monitorizar:
| Métrica | Saludable | Advertencia | Crítico |
|---|---|---|---|
| Tiempo de actividad del gateway | > 24h | < 1h | Reinicios frecuentes |
| Tasa de errores de API | < 1% | 1-5% | > 5% |
| Uso de memoria | < 500 MB | 500 MB - 1 GB | > 1 GB |
| Número de sesiones | < 50 | 50-200 | > 200 |
| Conectividad de canales | Todo en verde | 1 canal caído | > 1 canal caído |
Resumen de salud automatizado: Configura un trabajo Cron para enviar un resumen diario de salud a tu canal preferido.
Proceso de actualización
# Check current version
openclaw --version
# Upgrade to latest
npm update -g openclaw
# Or install specific version
npm install -g [email protected]
# Restart gateway
openclaw gateway restartGestionar cambios disruptivos:
- Lee las notas de la versión antes de actualizar
- Haz una copia de seguridad de la configuración:
cp -r ~/.openclaw ~/.openclaw.bak - Actualiza primero en un entorno de staging si es posible
- Comprueba las claves de configuración obsoletas tras la actualización
Compatibilidad de versiones:
# Verify CLI and Gateway versions match
openclaw version --checkCopia de seguridad y recuperación
Qué respaldar:
| Ruta | Contenido |
|---|---|
~/.openclaw/openclaw.json | Configuración principal |
~/.openclaw/workspace/ | Workspace del agente (SOUL.md, USER.md, memoria) |
~/.openclaw/agents/ | Estado multiagente y perfiles de autenticación |
~/.openclaw/skills/ | Habilidades instaladas |
Script de copia de seguridad:
#!/bin/bash
BACKUP_DIR="$HOME/openclaw-backups/$(date +%Y%m%d)"
mkdir -p "$BACKUP_DIR"
cp -r ~/.openclaw/openclaw.json "$BACKUP_DIR/"
cp -r ~/.openclaw/workspace "$BACKUP_DIR/"
cp -r ~/.openclaw/agents "$BACKUP_DIR/" 2>/dev/null
tar czf "$BACKUP_DIR.tar.gz" -C "$HOME/openclaw-backups" "$(basename $BACKUP_DIR)"
rm -rf "$BACKUP_DIR"Recuperación:
# Stop gateway
openclaw gateway stop
# Restore from backup
tar xzf openclaw-backup-20260618.tar.gz -C ~/.openclaw/
# Restart
openclaw gateway startDoctor de estado y solución de problemas
Problemas comunes y soluciones:
| Problema | Síntoma | Solución |
|---|---|---|
| El agente está “mudo” | Puede charlar pero no ejecutar | Cambia al perfil de herramientas full |
| El gateway no arranca | Puerto en uso | lsof -i :18789 → mata el proceso |
| Canal desconectado | El estado muestra offline | Comprueba credenciales, reinicia el gateway |
| Uso de memoria alto | El agente se ralentiza | Limpia sesiones antiguas, reduce la retención de memoria |
| Errores de API | Limitación de tasa | Comprueba la clave API, cambia al modelo de fallback |
| Bloqueo de sesión | El agente se cuelga | openclaw sessions unlock |
Flujo de diagnóstico:
1. openclaw status → Is gateway running?
2. openclaw gateway logs → Any errors?
3. Check channel config → Are credentials valid?
4. Check model config → Is API key working?
5. Check tool profile → Is it set to 'full'?Productividad personal
Control del hogar inteligente delegado a un agente OpenClaw — vía openclaw/openclaw
Informe matutino:
# HEARTBEAT.md
### Morning (first check after 07:00)
- Check calendar for today's events
- Scan emails for urgent items
- Check weather
- Compile into a single morning brief messageClasificación de correo:
"Check my inbox and categorize emails: urgent (needs reply today),
important (needs reply this week), and FYI (no action needed).
Send me a summary of urgent items."Captura de conocimiento:
"Save this to my knowledge base: [key insight from conversation]"Asistente de programación
Monitoreo de una ejecución de Codex mediante un agente OpenClaw — vía openclaw/openclaw
Flujo de trabajo de revisión de código:
"Review the latest PR in my repo. Check for:
1. Security issues
2. Performance problems
3. Code style consistency
4. Missing tests
Give me a structured report."Scaffolding de proyecto:
"Create a new Next.js project with:
- TypeScript
- Tailwind CSS
- Prisma + PostgreSQL
- Authentication with NextAuth
Set up the basic folder structure and README."Ayudante de depuración:
"I'm getting this error: [paste error].
The relevant file is src/auth/middleware.ts.
Analyze the error, suggest a fix, and explain why it happened."Aplicaciones creativas
Roborock impulsado por una Skill — vía openclaw/openclaw
OpenClaw puede generar imágenes, vídeos, música y voz a través del CLI openclaw infer y las habilidades:
Generación de imágenes:
"Generate an image of a sunset over mountains in watercolor style"# Via CLI
openclaw infer image generate --prompt "sunset over mountains, watercolor" --model nano-banana-proGeneración de vídeo:
openclaw infer video generate --prompt "ocean waves at sunset" --model kling-v2Texto a voz:
openclaw infer tts --text "Hello, this is your AI assistant" --voice "alloy"Integración con ComfyUI: Para flujos de trabajo avanzados de imagen, conecta OpenClaw a una instancia local de ComfyUI para pipelines personalizados (ControlNet, IP-Adapter, etc.).
Recetas de integración con Feishu
Tarjetas interactivas
Feishu soporta tarjetas de mensaje interactivas ricas:
{
"msg_type": "interactive",
"card": {
"header": {
"title": { "tag": "plain_text", "content": "Daily Report" },
"template": "blue"
},
"elements": [
{
"tag": "markdown",
"content": "**Completed:** 5 tasks\n**In Progress:** 2 tasks\n**Blocked:** 1 task"
},
{
"tag": "action",
"actions": [
{ "tag": "button", "text": { "tag": "plain_text", "content": "View Details" }, "type": "primary" }
]
}
]
}
}Tarjeta de revisión semanal
Automatiza las revisiones semanales con una tarjeta que muestre:
- Tareas completadas esta semana
- Tareas planificadas para la próxima semana
- Bloqueadores y riesgos
- Botones de aprobar/rechazar con un clic
Manejadores de callback de tarjetas
Gestiona los clics de botón y los envíos de formularios desde las tarjetas:
{
"hooks": {
"mappings": [
{
"name": "feishu-card",
"action": "agent",
"agentId": "main",
"messageTemplate": "Card action: {{action.tag}} by {{operator.user_id}} on card {{token}}"
}
]
}
}Gestión de correo y calendario
Automatización de correo:
# Cron job: every 2 hours during work hours
{
"name": "email-check",
"schedule": { "kind": "cron", "expr": "0 9-18/2 * * 1-5", "tz": "America/New_York" },
"payload": {
"kind": "agentTurn",
"message": "Check my inbox for new emails. Summarize anything urgent. For newsletters, add a one-line summary to my reading list."
}
}Programación inteligente:
"Look at my calendar for next week.
Find a 2-hour block for deep work.
If there isn't one, suggest reshuffling low-priority meetings."Integración de voz
OpenClaw se puede ampliar con TTS local para salida de voz:
Integración con Voicebox (totalmente offline):
- Instala el motor Voicebox TTS
- Descarga un modelo TTS (p. ej. Qwen3-TTS)
- Configura un servicio proxy FastAPI
- Configura OpenClaw para usar el endpoint TTS local
Clonación de voz:
1. Collect 10-30 seconds of clean audio sample
2. Upload to Voicebox for voice extraction
3. Configure the cloned voice in OpenClaw's TTS settingsBeneficios del TTS local:
- Coste cero (sin llamadas API)
- Latencia cero (se ejecuta en tu máquina)
- Privacidad total (el audio nunca sale del dispositivo)
- Soporte de clonación de voz personalizada
Flujo de trabajo de emprendedor en solitario
OpenClaw puede impulsar un negocio de una sola persona con flujos de trabajo automatizados:
Pipeline de contenido:
Topic Research → Draft Writing → Review → Distribution → Analytics- Investigación: El agente busca temas en tendencia en tu nicho
- Borrador: El agente escribe un primer borrador basado en tu guía de estilo
- Revisión: Tú revisas y apruebas (o pides cambios)
- Distribución: El agente publica en el blog, redes sociales, newsletter
- Analítica: El agente hace un seguimiento del engagement e informa semanalmente
Entrega al cliente:
Client Request → Task Breakdown → Execution → QA → Delivery → Follow-upFacturación y seguimiento automatizados:
# Cron: first of every month
"Generate invoices for all billable hours logged last month.
Send to clients via email.
Follow up on any unpaid invoices from 30+ days ago."