slug: agents
Supported Agents
OAR supports the agents below out of the box. Point any of them at the local proxy port and route through one of the four routing methods.
| Agent | Protocol | Recommended base_url |
|---|---|---|
| Claude Code | Anthropic Messages | /agent/claude/v1/messages or /project/xxx/v1/messages |
| OpenAI Codex | Codex Responses | /group/coding/v1/completions or /project/xxx/v1/completions |
| Hermes | OpenAI Chat Completions | /project/xxx/v1/chat/completions |
| OpenClaw | Custom | /project/xxx/v1/chat/completions |
| OpenAI SDK | OpenAI Chat Completions | /agent/hermes/v1/chat/completions |
| Gemini CLI | Google AI | /project/xxx/v1/models |
| Claude Desktop | Anthropic Messages | /agent/claude-desktop/v1/messages or /project/xxx/v1/messages |
| OpenCode | OpenAI Chat Completions | /project/xxx/v1/chat/completions |
| Kimi Code | OpenAI Chat Completions | /project/xxx/v1/chat/completions |
| Qwen Code | OpenAI Chat Completions | /project/xxx/v1/chat/completions |
| GitHub Copilot CLI | OpenAI Chat Completions | /project/xxx/v1/chat/completions |
Claude Code
Claude Code speaks the Anthropic Messages protocol. Set its base_url to a project route and the model field to whatever alias you've mapped (e.g. claude-sonnet-4). OAR handles the rest — including falling back to an OpenAI-protocol model in the same group when Claude is rate-limited.
OpenAI Codex
Codex uses the Codex Responses protocol. Through the r2o and r2a adapters it can reach any OpenAI- or Anthropic-protocol model.
Hermes
Hermes speaks OpenAI Chat Completions — the most widely supported protocol. Project routes are recommended.
OpenClaw
OpenClaw uses a custom protocol. Project routes work; the adapter layer handles conversion.
OpenAI SDK
Any client built on the OpenAI SDK (Python, Node, Go) can point at an agent route. The SDK only needs a base_url and an API key — OAR accepts any key string here since real keys live in the key pool.
Gemini CLI
Gemini CLI speaks Google AI. The g2o and g2a adapters let it reach OpenAI- and Anthropic-protocol upstreams.
Claude Desktop
Claude Desktop is a GUI app that uses Anthropic Messages through a 3P gateway profile. OAR writes the gateway profile to Claude's configLibrary directory. Claude Desktop only discovers models with claude-sonnet-*, claude-opus-*, claude-haiku-*, or claude-fable-* names — assign aliases in your group to match these patterns.
OpenCode
OpenCode supports custom providers via @ai-sdk/openai-compatible. OAR registers as a provider named oar in opencode.json. Both agent-level and project-level configs are supported.
Kimi Code
Kimi Code uses TOML config (~/.kimi-code/config.toml). OAR creates a provider named oar with model aliases prefixed oar/. Project-level uses env var wrapper scripts since Kimi Code doesn't support project config files.
Qwen Code
Qwen Code is a fork of Gemini CLI and uses ~/.qwen/settings.json. OAR registers under the openai model provider. Both agent-level and project-level configs are supported.
GitHub Copilot CLI
Copilot CLI uses env vars instead of a config file. OAR writes ~/.copilot/.oar-env and sources it from .zshrc/.bashrc (conda-style pattern). Project-level creates wrapper scripts (copilot / copilot.cmd) that export env vars then exec copilot.
First-run auto-scan
On first launch OAR can scan your local config files and pre-create platform instances with their API keys:
| Source | Scan path |
|---|---|
| Hermes | ~/.hermes/config.yaml + .env + auth.json |
| Claude Code | ~/.claude.json + project-level CLAUDE.md |
| Claude Desktop | ~/Library/Application Support/Claude-3p/configLibrary/*.json |
| Codex | ~/.codex/config.json |
| OpenCode | ~/.config/opencode/opencode.json + project-level opencode.json |
| OpenClaw | database + config files |
| Gemini CLI | ~/.gemini/settings.json |
| Kimi Code | ~/.kimi-code/config.toml |
| Qwen Code | ~/.qwen/settings.json |
| GitHub Copilot CLI | ~/.copilot/.oar-env + shell profile |
Scan results are presented for confirmation before anything is written to SQLite — you stay in control.
A single group can hold Claude Sonnet (Anthropic), GLM-5.2 (OpenAI) and DeepSeek V4 (OpenAI) at once. The adapter layer makes the protocol differences invisible to the agent.
That's the full agent matrix. Head back to the Quickstart to wire up your first route.