# opencode-llm-zh **Repository Path**: guava/opencode-llm-zh ## Basic Information - **Project Name**: opencode-llm-zh - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-10 - **Last Updated**: 2026-05-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # opencode-zh-llm 专为中国大模型优化的 OpenCode 插件,实现多模型智能路由。 ## 特性 ### 🎯 多模型智能路由 - 基于任务类型自动选择最佳模型 - 6种模型分类:编码、推理、快速、多模态、长上下文、规划、写作、智能体 - 关键词自动识别(中英文混合) ### 🔄 自动降级 - 主模型失败时自动切换到备用模型 - 支持重试和超时配置 - 智能错误分类(可重试 vs 致命错误) ### 🤔 思维链支持 - DeepSeek、Kimi、GLM 的思维链模式 - 关键词自动触发("think" / "思考") - 流式显示推理过程 ### 🎨 内置智能体 1. **coder** - 代码生成与调试专家 2. **thinker** - 深度推理专家 3. **scout** - 快速探索专家 4. **architect** - 架构设计专家 5. **writer** - 文档写作专家 6. **operator** - 工具密集型工作流专家 ### 🌐 支持的中国模型 | 提供商 | 模型 | 特长 | |--------|------|------| | 豆包 (Doubao) | seed-code, seed-2.0-code, seed-2.0-pro, seed-2.0-lite | 代码、推理、快速 | | Kimi | k2.5, k2.6 | 多模态、长上下文 | | GLM | 4.7, 5, 5.1 | 推理、规划 | | DeepSeek | v3.2, v4-flash | 代码、推理(1M上下文) | | MiniMax | m2.5, m2.7 | 智能体、工具调用 | | 小米 (MiMo) | mini, pro | 对话、多模态 | | 文心 (ERNIE) | 4.5-turbo | 写作、多模态 | ## 快速开始 ### 安装 ```bash # 全局安装 bun install -g opencode-zh-llm # 或作为项目依赖 bun add -D opencode-zh-llm ``` ### 配置 API 密钥 ```bash # ~/.bashrc 或 ~/.zshrc export DOUBAO_API_KEY="your-key" export KIMI_API_KEY="your-key" export GLM_API_KEY="your-key" export DEEPSEEK_API_KEY="your-key" export MINIMAX_API_KEY="your-key" export MIMO_API_KEY="your-key" export ERNIE_API_KEY="your-key" ``` ### 配置文件 (zh-llm-opencode.jsonc) ```jsonc { "providers": { "doubao": { "api_key": "${DOUBAO_API_KEY}", "base_url": "https://ark.cn-beijing.volces.com/api/v3", "endpoint_id": "ep-20241231-xxx" // 豆包使用 endpoint ID }, "kimi": { "api_key": "${KIMI_API_KEY}", "base_url": "https://api.moonshot.cn/v1" }, // ... 其他提供商 }, "routing": { "strategy": "smart", // smart | cost | speed | quality "fallback_enabled": true, "categories": { "coding": { "primary": "deepseek/deepseek-v3.2", "fallback": ["doubao/doubao-seed-2.0-code", "kimi/kimi-k2.6"], "reasoning_effort": "high" }, "reasoning": { "primary": "deepseek/deepseek-v4-flash", "fallback": ["glm/glm-5.1", "doubao/doubao-seed-2.0-pro"], "thinking": "enabled", "reasoning_effort": "max" } // ... 其他分类 } }, "think_mode": { "enabled": true, "keywords": ["think", "think hard", "分析", "仔细想想"] } } ``` ## 使用示例 ### 自动路由 ```bash # 1. 编写代码(自动用 deepseek-v3.2 或 doubao-seed-2.0-code) opencode "implement login function with JWT" # 2. 深度分析(自动用 deepseek-v4-flash 并启用思维链) opencode "analyze this architecture design" # 3. 快速查找(自动用 doubao-seed-2.0-lite) opencode "find all API endpoints in the codebase" # 4. 中文任务(同样有效) opencode "实现一个用户注册功能" opencode "分析这个bug的原因" ``` ### 手动指定模型 ```bash opencode --model kimi/kimi-k2.6 "analyze this screenshot" ``` ### 启用思维链 ```bash opencode "please think about this problem deeply" opencode "请仔细分析这个架构设计" ``` ## 技术架构 ``` src/ ├── config/ # 配置系统 │ ├── schema.ts # Zod 配置校验 │ ├── loader.ts # 配置加载器 │ └── defaults.ts # 默认路由 ├── providers/ # 模型提供商 │ ├── doubao.ts # 豆包 │ ├── kimi.ts # Kimi │ ├── glm.ts # GLM │ ├── deepseek.ts # DeepSeek │ ├── minimax.ts # MiniMax │ ├── mimo.ts # 小米 │ └── ernie.ts # 文心 ├── router/ # 路由核心 │ ├── classifier.ts # 任务分类器 │ ├── routes.ts # 路由解析 │ └── resolver.ts # 模型解析器 ├── fallback/ # 降级系统 │ ├── chain.ts # 降级链 │ ├── controller.ts # 控制器 │ └── error-classifier.ts # 错误分类 ├── thinking/ # 思维链 │ ├── detector.ts # 关键词检测 │ ├── switcher.ts # 模型切换 │ └── stream-handler.ts # 流式处理 ├── agents/ # 智能体 │ ├── types.ts # 类型定义 │ └── builtin-agents.ts # 内置智能体 ├── hooks/ # OpenCode Hooks │ ├── config-hook.ts # 配置注入 │ ├── chat-message-hook.ts # 消息处理 │ ├── chat-params-hook.ts # 参数调整 │ └── event-hook.ts # 事件处理 └── index.ts # 插件入口 ``` ## 路由策略 | 策略 | 说明 | 适用场景 | |------|------|---------| | smart | 智能路由(默认) | 综合场景,根据任务类型选择 | | cost | 成本优先 | 预算敏感,选择最便宜的模型 | | speed | 速度优先 | 快速响应,选择最快的模型 | | quality | 质量优先 | 关键任务,选择最强的模型 | ## 配置示例 ### 豆包 endpoint ID 配置 ```jsonc { "providers": { "doubao": { "api_key": "${DOUBAO_API_KEY}", "base_url": "https://ark.cn-beijing.volces.com/api/v3", "endpoint_id": "ep-20241231-xxx" } } } ``` ### 自定义路由 ```jsonc { "routing": { "categories": { "coding": { "primary": "doubao/doubao-seed-2.0-code", "fallback": ["kimi/kimi-k2.6", "deepseek/deepseek-v3.2"], "temperature": 0.3 } } } } ``` ### 禁用特定功能 ```jsonc { "disabled_providers": ["minimax", "ernie"], "disabled_categories": ["multimodal"], "disabled_agents": ["operator"] } ``` ## 开发 ### 设置开发环境 ```bash # 克隆并安装依赖 git clone cd opencode-zh-llm bun install # 运行测试 bun test # 构建 bun build # 开发模式(自动重载) bun dev ``` ### 添加新模型提供商 1. 在 `src/providers/` 创建新文件 2. 实现 `ProviderInfo` 接口 3. 添加到 `src/providers/registry.ts` 4. 更新配置 schema ### 添加新智能体 1. 在 `src/agents/builtin-agents.ts` 添加 2. 定义系统提示词和模型偏好 3. 更新类型定义 ## 与 oh-my-openagent 的对比 | 特性 | opencode-zh-llm | oh-my-openagent | |------|-----------------|-----------------| | 模型范围 | 专注中国大模型 | 国际+中国混合 | | 智能体数量 | 6个(专为中国场景) | 11个(通用) | | 思维链 | DeepSeek/Kimi/GLM 原生支持 | 有限支持 | | 豆包支持 | endpoint ID 直接配置 | 需要转换 | | 中文优化 | 关键词、提示词针对中文 | 通用设计 | | 长上下文 | 充分利用中国模型长上下文 | 依赖国际模型 | | 网络依赖 | 国内直连,无需代理 | 国际模型需代理 | ## 路线图 - [x] Phase 1: 核心路由 + 6个智能体 (MVP) - [ ] Phase 2: TUI 界面(类似 deepseek-tui) - [ ] Phase 3: 成本追踪与统计 - [ ] Phase 4: 模型性能基准测试 - [ ] Phase 5: 自定义智能体编辑器 ## 许可证 MIT