Compare commits

...

33 Commits

Author SHA1 Message Date
fe4d4f2c83 merge upstream 2026-03-06 06:36:13 +00:00
edb4d1504f chore: 添加 GPT-5.4 模型定义 2026-03-06 10:25:16 +08:00
9c5bfe4c86 chore: 升级 OpenAI 模型至 GPT-5.4 2026-03-06 10:20:28 +08:00
1a25662a90 merge upstream 2026-03-05 02:22:37 +00:00
e441ac80b2 chore: 更新 litellm provider 名称与 npm 包 2026-03-04 23:24:14 +08:00
fc042a48c5 chore: 统一 qwen3-max 模型键名 2026-03-04 22:53:36 +08:00
c893707c94 chore: 更新代理模型配置并统一 MiniMax 键名 2026-03-04 22:43:12 +08:00
b297f3b713 merge upstream 2026-03-04 10:15:55 +00:00
0c95def9f1 style: 调整 VSCode settings 配置项顺序 2026-03-04 16:58:59 +08:00
fc15e5d63f chore: 移除 BAILIAN_API_KEY 环境变量示例 2026-03-04 16:40:27 +08:00
5d8b068604 chore: 更新 provider 与代理模型映射
将部分代理模型切换到 litellm、Gemini 和 Sonnet 配置,以统一接入方式并匹配新的模型来源。
2026-03-04 16:07:49 +08:00
bc349dd01c chore: 将主题从 system 修改为 everforest 2026-03-02 13:31:33 +08:00
6e81723e4f chore: 将 .env 文件添加到 .gitignore 2026-03-02 13:31:21 +08:00
e9fb5713b1 chore: 移除 sisypus-junior 代理配置 2026-03-01 20:32:02 +08:00
200c3fe5f8 chore: 添加实验性配置并调整配置项顺序 2026-03-01 01:43:34 +08:00
e7aeec46f2 refactor: 调整百炼模型配置顺序,移动 Qwen 系列至末尾 2026-02-28 16:37:33 +08:00
ff6d5f89be chore: 为 provider 配置添加 npm 包声明 2026-02-28 15:44:50 +08:00
f886e6b440 refactor: 拆分 litellm 统一提供商为独立 provider 配置 2026-02-28 10:25:20 +08:00
2d6c198df8 chore: 更新代理模型配置与整理模型定义 2026-02-28 09:45:47 +08:00
571f658c0c refactor: 调整模型配置顺序,移动 Gemini 3 Flash 至末尾 2026-02-28 09:04:39 +08:00
a9a279f068 chore: 更新代理模型配置 2026-02-27 22:32:31 +08:00
6d78aef5a4 chore: 更新环境变量示例配置 2026-02-27 22:20:56 +08:00
888a0eb2b4 style: 统一 jsonc 配置文件格式 2026-02-27 19:45:38 +08:00
b9653d78a6 style: 设置 biome 行宽为 120 2026-02-27 19:45:33 +08:00
6d8635c1ac chore: 更新代理模型配置与清理注释 2026-02-27 19:34:45 +08:00
abea1e52c0 refactor: 迁移百炼 Coding Plan 模型配置至 opencode 主配置 2026-02-27 19:34:34 +08:00
6f832d3d8c feat: 添加独立 TUI 配置文件 2026-02-27 18:50:05 +08:00
51e11f7582 refactor: 移除模型 thinking 选项配置并拆分 theme 至 TUI 配置 2026-02-27 18:49:54 +08:00
4eadc3b3e9 refactor: 移动百炼 Coding Plan 配置至 .ref 参考目录 2026-02-27 18:49:43 +08:00
aa4a96626c feat: 添加百炼 Coding Plan 独立配置文件 2026-02-27 17:01:14 +08:00
a0c1d889d8 feat: 添加百炼 Coding Plan 模型提供商配置 2026-02-27 17:00:49 +08:00
0b77e65186 chore: 更新 oh-my-opencode 代理与分类模型配置 2026-02-27 17:00:25 +08:00
1be7ac925d refactor: 初步迁移模型到litellm 2026-02-27 13:57:37 +08:00
7 changed files with 161 additions and 147 deletions

