mirror of
https://github.com/openclaw/openclaw.git
synced 2026-10-03 09:39:25 +00:00
## What Problem This Solves Connect saves supported accounts from Models and Model Setup without a model request. Registered-page coverage and shared test scaffolding account for most of this diff. ## Why This Change Was Made Both pages use the existing connection inventory and controller. Connection and agent checks retire stale replies. Full setup retains its explicit verification action. ## User Impact Supported browser/device sign-ins appear in Connect. Titles retain the selected service. Errors show a neutral summary. Closed Details retain the diagnostic and accumulated provider recovery instructions for Connect and full setup. ## Evidence [UI captures](https://github.com/openclaw/openclaw/pull/148864#issuecomment-5676200017) cover setup and errors. [Real Radius sign-in](https://github.com/openclaw/openclaw/pull/148864#issuecomment-5676320225) saved one account; 27 models remained visible after reload, with zero observed generation. No live catalog fetch is claimed. ## Compatibility Existing metadata fields only. Seven packed-runtime cases and 12 reader checks pass. Production growth is 156 lines for shared inventory loading, page wiring and presentation. ## Consumers Models and Model Setup share the connection controller. Channel login uses registered eligibility. ## Invalidation Connection and agent changes cancel pending inventory. Completion refreshes the page. ## Tests 136 UI unit tests and 19 browser cases pass. Gateway, provider and package proof remains applicable to unchanged owner code. Type-aware preflight, lint, formatting, UI build and size checks pass. Real Telegram Test Server flows for Radius and Copilot cover repeat, cancel, save and model menus with synthetic provider responses. Each saves one credential and makes zero generation attempts.  Co-authored-by: Ayaan Zaidi <hi@obviy.us>
188 lines
4.9 KiB
JSON
188 lines
4.9 KiB
JSON
{
|
|
"id": "chutes",
|
|
"categories": ["models"],
|
|
"activation": {
|
|
"onStartup": false
|
|
},
|
|
"enabledByDefault": true,
|
|
"providers": ["chutes"],
|
|
"modelPricing": {
|
|
"providers": {
|
|
"chutes": { "chutes": { "provider": "chutes" } }
|
|
}
|
|
},
|
|
"providerEndpoints": [
|
|
{
|
|
"endpointClass": "chutes-native",
|
|
"hosts": ["llm.chutes.ai"]
|
|
}
|
|
],
|
|
"providerRequest": {
|
|
"providers": {
|
|
"chutes": {
|
|
"family": "chutes"
|
|
}
|
|
}
|
|
},
|
|
"setup": {
|
|
"providers": [
|
|
{
|
|
"id": "chutes",
|
|
"envVars": ["CHUTES_API_KEY", "CHUTES_OAUTH_TOKEN"]
|
|
}
|
|
]
|
|
},
|
|
"providerAuthChoices": [
|
|
{
|
|
"provider": "chutes",
|
|
"method": "oauth",
|
|
"choiceId": "chutes",
|
|
"appGuidedAuth": "oauth",
|
|
"credentialOnly": true,
|
|
"choiceLabel": "Chutes (OAuth)",
|
|
"choiceHint": "Browser sign-in",
|
|
"groupId": "chutes",
|
|
"groupLabel": "Chutes",
|
|
"groupHint": "OAuth + API key"
|
|
},
|
|
{
|
|
"provider": "chutes",
|
|
"method": "api-key",
|
|
"choiceId": "chutes-api-key",
|
|
"appGuidedSecret": true,
|
|
"choiceLabel": "Chutes API key",
|
|
"choiceHint": "Open-source models including Llama, DeepSeek, and more",
|
|
"groupId": "chutes",
|
|
"groupLabel": "Chutes",
|
|
"groupHint": "OAuth + API key",
|
|
"optionKey": "chutesApiKey",
|
|
"cliFlag": "--chutes-api-key",
|
|
"cliOption": "--chutes-api-key <key>",
|
|
"cliDescription": "Chutes API key"
|
|
}
|
|
],
|
|
"configSchema": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {}
|
|
},
|
|
"modelCatalog": {
|
|
"modelsDev": {
|
|
"chutes": "chutes"
|
|
},
|
|
"providers": {
|
|
"chutes": {
|
|
"baseUrl": "https://llm.chutes.ai/v1",
|
|
"api": "openai-completions",
|
|
"defaultModel": "zai-org/GLM-5.2-TEE",
|
|
"models": [
|
|
{
|
|
"id": "deepseek-ai/DeepSeek-V3.2-TEE",
|
|
"name": "deepseek-ai/DeepSeek-V3.2-TEE",
|
|
"reasoning": true,
|
|
"input": ["text"],
|
|
"contextWindow": 131072,
|
|
"maxTokens": 65536,
|
|
"cost": {
|
|
"input": 1,
|
|
"output": 1,
|
|
"cacheRead": 0.09999999999999998,
|
|
"cacheWrite": 0
|
|
}
|
|
},
|
|
{
|
|
"id": "moonshotai/Kimi-K2.6-TEE",
|
|
"name": "moonshotai/Kimi-K2.6-TEE",
|
|
"reasoning": true,
|
|
"input": ["text", "image"],
|
|
"contextWindow": 262144,
|
|
"maxTokens": 65535,
|
|
"cost": {
|
|
"input": 0.58,
|
|
"output": 3.4,
|
|
"cacheRead": 0.05799999999999998,
|
|
"cacheWrite": 0
|
|
}
|
|
},
|
|
{
|
|
"id": "moonshotai/Kimi-K2.5-TEE",
|
|
"name": "moonshotai/Kimi-K2.5-TEE",
|
|
"reasoning": true,
|
|
"input": ["text", "image"],
|
|
"contextWindow": 262144,
|
|
"maxTokens": 65535,
|
|
"cost": {
|
|
"input": 0.44,
|
|
"output": 2,
|
|
"cacheRead": 0.22,
|
|
"cacheWrite": 0
|
|
},
|
|
"status": "deprecated",
|
|
"replacedBy": "moonshotai/Kimi-K2.6-TEE"
|
|
},
|
|
{
|
|
"id": "zai-org/GLM-5.2-TEE",
|
|
"name": "zai-org/GLM-5.2-TEE",
|
|
"reasoning": true,
|
|
"input": ["text"],
|
|
"contextWindow": 1048576,
|
|
"maxTokens": 65535,
|
|
"cost": {
|
|
"input": 1.25,
|
|
"output": 3.95,
|
|
"cacheRead": 0.12499999999999997,
|
|
"cacheWrite": 0
|
|
}
|
|
},
|
|
{
|
|
"id": "MiniMaxAI/MiniMax-M2.5-TEE",
|
|
"name": "MiniMaxAI/MiniMax-M2.5-TEE",
|
|
"reasoning": true,
|
|
"input": ["text"],
|
|
"contextWindow": 196608,
|
|
"maxTokens": 65536,
|
|
"cost": {
|
|
"input": 0.15,
|
|
"output": 1.2,
|
|
"cacheRead": 0.075,
|
|
"cacheWrite": 0
|
|
}
|
|
},
|
|
{
|
|
"id": "Qwen/Qwen3.6-27B-TEE",
|
|
"name": "Qwen/Qwen3.6-27B-TEE",
|
|
"reasoning": true,
|
|
"input": ["text", "image"],
|
|
"contextWindow": 262144,
|
|
"maxTokens": 65536,
|
|
"cost": {
|
|
"input": 0.3,
|
|
"output": 2,
|
|
"cacheRead": 0.029999999999999992,
|
|
"cacheWrite": 0
|
|
}
|
|
},
|
|
{
|
|
"id": "Qwen/Qwen3.5-397B-A17B-TEE",
|
|
"name": "Qwen/Qwen3.5-397B-A17B-TEE",
|
|
"reasoning": true,
|
|
"input": ["text", "image"],
|
|
"contextWindow": 262144,
|
|
"maxTokens": 65536,
|
|
"cost": {
|
|
"input": 0.45,
|
|
"output": 3,
|
|
"cacheRead": 0.04499999999999999,
|
|
"cacheWrite": 0
|
|
},
|
|
"status": "deprecated",
|
|
"replacedBy": "Qwen/Qwen3.6-27B-TEE"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"discovery": {
|
|
"chutes": "refreshable"
|
|
}
|
|
}
|
|
}
|