replica-omnisciente/.aurelio/providers/dist/portal.providers.json
fabiorafaelcoutada dff3ecebc8 feat(providers): single-source registry driving Hermes/Dirac/MCP/portal surfaces
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).
2026-07-10 22:39:08 +01:00

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."
}
]
}