View File

@@ -1,5 +1,10 @@
CPA_API_KEY=
# Provider
LITELLM_BASE_URL=https://ai.furtherverse.com
LITELLM_API_KEY=
# MCP
EXA_API_KEY=
CONTEXT7_API_KEY=
# Windows only
OPENCODE_GIT_BASH_PATH=%USERPROFILE%\scoop\shims\bash.exe
# Windows
OPENCODE_GIT_BASH_PATH=%USERPROFILE%\scoop\apps\git\current\bin\bash.exe

1
.gitignore vendored
View File

@@ -4,3 +4,4 @@ bun.lock
.DS_Store
Thumbs.db
.env

12
.vscode/settings.json vendored
View File

@@ -1,13 +1,13 @@
{
"editor.codeActionsOnSave": {
"source.fixAll.biome": "explicit",
"source.organizeImports.biome": "explicit"
},
"editor.formatOnSave": true,
"[json]": {
"editor.defaultFormatter": "biomejs.biome"
},
"[jsonc]": {
"editor.defaultFormatter": "biomejs.biome"
}
},
"editor.codeActionsOnSave": {
"source.fixAll.biome": "explicit",
"source.organizeImports.biome": "explicit"
},
"editor.formatOnSave": true
}

View File

@@ -11,7 +11,8 @@
"formatter": {
"enabled": true,
"indentStyle": "space",
"indentWidth": 2
"indentWidth": 2,
"lineWidth": 120
},
"linter": {
"enabled": true,

View File

@@ -1,79 +1,26 @@
// bunx oh-my-opencode doctor --verbose
{
"$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json",
"agents": {
// ref: https://github.com/code-yeongyu/oh-my-opencode/blob/dev/AGENTS.md#agent-models
"sisyphus": {
"model": "cpa-anthropic/claude-opus-4-6",
"variant": "max"
},
"hephaestus": {
"model": "cpa-openai/gpt-5.3-codex",
"variant": "medium"
},
"atlas": {
"model": "cpa-anthropic/claude-sonnet-4-5"
},
"oracle": {
"model": "cpa-openai/gpt-5.2",
"variant": "high"
},
"librarian": {
"model": "cpa-google/gemini-3-flash"
},
"explore": {
"model": "cpa-google/gemini-3-flash"
},
"multimodal-looker": {
"model": "cpa-google/gemini-3-flash"
},
"prometheus": {
"model": "cpa-anthropic/claude-opus-4-6",
"variant": "max"
},
"metis": {
"model": "cpa-anthropic/claude-opus-4-6",
"variant": "max"
},
"momus": {
"model": "cpa-openai/gpt-5.2",
"variant": "medium"
},
"sisyphus-junior": {
"model": "cpa-anthropic/claude-sonnet-4-5"
}
"sisyphus": { "model": "anthropic/claude-opus-4-6", "variant": "high" },
"hephaestus": { "model": "openai/gpt-5.4", "variant": "medium" },
"oracle": { "model": "openai/gpt-5.4", "variant": "high" },
"librarian": { "model": "litellm/glm-4.7" },
"explore": { "model": "litellm/minimax-m2.5" },
"multimodal-looker": { "model": "openai/gpt-5.4", "variant": "medium" },
"prometheus": { "model": "anthropic/claude-opus-4-6", "variant": "high" },
"metis": { "model": "anthropic/claude-opus-4-6", "variant": "high" },
"momus": { "model": "openai/gpt-5.4", "variant": "medium" },
"atlas": { "model": "litellm/kimi-k2.5" }
},
"categories": {
// ref: https://github.com/code-yeongyu/oh-my-opencode/blob/dev/docs/category-skill-guide.md#available-built-in-categories
"visual-engineering": {
"model": "cpa-google/gemini-3-pro",
"variant": "high"
},
"ultrabrain": {
"model": "cpa-openai/gpt-5.3-codex",
"variant": "xhigh"
},
"deep": {
"model": "cpa-openai/gpt-5.3-codex",
"variant": "medium"
},
"artistry": {
"model": "cpa-google/gemini-3-pro",
"variant": "high"
},
"quick": {
"model": "cpa-google/gemini-3-flash"
},
"unspecified-low": {
"model": "cpa-anthropic/claude-sonnet-4-5"
},
"unspecified-high": {
"model": "cpa-anthropic/claude-opus-4-6",
"variant": "max"
},
"writing": {
"model": "cpa-google/gemini-3-flash"
}
"visual-engineering": { "model": "google/gemini-3.1-pro-preview", "variant": "high" },
"ultrabrain": { "model": "openai/gpt-5.4", "variant": "xhigh" },
"deep": { "model": "openai/gpt-5.4", "variant": "medium" },
"artistry": { "model": "google/gemini-3.1-pro-preview", "variant": "high" },
"quick": { "model": "anthropic/claude-haiku-4-5" },
"unspecified-low": { "model": "anthropic/claude-sonnet-4-6" },
"unspecified-high": { "model": "anthropic/claude-opus-4-6", "variant": "high" },
"writing": { "model": "litellm/kimi-k2.5" }
},
"git_master": {
"commit_footer": false,

View File

@@ -1,105 +1,161 @@
{
"$schema": "https://opencode.ai/config.json",
"autoupdate": false,
"theme": "system",
"model": "cpa-anthropic/claude-opus-4-6",
"small_model": "cpa-google/gemini-3-flash",
"model": "anthropic/claude-opus-4-6",
"small_model": "anthropic/claude-haiku-4-5",
"plugin": ["oh-my-opencode@latest"],
"experimental": {
"disable_paste_summary": true
},
"disabled_providers": ["opencode"],
"provider": {
// ref: https://models.dev/
"cpa-anthropic": {
"name": "CPA Anthropic",
"anthropic": {
"npm": "@ai-sdk/anthropic",
"options": {
"baseURL": "https://cpa.furtherverse.com/v1",
"apiKey": "{env:CPA_API_KEY}",
"setCacheKey": true
"baseURL": "{env:LITELLM_BASE_URL}/v1",
"apiKey": "{env:LITELLM_API_KEY}"
},
"models": {
"claude-opus-4-6": {
"name": "Claude Opus 4.6",
"tool_call": true,
"reasoning": true,
"modalities": {
"input": ["text", "image", "pdf"],
"output": ["text"]
},
"limit": { "context": 1000000, "output": 128000 }
"modalities": { "input": ["text", "image", "pdf"], "output": ["text"] },
"limit": { "context": 200000, "output": 128000 }
},
"claude-sonnet-4-5": {
"name": "Claude Sonnet 4.5",
"tool_call": true,
"reasoning": false,
"modalities": {
"input": ["text", "image", "pdf"],
"output": ["text"]
},
"claude-sonnet-4-6": {
"name": "Claude Sonnet 4.6",
"reasoning": true,
"modalities": { "input": ["text", "image", "pdf"], "output": ["text"] },
"limit": { "context": 200000, "output": 64000 }
},
"claude-haiku-4-5": {
"name": "Claude Haiku 4.5",
"reasoning": true,
"modalities": { "input": ["text", "image", "pdf"], "output": ["text"] },
"limit": { "context": 200000, "output": 64000 }
}
}
},
"cpa-google": {
"name": "CPA Google",
"npm": "@ai-sdk/google",
"openai": {
"npm": "@ai-sdk/openai",
"options": {
"baseURL": "https://cpa.furtherverse.com/v1beta",
"apiKey": "{env:CPA_API_KEY}",
"setCacheKey": true
"baseURL": "{env:LITELLM_BASE_URL}/v1",
"apiKey": "{env:LITELLM_API_KEY}"
},
"models": {
"gemini-3-pro": {
"name": "Gemini 3 Pro",
"tool_call": true,
"gpt-5.4": {
"name": "GPT-5.4",
"reasoning": true,
"modalities": {
"input": ["text", "image", "video", "audio", "pdf"],
"output": ["text"]
},
"modalities": { "input": ["text", "image"], "output": ["text"] },
"limit": { "context": 1050000, "input": 272000, "output": 128000 }
},
"gpt-5.2": {
"name": "GPT-5.2",
"reasoning": true,
"modalities": { "input": ["text", "image"], "output": ["text"] },
"limit": { "context": 400000, "input": 272000, "output": 128000 }
},
"gpt-5.3-codex": {
"name": "GPT-5.3-Codex",
"reasoning": true,
"modalities": { "input": ["text", "image", "pdf"], "output": ["text"] },
"limit": { "context": 400000, "input": 272000, "output": 128000 }
}
}
},
"google": {
"npm": "@ai-sdk/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": {
"gemini-3-flash-preview": {
"name": "Gemini 3 Flash",
"tool_call": true,
"reasoning": true,
"modalities": {
"input": ["text", "image", "video", "audio", "pdf"],
"output": ["text"]
},
"modalities": { "input": ["text", "image", "video", "audio", "pdf"], "output": ["text"] },
"limit": { "context": 1048576, "output": 65536 }
}
}
},
"cpa-openai": {
"name": "CPA OpenAI",
"npm": "@ai-sdk/openai",
"litellm": {
"name": "LiteLLM",
"npm": "@ai-sdk/openai-compatible",
"options": {
"baseURL": "https://cpa.furtherverse.com/v1",
"apiKey": "{env:CPA_API_KEY}",
"setCacheKey": true
"baseURL": "{env:LITELLM_BASE_URL}/v1",
"apiKey": "{env:LITELLM_API_KEY}"
},
"models": {
"gpt-5.3-codex": {
"name": "GPT-5.3-Codex",
"tool_call": true,
// Grok
"grok-code-fast-1": {
"name": "Grok Code Fast 1",
"reasoning": true,
"modalities": {
"input": ["text", "image", "pdf"],
"output": ["text"]
},
"limit": { "context": 400000, "input": 272000, "output": 128000 }
"modalities": { "input": ["text"], "output": ["text"] },
"limit": { "context": 256000, "output": 10000 }
},
"gpt-5.2": {
"name": "GPT-5.2",
"tool_call": true,
// GLM
"glm-5": {
"name": "GLM-5",
"reasoning": true,
"modalities": {
"input": ["text", "image"],
"output": ["text"]
},
"limit": { "context": 400000, "input": 272000, "output": 128000 }
"modalities": { "input": ["text"], "output": ["text"] },
"limit": { "context": 204800, "output": 131072 }
},
"glm-4.7": {
"name": "GLM-4.7",
"reasoning": true,
"modalities": { "input": ["text"], "output": ["text"] },
"limit": { "context": 204800, "output": 131072 }
},
// Kimi
"kimi-k2.5": {
"name": "Kimi K2.5",
"reasoning": true,
"modalities": { "input": ["text", "image", "video"], "output": ["text"] },
"limit": { "context": 262144, "output": 262144 }
},
// MiniMax
"minimax-m2.5": {
"name": "MiniMax-M2.5",
"reasoning": true,
"modalities": { "input": ["text"], "output": ["text"] },
"limit": { "context": 204800, "output": 131072 }
},
// Qwen
"qwen3.5-plus": {
"name": "Qwen3.5 Plus",
"reasoning": true,
"modalities": { "input": ["text", "image", "video"], "output": ["text"] },
"limit": { "context": 1000000, "output": 65536 }
},
"qwen3-max": {
"name": "Qwen3 Max",
"reasoning": false,
"modalities": { "input": ["text"], "output": ["text"] },
"limit": { "context": 262144, "output": 65536 }
},
"qwen3-coder-next": {
"name": "Qwen3 Coder Next",
"reasoning": false,
"modalities": { "input": ["text"], "output": ["text"] },
"limit": { "context": 262144, "output": 65536 }
},
"qwen3-coder-plus": {
"name": "Qwen3 Coder Plus",
"reasoning": false,
"modalities": { "input": ["text"], "output": ["text"] },
"limit": { "context": 1000000, "output": 65536 }
}
}
}
},
"disabled_providers": ["opencode"]
}
}

4
tui.jsonc Normal file
View File

@@ -0,0 +1,4 @@
{
"$schema": "https://opencode.ai/tui.json",
"theme": "everforest"
}