> ## Documentation Index
> Fetch the complete documentation index at: https://docs.capriole.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# OpenClaw

> Configura OpenClaw para usar Capriole AI.

## Qué es OpenClaw

OpenClaw es un asistente de IA personal y gateway de código abierto, autoalojado, que conecta canales de chat como WhatsApp, Slack, Discord, Telegram, iMessage y WebChat con agentes de IA. Puede enviar solicitudes de modelo compatibles a través de Capriole AI al configurar proveedores de modelo personalizados compatibles con OpenAI y Anthropic.

## Requisitos previos

Antes de empezar, asegúrate de tener:

* Una cuenta de Capriole AI ([Regístrate aquí](https://capriole.ai))
* Una clave API de Capriole AI ([Obtén tu clave](https://capriole.ai?view=api))

## Instalación

```bash theme={null}
curl -fsSL https://openclaw.ai/install.sh | bash -s -- --no-onboard
```

## Configuración

Configura el proveedor GPT:

```bash theme={null}
export CUSTOM_API_KEY="YOUR_CAPRIOLE_AI_API_KEY"
export CAPRIOLE_OPENAI_BASE_URL="https://api.caprioletech.com/v1"

openclaw onboard --non-interactive \
  --accept-risk \
  --mode local \
  --auth-choice custom-api-key \
  --custom-base-url "$CAPRIOLE_OPENAI_BASE_URL" \
  --custom-model-id "openai-latest" \
  --custom-provider-id "capriole-ai-openai" \
  --custom-compatibility openai \
  --secret-input-mode ref \
  --gateway-port 18789 \
  --gateway-bind loopback \
  --skip-channels \
  --skip-search \
  --skip-skills \
  --skip-health \
  --no-install-daemon

openclaw config set models.providers.capriole-ai-openai.request.auth \
  '{"mode":"authorization-bearer","token":"${CUSTOM_API_KEY}"}' \
  --strict-json

openclaw config set models.providers.capriole-ai-openai.api \
  '"openai-responses"' \
  --strict-json

openclaw config set models.providers.capriole-ai-openai.models \
  '[
    {
      "id": "openai-latest",
      "name": "OpenAI latest",
      "api": "openai-responses",
      "contextWindow": 400000,
      "maxTokens": 128000,
      "input": ["text"],
      "reasoning": true,
      "cost": {"input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0}
    },
    {
      "id": "openai/gpt-5.6-terra",
      "name": "GPT 5.6 Thinking",
      "api": "openai-responses",
      "contextWindow": 1050000,
      "maxTokens": 128000,
      "input": ["text"],
      "reasoning": true,
      "cost": {"input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0}
    },
    {
      "id": "openai/gpt-5.6-luna",
      "name": "GPT 5.6",
      "api": "openai-responses",
      "contextWindow": 1050000,
      "maxTokens": 128000,
      "input": ["text"],
      "reasoning": true,
      "cost": {"input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0}
    },
    {
      "id": "openai/gpt-5.5",
      "name": "GPT 5.5",
      "api": "openai-responses",
      "contextWindow": 400000,
      "maxTokens": 128000,
      "input": ["text"],
      "reasoning": true,
      "cost": {"input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0}
    },
    {
      "id": "openai/gpt-5.4-mini",
      "name": "GPT 5.4 mini",
      "api": "openai-responses",
      "contextWindow": 400000,
      "maxTokens": 128000,
      "input": ["text"],
      "reasoning": true,
      "cost": {"input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0}
    }
  ]' \
  --strict-json
```

Configura el proveedor de Chat Completions para Claude, Grok, GLM y Kimi:

```bash theme={null}
export CUSTOM_API_KEY="YOUR_CAPRIOLE_AI_API_KEY"

openclaw config set models.providers.capriole-ai-compatible \
  '{
    "baseUrl": "https://api.caprioletech.com/v1",
    "apiKey": "${CUSTOM_API_KEY}",
    "api": "openai-completions",
    "models": [
      {
        "id": "anthropic/claude-fable-5",
        "name": "Fable 5",
        "api": "openai-completions",
        "contextWindow": 1000000,
        "maxTokens": 128000,
        "input": ["text"],
        "reasoning": true,
        "cost": {"input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0}
      },
      {
        "id": "anthropic/claude-opus-5",
        "name": "Opus 5",
        "api": "openai-completions",
        "contextWindow": 1000000,
        "maxTokens": 128000,
        "input": ["text"],
        "reasoning": true,
        "cost": {"input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0}
      },
      {
        "id": "xai/grok-4.5",
        "name": "Grok 4.5",
        "api": "openai-completions",
        "contextWindow": 500000,
        "maxTokens": 128000,
        "input": ["text"],
        "reasoning": true,
        "cost": {"input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0}
      },
      {
        "id": "zai/glm-5.2",
        "name": "GLM 5.2",
        "api": "openai-completions",
        "contextWindow": 1000000,
        "maxTokens": 128000,
        "input": ["text"],
        "reasoning": true,
        "cost": {"input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0}
      },
      {
        "id": "moonshot/kimi-k3",
        "name": "Kimi K3",
        "api": "openai-completions",
        "contextWindow": 1048576,
        "maxTokens": 131072,
        "input": ["text"],
        "reasoning": true,
        "cost": {"input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0}
      }
    ]
  }' \
  --strict-json
```

Configura el proveedor Anthropic:

```bash theme={null}
export CUSTOM_API_KEY="YOUR_CAPRIOLE_AI_API_KEY"
export CAPRIOLE_ANTHROPIC_BASE_URL="https://api.caprioletech.com"

openclaw onboard --non-interactive \
  --accept-risk \
  --mode local \
  --auth-choice custom-api-key \
  --custom-base-url "$CAPRIOLE_ANTHROPIC_BASE_URL" \
  --custom-model-id "claude-latest" \
  --custom-provider-id "capriole-ai-anthropic" \
  --custom-compatibility anthropic \
  --secret-input-mode ref \
  --gateway-port 18789 \
  --gateway-bind loopback \
  --skip-channels \
  --skip-search \
  --skip-skills \
  --skip-health \
  --no-install-daemon

openclaw config set models.providers.capriole-ai-anthropic.request.auth \
  '{"mode":"authorization-bearer","token":"${CUSTOM_API_KEY}"}' \
  --strict-json

openclaw config set models.providers.capriole-ai-anthropic.api \
  '"anthropic-messages"' \
  --strict-json

openclaw config set models.providers.capriole-ai-anthropic.models \
  '[
    {
      "id": "claude-latest",
      "name": "Claude latest",
      "api": "anthropic-messages",
      "contextWindow": 1000000,
      "maxTokens": 128000,
      "input": ["text"],
      "reasoning": true,
      "cost": {"input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0}
    },
    {
      "id": "claude-fable-5",
      "name": "Fable 5",
      "api": "anthropic-messages",
      "contextWindow": 1000000,
      "maxTokens": 128000,
      "input": ["text"],
      "reasoning": true,
      "cost": {"input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0}
    },
    {
      "id": "claude-opus-5",
      "name": "Opus 5",
      "api": "anthropic-messages",
      "contextWindow": 1000000,
      "maxTokens": 128000,
      "input": ["text"],
      "reasoning": true,
      "cost": {"input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0}
    },
    {
      "id": "claude-opus-4-8",
      "name": "Opus 4.8",
      "api": "anthropic-messages",
      "contextWindow": 200000,
      "maxTokens": 32000,
      "input": ["text"],
      "reasoning": true,
      "cost": {"input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0}
    },
    {
      "id": "claude-opus-4-7",
      "name": "Opus 4.7",
      "api": "anthropic-messages",
      "contextWindow": 200000,
      "maxTokens": 32000,
      "input": ["text"],
      "reasoning": true,
      "cost": {"input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0}
    },
    {
      "id": "claude-opus-4-6",
      "name": "Opus 4.6",
      "api": "anthropic-messages",
      "contextWindow": 200000,
      "maxTokens": 32000,
      "input": ["text"],
      "reasoning": true,
      "cost": {"input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0}
    },
    {
      "id": "claude-sonnet-4-6",
      "name": "Sonnet 4.6",
      "api": "anthropic-messages",
      "contextWindow": 200000,
      "maxTokens": 32000,
      "input": ["text"],
      "reasoning": true,
      "cost": {"input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0}
    }
  ]' \
  --strict-json
```

Permite los modelos de Capriole AI configurados para el agente por defecto:

```bash theme={null}
openclaw config set agents.defaults.models \
  '{"capriole-ai-openai/openai-latest":{},"capriole-ai-openai/openai/gpt-5.6-terra":{},"capriole-ai-openai/openai/gpt-5.6-luna":{},"capriole-ai-openai/openai/gpt-5.5":{},"capriole-ai-openai/openai/gpt-5.4-mini":{},"capriole-ai-compatible/anthropic/claude-fable-5":{},"capriole-ai-compatible/anthropic/claude-opus-5":{},"capriole-ai-compatible/xai/grok-4.5":{},"capriole-ai-compatible/zai/glm-5.2":{},"capriole-ai-compatible/moonshot/kimi-k3":{},"capriole-ai-anthropic/claude-latest":{},"capriole-ai-anthropic/claude-fable-5":{},"capriole-ai-anthropic/claude-opus-5":{},"capriole-ai-anthropic/claude-opus-4-8":{},"capriole-ai-anthropic/claude-opus-4-7":{},"capriole-ai-anthropic/claude-opus-4-6":{},"capriole-ai-anthropic/claude-sonnet-4-6":{}}' \
  --strict-json
```

## Ejecutar OpenClaw

Inicia el gateway:

```bash theme={null}
export CUSTOM_API_KEY="YOUR_CAPRIOLE_AI_API_KEY"
openclaw gateway --force --port 18789
```

Abre la TUI en otra terminal:

```bash theme={null}
export CUSTOM_API_KEY="YOUR_CAPRIOLE_AI_API_KEY"
openclaw tui
```

## Modelos compatibles

OpenClaw admite OpenAI latest, GPT 5.6 Thinking, GPT 5.6, GPT 5.5, GPT 5.4 mini, Fable 5, Opus 5, Grok 4.5, GLM 5.2, Kimi K3, Claude latest, Opus 4.8, Opus 4.7, Opus 4.6 y Sonnet 4.6 a través de Capriole AI. Fable 5 y Opus 5 pueden usar el proveedor compatible con Chat Completions o el proveedor de Anthropic Messages.

* `openai-latest`
* `openai/gpt-5.6-terra`
* `openai/gpt-5.6-luna`
* `openai/gpt-5.5`
* `openai/gpt-5.4-mini`
* `anthropic/claude-fable-5`
* `anthropic/claude-opus-5`
* `xai/grok-4.5`
* `zai/glm-5.2`
* `moonshot/kimi-k3`
* `claude-latest`
* `claude-fable-5`
* `claude-opus-5`
* `claude-opus-4-8`
* `claude-opus-4-7`
* `claude-opus-4-6`
* `claude-sonnet-4-6`

## Solución de problemas

### ¿Por qué fallan las solicitudes de GPT?

Confirma que `models.providers.capriole-ai-openai.api` está definido como `"openai-responses"` y que `baseUrl` es `https://api.caprioletech.com/v1`.

### ¿Por qué fallan las solicitudes de Grok, GLM o Kimi?

Confirma que `models.providers.capriole-ai-compatible.api` está definido como `"openai-completions"` y que `baseUrl` es `https://api.caprioletech.com/v1`.

### ¿Por qué fallan las solicitudes de Anthropic?

Confirma que `models.providers.capriole-ai-anthropic.api` está definido como `"anthropic-messages"` y que el `baseUrl` de Anthropic es `https://api.caprioletech.com` sin `/v1`.

### ¿Por qué falla la autenticación?

Exporta `CUSTOM_API_KEY` en la terminal que inicia `openclaw gateway` y en la terminal que inicia `openclaw tui`.

### ¿Por qué OpenClaw indica que un modelo no está permitido o no está disponible?

Ejecuta `openclaw models list` y luego confirma que el modelo seleccionado y cualquier lista de permitidos de `agents.defaults.models` incluyen la referencia de modelo de Capriole AI, como `capriole-ai-openai/openai-latest`, `capriole-ai-compatible/xai/grok-4.5`, `capriole-ai-compatible/moonshot/kimi-k3` o `capriole-ai-anthropic/claude-latest`.

Si un modelo de Capriole AI aparece como ausente, actualiza la entrada del modelo con el objeto completo que se muestra arriba. Las versiones actuales de OpenClaw necesitan más que `id` y `name` para los modelos de proveedores personalizados.

### ¿Por qué no arranca el gateway?

Ejecuta `openclaw status`, `openclaw gateway status`, `openclaw logs --follow` y `openclaw doctor`. Corrige problemas de esquema, de `gateway.mode` o de servicio antes de reintentar.

### ¿Por qué falla el puerto `18789`?

Elige otro puerto local y usa el mismo puerto para el gateway y la configuración del cliente. En instalaciones en modo servicio, ejecuta `openclaw doctor --fix` o `openclaw gateway install --force` después de cambiar el puerto.

## Notas

* Los proveedores personalizados de OpenClaw requieren que el modo de API del proveedor coincida con la familia de endpoints de Capriole AI.
* OpenClaw 2026.4.21 completa flujos de trabajo de la herramienta local `exec` con Grok 4.5, GLM 5.2 y Kimi K3 a través de `openai-completions`.
* Capriole AI gestiona la solicitud de modelo. OpenClaw puede seguir dando forma al comportamiento final del asistente a través de su gateway, canales y ajustes de agente.
* Referencias oficiales: [OpenClaw install](https://docs.openclaw.ai/install), [OpenClaw custom providers](https://docs.openclaw.ai/gateway/config-tools), [OpenClaw model providers](https://documentation.openclaw.ai/concepts/model-providers) y [OpenClaw troubleshooting](https://docs.openclaw.ai/gateway/troubleshooting).
