mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-02 12:51:34 +00:00
* feat(plugins): catch code-mode drift between catalogs sharing one model Adds a contract test that groups bundled catalog rows by shared upstream model and requires every row in a group to declare compat.codeMode once any sibling does. Rows sharing a model id group automatically; rows under different ids opt in with the new manifest-only `upstreamModel` marker. Moves the kimi catalog into its manifest so the scan can see it, and records the tier reseller catalogs were silently missing as explicit "capable". * docs: regenerate docs map for the shared-model code-mode section
133 lines
3.3 KiB
JSON
133 lines
3.3 KiB
JSON
{
|
|
"id": "opencode-go",
|
|
"icon": "https://cdn.simpleicons.org/opencode",
|
|
"activation": {
|
|
"onStartup": false
|
|
},
|
|
"providerCatalogEntry": "./provider-discovery.ts",
|
|
"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,
|
|
"thinkingLevelMap": {
|
|
"minimal": "high",
|
|
"low": "high",
|
|
"medium": "high",
|
|
"high": "high",
|
|
"xhigh": "max",
|
|
"max": "max"
|
|
},
|
|
"input": ["text"],
|
|
"contextWindow": 1000000,
|
|
"maxTokens": 384000,
|
|
"cost": {
|
|
"input": 0.435,
|
|
"output": 0.87,
|
|
"cacheRead": 0.003625,
|
|
"cacheWrite": 0
|
|
},
|
|
"compat": {
|
|
"supportsUsageInStreaming": true,
|
|
"supportsReasoningEffort": true,
|
|
"maxTokensField": "max_tokens",
|
|
"codeMode": "capable"
|
|
}
|
|
},
|
|
{
|
|
"id": "deepseek-v4-flash",
|
|
"name": "DeepSeek V4 Flash",
|
|
"reasoning": true,
|
|
"thinkingLevelMap": {
|
|
"minimal": "high",
|
|
"low": "high",
|
|
"medium": "high",
|
|
"high": "high",
|
|
"xhigh": "max",
|
|
"max": "max"
|
|
},
|
|
"input": ["text"],
|
|
"contextWindow": 1000000,
|
|
"maxTokens": 384000,
|
|
"cost": {
|
|
"input": 0.14,
|
|
"output": 0.28,
|
|
"cacheRead": 0.0028,
|
|
"cacheWrite": 0
|
|
},
|
|
"compat": {
|
|
"supportsUsageInStreaming": true,
|
|
"supportsReasoningEffort": true,
|
|
"maxTokensField": "max_tokens",
|
|
"codeMode": "capable"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"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",
|
|
"appGuidedSecret": true,
|
|
"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": {}
|
|
}
|
|
}
|