1
0
forked from agents/opencode

refactor: 拆分 litellm 统一提供商为独立 provider 配置

This commit is contained in:
2026-02-28 10:25:20 +08:00
parent 2d6c198df8
commit f886e6b440
3 changed files with 50 additions and 41 deletions

View File

@@ -1,6 +1,7 @@
# Provider # Provider
LITELLM_BASE_URL=https://ai.furtherverse.com
LITELLM_API_KEY= LITELLM_API_KEY=
BAILIAN_API_KEY=sk-sp-xxxxxxxx BAILIAN_API_KEY=
# MCP # MCP
EXA_API_KEY= EXA_API_KEY=

View File

@@ -1,26 +1,26 @@
{ {
"$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json", "$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json",
"agents": { "agents": {
"sisyphus": { "model": "litellm/claude-opus-4-6", "variant": "max" }, "sisyphus": { "model": "anthropic/claude-opus-4-6", "variant": "max" },
"hephaestus": { "model": "litellm/gpt-5.3-codex", "variant": "medium" }, "hephaestus": { "model": "openai/gpt-5.3-codex", "variant": "medium" },
"oracle": { "model": "litellm/gpt-5.2", "variant": "high" }, "oracle": { "model": "openai/gpt-5.2", "variant": "high" },
"librarian": { "model": "bailian-coding-plan/MiniMax-M2.5" }, "librarian": { "model": "bailian-coding-plan/MiniMax-M2.5" },
"explore": { "model": "bailian-coding-plan/MiniMax-M2.5" }, "explore": { "model": "bailian-coding-plan/MiniMax-M2.5" },
"multimodal-looker": { "model": "bailian-coding-plan/kimi-k2.5" }, "multimodal-looker": { "model": "bailian-coding-plan/kimi-k2.5" },
"prometheus": { "model": "litellm/claude-opus-4-6", "variant": "max" }, "prometheus": { "model": "anthropic/claude-opus-4-6", "variant": "max" },
"metis": { "model": "litellm/claude-opus-4-6", "variant": "max" }, "metis": { "model": "anthropic/claude-opus-4-6", "variant": "max" },
"momus": { "model": "litellm/gpt-5.2", "variant": "medium" }, "momus": { "model": "openai/gpt-5.2", "variant": "medium" },
"atlas": { "model": "bailian-coding-plan/kimi-k2.5" }, "atlas": { "model": "bailian-coding-plan/kimi-k2.5" },
"sisyphus-junior": { "model": "litellm/claude-sonnet-4-6" } "sisyphus-junior": { "model": "anthropic/claude-sonnet-4-6" }
}, },
"categories": { "categories": {
"visual-engineering": { "model": "litellm/gemini-3.1-pro-preview", "variant": "high" }, "visual-engineering": { "model": "google/gemini-3.1-pro-preview", "variant": "high" },
"ultrabrain": { "model": "litellm/gpt-5.3-codex", "variant": "xhigh" }, "ultrabrain": { "model": "openai/gpt-5.3-codex", "variant": "xhigh" },
"deep": { "model": "litellm/gpt-5.3-codex", "variant": "medium" }, "deep": { "model": "openai/gpt-5.3-codex", "variant": "medium" },
"artistry": { "model": "litellm/gemini-3.1-pro-preview", "variant": "high" }, "artistry": { "model": "google/gemini-3.1-pro-preview", "variant": "high" },
"quick": { "model": "litellm/claude-haiku-4-5" }, "quick": { "model": "anthropic/claude-haiku-4-5" },
"unspecified-low": { "model": "litellm/claude-sonnet-4-6" }, "unspecified-low": { "model": "anthropic/claude-sonnet-4-6" },
"unspecified-high": { "model": "litellm/claude-opus-4-6", "variant": "max" }, "unspecified-high": { "model": "anthropic/claude-opus-4-6", "variant": "max" },
"writing": { "model": "bailian-coding-plan/kimi-k2.5" } "writing": { "model": "bailian-coding-plan/kimi-k2.5" }
}, },
"git_master": { "git_master": {

View File

@@ -1,20 +1,16 @@
{ {
"$schema": "https://opencode.ai/config.json", "$schema": "https://opencode.ai/config.json",
"autoupdate": false, "autoupdate": false,
"model": "litellm/claude-opus-4-6", "model": "anthropic/claude-opus-4-6",
"small_model": "litellm/claude-haiku-4-5", "small_model": "anthropic/claude-haiku-4-5",
"plugin": ["oh-my-opencode@latest"], "plugin": ["oh-my-opencode@latest"],
"provider": { "provider": {
"litellm": { "anthropic": {
"name": "LiteLLM",
"npm": "@ai-sdk/openai-compatible",
"options": { "options": {
"baseURL": "https://ai.furtherverse.com/v1", "baseURL": "{env:LITELLM_BASE_URL}/v1",
"apiKey": "{env:LITELLM_API_KEY}", "apiKey": "{env:LITELLM_API_KEY}"
"setCacheKey": true
}, },
"models": { "models": {
// Anthropic
"claude-opus-4-6": { "claude-opus-4-6": {
"name": "Claude Opus 4.6", "name": "Claude Opus 4.6",
"reasoning": true, "reasoning": true,
@@ -32,23 +28,15 @@
"reasoning": true, "reasoning": true,
"modalities": { "input": ["text", "image", "pdf"], "output": ["text"] }, "modalities": { "input": ["text", "image", "pdf"], "output": ["text"] },
"limit": { "context": 200000, "output": 64000 } "limit": { "context": 200000, "output": 64000 }
}, }
}
// Google },
"gemini-3.1-pro-preview": { "openai": {
"name": "Gemini 3.1 Pro", "options": {
"reasoning": true, "baseURL": "{env:LITELLM_BASE_URL}/v1",
"modalities": { "input": ["text", "image", "video", "audio", "pdf"], "output": ["text"] }, "apiKey": "{env:LITELLM_API_KEY}"
"limit": { "context": 1048576, "output": 65536 } },
}, "models": {
"gemini-3-flash-preview": {
"name": "Gemini 3 Flash",
"reasoning": true,
"modalities": { "input": ["text", "image", "video", "audio", "pdf"], "output": ["text"] },
"limit": { "context": 1048576, "output": 65536 }
},
// OpenAI
"gpt-5.2": { "gpt-5.2": {
"name": "GPT-5.2", "name": "GPT-5.2",
"reasoning": true, "reasoning": true,
@@ -63,6 +51,26 @@
} }
} }
}, },
"google": {
"options": {
"baseURL": "{env:LITELLM_BASE_URL}/v1beta",
"apiKey": "{env:LITELLM_API_KEY}"
},
"models": {
"gemini-3.1-pro-preview": {
"name": "Gemini 3.1 Pro",
"reasoning": true,
"modalities": { "input": ["text", "image", "video", "audio", "pdf"], "output": ["text"] },
"limit": { "context": 1048576, "output": 65536 }
},
"gemini-3-flash-preview": {
"name": "Gemini 3 Flash",
"reasoning": true,
"modalities": { "input": ["text", "image", "video", "audio", "pdf"], "output": ["text"] },
"limit": { "context": 1048576, "output": 65536 }
}
}
},
"bailian-coding-plan": { "bailian-coding-plan": {
"npm": "@ai-sdk/anthropic", "npm": "@ai-sdk/anthropic",
"name": "Model Studio Coding Plan", "name": "Model Studio Coding Plan",