Skip to main content
This guide is for self-hosted OpenClaw users who want to connect AI Sonar as their AI provider.

Overview

For current OpenClaw versions, the recommended approach is to configure AI Sonar through models.providers. If you just want to get started quickly, configuring aisonar alone is enough. Add the other providers only when you explicitly need Responses API, Claude native, Gemini native, or MiniMax native behavior.
ProviderOpenClaw apiBest forbaseUrl
aisonaropenai-completionsGPT, DeepSeek, Qwen, and most OpenAI-compatible callshttps://api.aisonar.dev/v1
aisonar-responsesopenai-responsesOpenAI Responses workflows that expect /v1/responses semanticshttps://api.aisonar.dev/v1
aisonar-claudeanthropic-messagesNative Claude Messages APIhttps://api.aisonar.dev
aisonar-geminigoogle-generative-aiNative Gemini API formathttps://api.aisonar.dev
aisonar-minimaxanthropic-messagesNative MiniMax routinghttps://api.aisonar.dev
Use the /v1 suffix only for openai-completions and openai-responses.Native providers such as anthropic-messages and google-generative-ai should use https://api.aisonar.dev without /v1, otherwise OpenClaw may construct the wrong upstream path.

Prerequisites

  • A self-hosted OpenClaw instance
  • A AI Sonar API Key — Get one here

Configuration

Edit your OpenClaw config:
  • Self-hosted: ~/.openclaw/openclaw.json
Add AI Sonar providers under models.providers:
{
  agents: {
    defaults: {
      model: {
        primary: "aisonar-claude/claude-sonnet-4-6"
      }
    }
  },
  models: {
    mode: "merge",
    providers: {
      aisonar: {
        api: "openai-completions",
        baseUrl: "https://api.aisonar.dev/v1",
        apiKey: "sk-your-api-key",
        models: [
          { id: "gpt-4o", name: "GPT-4o" },
          { id: "deepseek-r1", name: "DeepSeek R1" },
          { id: "qwen3-32b", name: "Qwen 3 32B" }
        ]
      },
      "aisonar-responses": {
        api: "openai-responses",
        baseUrl: "https://api.aisonar.dev/v1",
        apiKey: "sk-your-api-key",
        models: [
          { id: "gpt-4o", name: "GPT-4o (Responses)" },
          { id: "gpt-5.2", name: "GPT-5.2 (Responses)" }
        ]
      },
      "aisonar-claude": {
        api: "anthropic-messages",
        baseUrl: "https://api.aisonar.dev",
        apiKey: "sk-your-api-key",
        models: [
          { id: "claude-sonnet-4-6", name: "Claude Sonnet 4.6" },
          { id: "claude-opus-4-6", name: "Claude Opus 4.6" }
        ]
      },
      "aisonar-gemini": {
        api: "google-generative-ai",
        baseUrl: "https://api.aisonar.dev",
        apiKey: "sk-your-api-key",
        models: [
          { id: "gemini-2.5-flash", name: "Gemini 2.5 Flash" },
          { id: "gemini-3-flash-preview", name: "Gemini 3 Flash Preview" }
        ]
      },
      "aisonar-minimax": {
        api: "anthropic-messages",
        baseUrl: "https://api.aisonar.dev",
        apiKey: "sk-your-api-key",
        models: [
          { id: "minimax-m1", name: "MiniMax M1" }
        ]
      }
    }
  }
}
All 5 providers use the same API Key. You only need one AI Sonar account.
The models arrays above only show common examples. Add more model IDs to each provider as needed.

Using Models

OpenClaw still references models with the provider/model format:
{
  agents: {
    defaults: {
      model: {
        primary: "aisonar-gemini/gemini-2.5-flash"
      }
    }
  }
}

Model Examples

ProviderModel referenceDescription
aisonaraisonar/gpt-4oOpenAI-compatible route
aisonaraisonar/deepseek-r1DeepSeek reasoning model
aisonar-responsesaisonar-responses/gpt-4oResponses API route
aisonar-claudeaisonar-claude/claude-sonnet-4-6Native Claude Messages route
aisonar-geminiaisonar-gemini/gemini-2.5-flashNative Gemini route
aisonar-minimaxaisonar-minimax/minimax-m1Native MiniMax route
Browse all available models at aisonar.dev/models.

When to Use Which Provider

  • aisonar: default choice for most general-purpose agent and chat use cases.
  • aisonar-responses: use when your OpenClaw workflow explicitly depends on OpenAI Responses semantics.
  • aisonar-claude: use when you want Claude’s native Messages behavior.
  • aisonar-gemini: use when you want Gemini-native request/response formatting or existing Gemini-style integrations.
  • aisonar-minimax: use when you want MiniMax on its native route.
If you do not need Gemini-native behavior, you can still call Gemini models through aisonar/gemini-* on the OpenAI-compatible route.

Common Mistakes

Current OpenClaw docs use models.providers. If you keep the older top-level providers array format, OpenClaw may ignore the config or fail to resolve the provider prefixes as expected.
openai-responses maps to AI Sonar’s /v1/responses path, so aisonar-responses must use https://api.aisonar.dev/v1.
anthropic-messages and google-generative-ai should use https://api.aisonar.dev without /v1. Adding /v1 can produce incorrect request paths.
Yes. Current OpenClaw documentation still includes the built-in google provider and also supports custom providers using api: "google-generative-ai". So aisonar-gemini remains a valid native Gemini route for OpenClaw users.

Verify Setup

After saving the config, restart your OpenClaw instance and test with a simple message. If you see a response, the provider is configured correctly.
# Self-hosted: restart the service
systemctl --user restart openclaw    # Linux
launchctl stop cc.aisonar.openclaw && launchctl start cc.aisonar.openclaw  # macOS

Next Steps

Once OpenClaw is connected, these guides help you use AI Sonar more effectively: