feat(agent): unify models and validate OpenCode providers

Generate chat, task and learning models from agent-models.json.
Use WaterNetwork fast/expert models with 272k context and validate
upstream names before readiness. Add an isolated model check command
with signal-safe cleanup and plugin, Skill and MCP management docs.

Verified in isolation: type checks, 26 focused tests and both model
catalog checks; no model inference requests.
This commit is contained in:
2026-10-09 11:28:37 +08:00
parent 75d8d526f9
commit d58bd19039
30 changed files with 1125 additions and 469 deletions
-76
View File
@@ -1,6 +1,5 @@
{
"$schema": "https://opencode.ai/config.json",
"model": "deepseek/deepseek-flash",
"default_agent": "instruction",
"permissions": [
{
@@ -304,81 +303,6 @@
"effect": "ask"
}
],
"providers": {
"deepseek": {
"name": "DeepSeek",
"env": [
"DEEPSEEK_API_KEY"
],
"package": "@opencode/ai/providers/openai-compatible",
"settings": {
"baseURL": "https://api.deepseek.com/v1",
"apiKey": "{env:DEEPSEEK_API_KEY}"
},
"models": {
"deepseek-flash": {
"name": "deepseek-flash",
"capabilities": {
"tools": true,
"input": [
"text"
],
"output": [
"text"
]
},
"limit": {
"context": 1000000,
"output": 393216
},
"compatibility": {
"reasoningField": "reasoning_content",
"requireReasoning": true
}
},
"deepseek-v4-flash": {
"name": "deepseek-v4-flash",
"capabilities": {
"tools": true,
"input": [
"text"
],
"output": [
"text"
]
},
"limit": {
"context": 1000000,
"output": 393216
},
"compatibility": {
"reasoningField": "reasoning_content",
"requireReasoning": true
}
},
"deepseek-v4-pro": {
"name": "deepseek-v4-pro",
"capabilities": {
"tools": true,
"input": [
"text"
],
"output": [
"text"
]
},
"limit": {
"context": 1000000,
"output": 393216
},
"compatibility": {
"reasoningField": "reasoning_content",
"requireReasoning": true
}
}
}
}
},
"mcp": {
"timeout": {
"startup": 10000,