Adds .aurelio/providers/registry.yaml as the one source of truth for every provider the fleet exposes (openrouter, openai-codex, nous, zai, kimi-coding, kimi-coding-cn, minimax, minimax-cn, bedrock, openai, anthropic, gemini, moonshot, qwen, qwen-code, alibaba-cloud, claude-code, antigravity, mimocode, local). Each entry carries kind/auth/protocol/models/context/surfaces/streaming + fallback. scripts/generate-provider-mirrors.py emits three generated mirrors under .aurelio/providers/dist/ and can patch Dirac's providers.json in place: - portal.providers.json -> aurelio-theia ProviderCatalog / Gabinete Hub - mcp.providers.json -> model_router.py runtime registry - dirac.providers.json -> Dirac picker shape --check exits non-zero when dist/ is stale (CI guard).
316 lines
9.1 KiB
JSON
316 lines
9.1 KiB
JSON
{
|
|
"version": 1,
|
|
"generatedFrom": ".aurelio/providers/registry.yaml",
|
|
"fallback": [
|
|
"kimi-coding",
|
|
"qwen-code",
|
|
"gemini",
|
|
"anthropic",
|
|
"openai",
|
|
"minimax",
|
|
"zai",
|
|
"openrouter"
|
|
],
|
|
"providers": [
|
|
{
|
|
"id": "openrouter",
|
|
"label": "OpenRouter",
|
|
"kind": "api",
|
|
"protocol": "openai",
|
|
"auth": "api_key",
|
|
"keyEnv": "OPENROUTER_API_KEY",
|
|
"baseUrl": "https://openrouter.ai/api/v1",
|
|
"defaultModel": "anthropic/claude-sonnet-4",
|
|
"embeddingModel": null,
|
|
"maxContext": 200000,
|
|
"streaming": true,
|
|
"fallback": true,
|
|
"notes": "Meta-router; reaches any upstream model."
|
|
},
|
|
{
|
|
"id": "openai-codex",
|
|
"label": "ChatGPT Subscription (Codex OAuth)",
|
|
"kind": "oauth",
|
|
"protocol": "openai",
|
|
"auth": "oauth",
|
|
"keyEnv": null,
|
|
"baseUrl": "https://chatgpt.com/backend-api/codex",
|
|
"defaultModel": "gpt-5-codex",
|
|
"embeddingModel": null,
|
|
"maxContext": 200000,
|
|
"streaming": true,
|
|
"fallback": true,
|
|
"notes": "OAuth via `hermes auth`. No API key."
|
|
},
|
|
{
|
|
"id": "nous",
|
|
"label": "Nous Portal",
|
|
"kind": "oauth",
|
|
"protocol": "openai",
|
|
"auth": "oauth",
|
|
"keyEnv": null,
|
|
"baseUrl": "https://inference-api.nousresearch.com/v1",
|
|
"defaultModel": "Hermes-4-70B",
|
|
"embeddingModel": null,
|
|
"maxContext": 131072,
|
|
"streaming": true,
|
|
"fallback": true,
|
|
"notes": "NousResearch OAuth subscription."
|
|
},
|
|
{
|
|
"id": "zai",
|
|
"label": "Z.AI / GLM",
|
|
"kind": "api",
|
|
"protocol": "openai",
|
|
"auth": "api_key",
|
|
"keyEnv": "ZAI_API_KEY",
|
|
"baseUrl": "https://api.z.ai/api/paas/v4",
|
|
"defaultModel": "glm-4.6",
|
|
"embeddingModel": null,
|
|
"maxContext": 128000,
|
|
"streaming": true,
|
|
"fallback": true,
|
|
"notes": "Z.AI (GLM) OpenAI-compatible."
|
|
},
|
|
{
|
|
"id": "kimi-coding",
|
|
"label": "Kimi for Coding",
|
|
"kind": "api",
|
|
"protocol": "openai",
|
|
"auth": "api_key",
|
|
"keyEnv": "KIMI_API_KEY",
|
|
"baseUrl": "https://api.moonshot.ai/v1",
|
|
"defaultModel": "kimi-k2-0905-preview",
|
|
"embeddingModel": null,
|
|
"maxContext": 131072,
|
|
"streaming": true,
|
|
"fallback": true,
|
|
"notes": "Moonshot Kimi; alias of the existing `kimi`/`moonshot` ids in Dirac."
|
|
},
|
|
{
|
|
"id": "kimi-coding-cn",
|
|
"label": "Kimi for Coding (China)",
|
|
"kind": "api",
|
|
"protocol": "openai",
|
|
"auth": "api_key",
|
|
"keyEnv": "KIMI_CN_API_KEY",
|
|
"baseUrl": "https://api.moonshot.cn/v1",
|
|
"defaultModel": "kimi-k2-0905-preview",
|
|
"embeddingModel": null,
|
|
"maxContext": 131072,
|
|
"streaming": true,
|
|
"fallback": true,
|
|
"notes": "China-region Moonshot endpoint."
|
|
},
|
|
{
|
|
"id": "minimax",
|
|
"label": "MiniMax",
|
|
"kind": "api",
|
|
"protocol": "openai",
|
|
"auth": "api_key",
|
|
"keyEnv": "MINIMAX_API_KEY",
|
|
"baseUrl": "https://api.minimax.io/v1",
|
|
"defaultModel": "MiniMax-M2",
|
|
"embeddingModel": null,
|
|
"maxContext": 200000,
|
|
"streaming": true,
|
|
"fallback": true,
|
|
"notes": ""
|
|
},
|
|
{
|
|
"id": "minimax-cn",
|
|
"label": "MiniMax (China)",
|
|
"kind": "api",
|
|
"protocol": "openai",
|
|
"auth": "api_key",
|
|
"keyEnv": "MINIMAX_CN_API_KEY",
|
|
"baseUrl": "https://api.minimaxi.com/v1",
|
|
"defaultModel": "MiniMax-M2",
|
|
"embeddingModel": null,
|
|
"maxContext": 200000,
|
|
"streaming": true,
|
|
"fallback": true,
|
|
"notes": ""
|
|
},
|
|
{
|
|
"id": "bedrock",
|
|
"label": "Amazon Bedrock",
|
|
"kind": "api",
|
|
"protocol": "bedrock-converse",
|
|
"auth": "iam",
|
|
"keyEnv": null,
|
|
"baseUrl": null,
|
|
"defaultModel": "anthropic.claude-sonnet-4-20250514-v1:0",
|
|
"embeddingModel": "amazon.titan-embed-text-v2:0",
|
|
"maxContext": 200000,
|
|
"streaming": true,
|
|
"fallback": true,
|
|
"notes": "Uses boto3/IAM, not an API key. Python router shells to boto3."
|
|
},
|
|
{
|
|
"id": "openai",
|
|
"label": "OpenAI",
|
|
"kind": "api",
|
|
"protocol": "openai",
|
|
"auth": "api_key",
|
|
"keyEnv": "OPENAI_API_KEY",
|
|
"baseUrl": "https://api.openai.com/v1",
|
|
"defaultModel": "gpt-4o",
|
|
"embeddingModel": "text-embedding-3-large",
|
|
"maxContext": 128000,
|
|
"streaming": true,
|
|
"fallback": true,
|
|
"notes": ""
|
|
},
|
|
{
|
|
"id": "anthropic",
|
|
"label": "Anthropic",
|
|
"kind": "api",
|
|
"protocol": "anthropic",
|
|
"auth": "api_key",
|
|
"keyEnv": "ANTHROPIC_API_KEY",
|
|
"baseUrl": "https://api.anthropic.com/v1",
|
|
"defaultModel": "claude-sonnet-4-20250514",
|
|
"embeddingModel": null,
|
|
"maxContext": 200000,
|
|
"streaming": true,
|
|
"fallback": true,
|
|
"notes": ""
|
|
},
|
|
{
|
|
"id": "gemini",
|
|
"label": "Google Gemini",
|
|
"kind": "api",
|
|
"protocol": "gemini",
|
|
"auth": "api_key",
|
|
"keyEnv": "GEMINI_API_KEY",
|
|
"baseUrl": "https://generativelanguage.googleapis.com/v1beta",
|
|
"defaultModel": "gemini-2.5-pro",
|
|
"embeddingModel": "text-embedding-004",
|
|
"maxContext": 1000000,
|
|
"streaming": true,
|
|
"fallback": true,
|
|
"notes": ""
|
|
},
|
|
{
|
|
"id": "moonshot",
|
|
"label": "Moonshot",
|
|
"kind": "api",
|
|
"protocol": "openai",
|
|
"auth": "api_key",
|
|
"keyEnv": "MOONSHOT_API_KEY",
|
|
"baseUrl": "https://api.moonshot.ai/v1",
|
|
"defaultModel": "moonshot-v1-128k",
|
|
"embeddingModel": null,
|
|
"maxContext": 128000,
|
|
"streaming": true,
|
|
"fallback": true,
|
|
"notes": "Distinct Dirac id from kimi-coding; kept for backwards compatibility."
|
|
},
|
|
{
|
|
"id": "qwen",
|
|
"label": "Alibaba Qwen (DashScope)",
|
|
"kind": "api",
|
|
"protocol": "openai",
|
|
"auth": "api_key",
|
|
"keyEnv": "DASHSCOPE_API_KEY",
|
|
"baseUrl": "https://dashscope.aliyuncs.com/compatible-mode/v1",
|
|
"defaultModel": "qwen-max",
|
|
"embeddingModel": "text-embedding-v3",
|
|
"maxContext": 131072,
|
|
"streaming": true,
|
|
"fallback": true,
|
|
"notes": "Alibaba Cloud Model Studio (DashScope) OpenAI-compatible endpoint."
|
|
},
|
|
{
|
|
"id": "qwen-code",
|
|
"label": "Qwen Code (Alibaba Cloud)",
|
|
"kind": "api",
|
|
"protocol": "openai",
|
|
"auth": "api_key",
|
|
"keyEnv": "DASHSCOPE_API_KEY",
|
|
"baseUrl": "https://dashscope.aliyuncs.com/compatible-mode/v1",
|
|
"defaultModel": "qwen3-coder-plus",
|
|
"embeddingModel": null,
|
|
"maxContext": 131072,
|
|
"streaming": true,
|
|
"fallback": true,
|
|
"notes": "Qwen Code CLI default model via DashScope; shares DASHSCOPE_API_KEY."
|
|
},
|
|
{
|
|
"id": "alibaba-cloud",
|
|
"label": "Alibaba Cloud (Model Studio)",
|
|
"kind": "api",
|
|
"protocol": "openai",
|
|
"auth": "api_key",
|
|
"keyEnv": "ALIBABA_CLOUD_API_KEY",
|
|
"baseUrl": "https://dashscope-intl.aliyuncs.com/compatible-mode/v1",
|
|
"defaultModel": "qwen-max",
|
|
"embeddingModel": "text-embedding-v3",
|
|
"maxContext": 131072,
|
|
"streaming": true,
|
|
"fallback": true,
|
|
"notes": "Generic Alibaba Cloud Model Studio umbrella (intl endpoint). Qwen/Qwen-Code are the concrete aliases; this entry exists so the portal can expose a single \"Alibaba Cloud\" offering."
|
|
},
|
|
{
|
|
"id": "claude-code",
|
|
"label": "Claude Code",
|
|
"kind": "cli-subprocess",
|
|
"protocol": "subprocess",
|
|
"auth": "oauth",
|
|
"keyEnv": null,
|
|
"baseUrl": null,
|
|
"defaultModel": "claude-sonnet-4-20250514",
|
|
"embeddingModel": null,
|
|
"maxContext": 200000,
|
|
"streaming": true,
|
|
"fallback": false,
|
|
"notes": "Invokes the `claude` CLI; inherits its logged-in OAuth session."
|
|
},
|
|
{
|
|
"id": "antigravity",
|
|
"label": "Antigravity CLI",
|
|
"kind": "cli-subprocess",
|
|
"protocol": "portal",
|
|
"auth": "oauth",
|
|
"keyEnv": "ANTIGRAVITY_API_KEY",
|
|
"baseUrl": "https://antigravity.portugalfuturista.org",
|
|
"defaultModel": "antigravity-default",
|
|
"embeddingModel": null,
|
|
"maxContext": 200000,
|
|
"streaming": false,
|
|
"fallback": true,
|
|
"notes": "Google Antigravity. Local CLI at ~/.gemini/antigravity-cli; portal endpoint for the hosted relay."
|
|
},
|
|
{
|
|
"id": "mimocode",
|
|
"label": "Xiaomi MiMo Code",
|
|
"kind": "cli-subprocess",
|
|
"protocol": "subprocess",
|
|
"auth": "api_key",
|
|
"keyEnv": "MIMOCODE_API_KEY",
|
|
"baseUrl": null,
|
|
"defaultModel": "mimocoder",
|
|
"embeddingModel": null,
|
|
"maxContext": 131072,
|
|
"streaming": false,
|
|
"fallback": false,
|
|
"notes": "Xiaomi MiMo coding agent. Local install at .mimocode/ (npm). API shape is provisional pending upstream docs."
|
|
},
|
|
{
|
|
"id": "local",
|
|
"label": "Local (Ollama / sentence-transformers)",
|
|
"kind": "local",
|
|
"protocol": "openai",
|
|
"auth": "none",
|
|
"keyEnv": null,
|
|
"baseUrl": "http://127.0.0.1:11434",
|
|
"defaultModel": "qwen2.5-coder:14b",
|
|
"embeddingModel": "all-MiniLM-L6-v2",
|
|
"maxContext": 32768,
|
|
"streaming": true,
|
|
"fallback": true,
|
|
"notes": "No key. Embeddings run via sentence-transformers in the MCP router."
|
|
}
|
|
]
|
|
}
|