mirror of
https://github.com/openclaw/openclaw.git
synced 2026-06-22 22:48:11 +00:00
Summary: - Add a shared live provider catalog runtime for SDK-backed providers. - Route OpenAI, xAI, OpenCode Go, Chutes, DeepInfra, Venice, NVIDIA, and Vercel AI Gateway live model discovery through the shared helper. - Remove duplicated provider-local live catalog caching and harden auth marker stripping, empty live-result retries, and OpenAI custom-base-url handling. Verification: - node scripts/run-vitest.mjs extensions/openai/openai-provider.test.ts src/plugin-sdk/provider-catalog-live-runtime.test.ts src/commands/models/list.source-plan.test.ts extensions/opencode-go/index.test.ts extensions/nvidia/provider-catalog.test.ts - pnpm plugin-sdk:api:check - pnpm lint --threads=8 - pnpm run lint:extensions:bundled - pnpm run test:extensions:package-boundary:compile - pnpm check:import-cycles - pnpm exec oxfmt --check extensions/openai/openai-provider.ts extensions/openai/openai-provider.test.ts - git diff --check origin/main...HEAD - autoreview clean: no accepted/actionable findings reported - AWS Crabbox focused remote proof: run_364680d1bff8 / cbx_2456fffafe01 - Earlier same-PR AWS Crabbox live proof: run_1f05ccab368e / cbx_7375c79fcf9b Known proof gap: - Final current-code true live-provider smoke was blocked by Crabbox secret hydration, documented in the PR proof comment.
112 lines
2.7 KiB
JSON
112 lines
2.7 KiB
JSON
{
|
|
"id": "opencode-go",
|
|
"activation": {
|
|
"onStartup": false
|
|
},
|
|
"enabledByDefault": true,
|
|
"providers": ["opencode-go"],
|
|
"providerEndpoints": [
|
|
{
|
|
"endpointClass": "opencode-native",
|
|
"hostSuffixes": ["opencode.ai"]
|
|
}
|
|
],
|
|
"providerRequest": {
|
|
"providers": {
|
|
"opencode-go": {
|
|
"family": "opencode"
|
|
}
|
|
}
|
|
},
|
|
"modelCatalog": {
|
|
"providers": {
|
|
"opencode-go": {
|
|
"baseUrl": "https://opencode.ai/zen/go/v1",
|
|
"api": "openai-completions",
|
|
"models": [
|
|
{
|
|
"id": "deepseek-v4-pro",
|
|
"name": "DeepSeek V4 Pro",
|
|
"reasoning": true,
|
|
"input": ["text"],
|
|
"contextWindow": 1000000,
|
|
"maxTokens": 384000,
|
|
"cost": {
|
|
"input": 1.74,
|
|
"output": 3.48,
|
|
"cacheRead": 0.145,
|
|
"cacheWrite": 0
|
|
},
|
|
"compat": {
|
|
"supportsUsageInStreaming": true,
|
|
"supportsReasoningEffort": true,
|
|
"maxTokensField": "max_tokens"
|
|
}
|
|
},
|
|
{
|
|
"id": "deepseek-v4-flash",
|
|
"name": "DeepSeek V4 Flash",
|
|
"reasoning": true,
|
|
"input": ["text"],
|
|
"contextWindow": 1000000,
|
|
"maxTokens": 384000,
|
|
"cost": {
|
|
"input": 0.14,
|
|
"output": 0.28,
|
|
"cacheRead": 0.028,
|
|
"cacheWrite": 0
|
|
},
|
|
"compat": {
|
|
"supportsUsageInStreaming": true,
|
|
"supportsReasoningEffort": true,
|
|
"maxTokensField": "max_tokens"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"discovery": {
|
|
"opencode-go": "runtime"
|
|
}
|
|
},
|
|
"setup": {
|
|
"providers": [
|
|
{
|
|
"id": "opencode-go",
|
|
"envVars": ["OPENCODE_API_KEY", "OPENCODE_ZEN_API_KEY"]
|
|
}
|
|
]
|
|
},
|
|
"providerAuthChoices": [
|
|
{
|
|
"provider": "opencode-go",
|
|
"method": "api-key",
|
|
"choiceId": "opencode-go",
|
|
"choiceLabel": "OpenCode Go catalog",
|
|
"groupId": "opencode",
|
|
"groupLabel": "OpenCode",
|
|
"groupHint": "Shared API key for Zen + Go catalogs",
|
|
"optionKey": "opencodeGoApiKey",
|
|
"cliFlag": "--opencode-go-api-key",
|
|
"cliOption": "--opencode-go-api-key <key>",
|
|
"cliDescription": "OpenCode API key (Go catalog)"
|
|
}
|
|
],
|
|
"contracts": {
|
|
"mediaUnderstandingProviders": ["opencode-go"]
|
|
},
|
|
"mediaUnderstandingProviderMetadata": {
|
|
"opencode-go": {
|
|
"capabilities": ["image"],
|
|
"defaultModels": {
|
|
"image": "kimi-k2.6"
|
|
}
|
|
}
|
|
},
|
|
"configSchema": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {}
|
|
}
|
|
}
|