Install OpenClaw
curl -fsSL https://openclaw.ai/install.sh | bash -s -- --no-onboard
Configure OpenAI-compatible models
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/gpt-5.4" \
--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
Configure Anthropic-compatible models
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-opus-4-7" \
--custom-provider-id "capriole-ai-claude" \
--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-claude.request.auth \
'{"mode":"authorization-bearer","token":"${CUSTOM_API_KEY}"}' \
--strict-json
Start OpenClaw
Start the gateway:export CUSTOM_API_KEY="YOUR_CAPRIOLE_AI_API_KEY"
openclaw gateway --force --port 18789
export CUSTOM_API_KEY="YOUR_CAPRIOLE_AI_API_KEY"
openclaw tui