Files
openclaw/extensions/opencode-go/openclaw.plugin.json
Jason (Json) 57e0bdaabe feat: add live provider model catalog helper
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.
2026-06-07 14:16:00 -07:00

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": {}
}
}