Files
opencode-config/opencode.jsonc

120 lines
3.1 KiB
JSON

{
"$schema": "https://opencode.ai/config.json",
"autoupdate": false,
"theme": "system",
"model": "cpa-anthropic/claude-sonnet-4-5",
"small_model": "cpa-google/gemini-3-flash",
"plugin": [
"oh-my-opencode@latest",
"@tarquinen/opencode-dcp@beta",
"@franlol/opencode-md-table-formatter@latest"
],
"mcp": {
"deepwiki": {
"type": "remote",
"url": "https://mcp.deepwiki.com/mcp"
},
"shadcn": {
"type": "local",
"command": ["bun", "x", "--bun", "shadcn", "mcp"]
},
"tanstack": {
"type": "remote",
"url": "https://tanstack.com/api/mcp"
},
"figma": {
"type": "remote",
"url": "http://127.0.0.1:3845/mcp"
}
},
"provider": {
// ref: https://models.dev/
"cpa-anthropic": {
"name": "CPA Anthropic",
"npm": "@ai-sdk/anthropic",
"options": {
"baseURL": "https://cpa.furtherverse.com/v1",
"apiKey": "{env:CPA_API_KEY}"
},
"models": {
"claude-opus-4-5": {
"name": "Claude Opus 4.5",
"reasoning": true,
"modalities": {
"input": ["text", "image", "pdf"],
"output": ["text"]
},
"limit": { "context": 200000, "output": 64000 }
},
"claude-sonnet-4-5": {
"name": "Claude Sonnet 4.5",
"reasoning": false,
"modalities": {
"input": ["text", "image", "pdf"],
"output": ["text"]
},
"limit": { "context": 200000, "output": 64000 }
}
}
},
"cpa-google": {
"name": "CPA Google",
"npm": "@ai-sdk/google",
"options": {
"baseURL": "https://cpa.furtherverse.com/v1beta",
"apiKey": "{env:CPA_API_KEY}"
},
"models": {
"gemini-3-pro": {
"name": "Gemini 3 Pro",
"reasoning": true,
"modalities": {
"input": ["text", "image", "video", "audio", "pdf"],
"output": ["text"]
},
"limit": { "context": 1048576, "output": 65536 }
},
"gemini-3-flash": {
"name": "Gemini 3 Flash",
"reasoning": true,
"modalities": {
"input": ["text", "image", "video", "audio", "pdf"],
"output": ["text"]
},
"limit": { "context": 1048576, "output": 65536 }
}
}
},
"cpa-openai": {
"name": "CPA OpenAI",
"npm": "@ai-sdk/openai",
"options": {
"baseURL": "https://cpa.furtherverse.com/v1",
"apiKey": "{env:CPA_API_KEY}",
"setCacheKey": true
},
"models": {
"gpt-5.2": {
"name": "GPT-5.2",
"reasoning": true,
"modalities": {
"input": ["text", "image"],
"output": ["text"]
},
"limit": { "context": 400000, "output": 128000 }
},
"gpt-5.2-codex": {
"name": "GPT-5.2-Codex",
"reasoning": true,
"modalities": {
"input": ["text", "image"],
"output": ["text"]
},
"limit": { "context": 400000, "output": 128000 }
}
}
}
},
"disabled_providers": ["opencode"]
}