Skip to content

模型配置与预设(Profiles)

在 OpenCode 内完成服务商连接、5 大模型层级映射与自定义路由配置。


在 opencode 内配置服务商(推荐)

对于现有服务商(如官方 DeepSeek、Kimi、通义千问等 API,非自建 LLM Router),通过 OpenCode 的斜杠命令配置:

/connect <provider-name>    # 连接到现有服务商
/profile                    # 打开预设选择弹窗

配置流程:

  1. 连接服务商 — 使用 /connect 命令连接到已存在的 provider
  2. 选择预设 — 使用 /profile 打开选择弹窗,选中该服务商对应的配置预设

示例:

> /connect deepseek
  → 连接到 DeepSeek 服务商
> /profile
  → 弹窗打开 — 选中 "deepseek" 条目即可应用官方 API 预设配置

重要提示: 配置完成后请退出当前 opencode 会话并重新进入,以确保新的 provider 和 profile 配置完全生效。


配置预设(Profiles)

配置预设是一个命名预设,将服务商与各层级模型选择打包在一起,一次性应用,而非逐层级 set model

可用预设全景表

预设分类说明
deepseek官方 API 直连官方 DeepSeek API 直连 (V3.2 Reasoner, Chat, V4 Flash)
anthropic官方 API 直连官方 Anthropic API (Claude 3.5/3.7 Sonnet, Opus, Haiku)
openai官方 API 直连官方 OpenAI API (GPT-5, o3-mini, o4-preview)
google官方 API 直连官方 Google Gemini API (Gemini 2.5 Flash, 2.5 Pro)
kimi-for-coding官方 Coding Plan月之暗面 Kimi For Coding 官方开发套餐 (K1.5 / K2 系列)
alibaba-coding-plan / -cn官方 Coding Plan阿里百炼通义千问 Coding 计划 (Qwen3-Coder, Qwen3.7-Plus)
alibaba-token-plan / -cn官方 Coding Plan阿里百炼 Token 计划 (DeepSeek V4 Flash / Qwen 3.8 Max)
minimax-coding-plan / -cn官方 Coding Plan稀宇科技 MiniMax 官方开发套餐 (M2.5, M2.7, M3)
zhipuai-coding-plan官方 Coding Plan智谱 AI 官方 Coding 计划 (GLM-5.1, GLM-5.2, GLM-5v)
zai-coding-plan官方 Coding PlanZ.AI 官方开发套餐 (GLM 系列)
tencent-coding-plan官方 Coding Plan腾讯混元 Coding 计划 (Hunyuan Turbo, TC Code, MiniMax M2.5)
tencent-token-plan官方 Coding Plan腾讯混元 Token 计划 (HY3)
xiaomi-token-plan-cn / -ams / -sgp官方 Coding Plan小米大模型 Token 计划(国内 / 欧洲 / 新加坡节点,MiMo v2.5 系列)
opencode-go-ultimateOpenCode Go 网关旗舰满血阶梯 (Kimi K3 / MiniMax M3 / GPT-5.6 / Qwen 3.8 Max)
opencode-go-performanceOpenCode Go 网关日常主力性价比平衡阶梯
opencode-go-economyOpenCode Go 网关经济实惠高性价比阶梯
opencode-go-liteOpenCode Go 网关最低可用成本极速阶梯
opencode-go-deepseekOpenCode Go 网关全 DeepSeek 模型族纯享预设
opencode-go-kimiOpenCode Go 网关全 Kimi 模型族纯享预设
opencode-go-qwenOpenCode Go 网关全 Qwen 模型族纯享预设
opencode-go-glmOpenCode Go 网关全 GLM 模型族纯享预设
qoder订阅与网关Qoder 订阅,经 opencode-qoder-bridge(需 qoder login
qoder-deepseek / qoder-qwen订阅与网关Qoder 平台上的 DeepSeek / Qwen 纯享预设
antigravity-router自建网关自建 Antigravity 网关(Gemini Flash/Pro + Claude Sonnet/Opus Thinking)
claude-code-router自建网关自建 Claude Code 网关(Anthropic 协议)
codex-router自建网关自建 codex 网关(Sol/Luna 系列)
qoder-router自建网关自建 qoder 网关(Ultimate/Performance/Lite)
llm-router自建网关服务端路由基线

使用预设

/profile 斜杠命令打开一个向导,包含三个入口:

  1. Edit: Agent→Tier — 重新分配 agent 所属层级(flash/standard/pro/max/vision),写 tiers.json
  2. Manage: Profile→Models — 编辑预设的 tier→model 映射,或添加/删除预设文件
  3. Select: Profile — 选一个预设并立即应用(写 opencode.jsonc

无需参数,直接打开原生弹窗选择器:

/profile
  ┌─ 第一层:主菜单

  ├─ "Edit: Agent→Tier"  ────────── 见下方 § Edit: Agent→Tier
  ├─ "Manage: Profile→Models"  ──── 见下方 § Manage: Profile→Models
  └─ "Select: Profile"  ─────────── 见下方 § Select: Profile

  → 在主菜单按 Esc 关闭向导

Edit: Agent→Tier

重新分配 agent 所属层级 — 不触及 tier→model 侧:

/profile → "Edit: Agent→Tier"
  ┌─ 第二层:Agent 列表

  │  列出全部 agent 及其当前层级和模型:
  │    advisor    (max)   — model: anthropic/claude-opus
  │    code       (pro)   — model: anthropic/claude-sonnet
  │    explorer   (flash) — model: anthropic/claude-haiku
  │    ...

  │  有变更的 agent 显示 pending 状态:
  │    coworker   (pro → max)  ← pending

  │  ├─ "( Apply changes )"  → 写入 tiers.json + 热生效模型
  │  ├─ 选中任意 agent  ────→ 第三层:层级选择器
  │  └─ "( Back )"  ─────────→ 返回主菜单

  └─ 第三层:层级选择器(按 agent)

     ├─ flash     "快速 / 轻量 — 代码粗筛,高吞吐"
     ├─ standard  "通用主力 — 编排中枢(根模型)"
     ├─ pro        "专业级 — 最强编码模型"
     ├─ max        "旗舰推理 — 深度分析,审查,设计"
     ├─ vision     "多模态 — 图像/截图分析"
     └─ "( Back )"  ──→ 返回 agent 列表(保留 pending 变更)

Apply 时发生什么:

  1. tiers.json 原子重写(备份 .bak → 写 tmp → rename);$comment 字段保留。
  2. 对每个变更的 agent,将其在 opencode.jsonc 中的 model 更新为新层级的当前引用 — 来源为当前活跃预设的 tiers[newTier],或已使用该层级的第一个 agent 的 model。
  3. 优先通过服务端全局配置 API 热生效(无需重启)。旧版降级为直写 opencode.jsonc(备份 .bak,需重启)。

操作示例:

> /profile
  → 选 "Edit: Agent→Tier"
  → 选 "code"(当前 pro)
  → 选 "pro"
  → toast: "code: pro → pro (no change)"
  → 选 "coworker"(当前 pro)
  → 选 "max"
  → toast: "coworker: pro → max (pending)"
  → "( Apply changes )"
  → toast: "1 tier change applied — coworker → max (anthropic/claude-opus). Live, no restart needed."

Manage: Profile→Models

编辑预设的 tier→model 映射,或添加/删除预设:

/profile → "Manage: Profile→Models"
  ┌─ 第二层:预设列表

  │  ├─ opencode-go-glm  ← active  — 描述...
  │  ├─ opencode-go-kimi          — 描述...
  │  ├─ ...
  │  ├─ "( Add profile )"  ────→ 输入名称,创建空白 JSON
  │  ├─ "( Delete profile )"  ──→ 选中预设删除(保留 .bak 备份)
  │  └─ "( Back )"  ─────────→ 返回主菜单

  └─ 第三层:层级审阅(按预设)

     │  列出选中预设的各层级及其 provider/model 引用:
     │    flash     glm-4-flash
     │    standard  glm-4-plus
     │    pro       glm-4-plus
     │    max       glm-4-long
     │    vision    glm-4v

     │  ├─ "( Apply changes )"  → 写入预设 JSON + 应用到 opencode.jsonc
     │  ├─ 选中任意层级  ─────→ 第四层:provider 选择器
     │  ├─ "( Back )"  ──────→ 返回预设列表(保留覆写)
     │  └─ "( Cancel )"  ────→ 丢弃覆写,返回预设列表

     └─ 第四层:Provider 选择器

        ├─ anthropic  — 5 model(s) · built-in · connected
        ├─ openai     — 3 model(s) · built-in
        ├─ ...
        ├─ "( Type a custom ref )"  ──→ 手动输入 '<provider>/<model_id>'
        └─ "( Back )"  ───────────→ 返回层级审阅

        └─ 第五层:Model 选择器(按 provider)

           ├─ claude-sonnet  — Claude 3.7 Sonnet
           ├─ claude-opus    — Claude 3.7 Opus
           ├─ ...
           └─ "( Back )"  ──→ 返回 provider 列表

Apply 时发生什么:

  1. 预设 JSON 文件(~/.config/opencode/profiles/<name>.json)原子重写(备份 .bak → 写 tmp → rename),写入覆写后的 tier→model 引用。
  2. 更新后的预设应用到 opencode.jsonc — 每个 agent 的 model 按其层级重写为新的引用。
  3. 更新 .active-profile。优先通过服务端全局配置 API 热生效(无需重启)。

Select: Profile

选一个预设并立即应用 — 无中间审阅:

/profile → "Select: Profile"
  ┌─ 第二层:预设列表

  │  ├─ opencode-go-glm  ← active  — 描述...
  │  ├─ opencode-go-kimi          — 描述...
  │  ├─ ...
  │  └─ "( Back )"  ─────────→ 返回主菜单

  └─ 选中预设 → 立即应用(与旧行为一致)

提示: 三个分支互补使用。用 Edit: Agent→Tier 决定 哪个 agent 属于哪个 tier(写 tiers.json),用 Manage: Profile→Models 决定 某个预设里每个 tier 用哪个 model(写预设 JSON + opencode.jsonc),用 Select: Profile 快速切换预设。agent→tier 映射在重装时保留(PreserveBag 机制)。

Esc 行为: 在任意弹窗层级,按 Esc 都会返回上一级(而非关闭整个向导)。只有在主菜单(第一层)按 Esc 才会关闭向导。

国际化 (i18n): 所有 TUI 向导插件(/profile/provider/project/queued)均支持国际化。首次使用时自动从系统区域设置/环境变量检测语言,之后存储在 api.kv 中。每个向导的主菜单底部都有 🌐 中文 → English(或反向)选项,可即时切换语言 — 菜单会立即以新语言重新渲染。翻译集中维护在 plugins/i18n.ts


模型路由与 5 大层级架构

系统使用 5 个模型层级,每个层级映射到一组智能体:

层级用途智能体
flash快速,轻量,代码粗筛,高吞吐explorer, fast-coder
standard通用编排中枢,高吞吐主力(根模型)build, plan, researcher, tech-writer
pro专业全栈工程,代码生成与实现code, java/python/go/rust/node-dev, frontend-dev, qa, dba, devops
max深度推理,系统架构,安全合规,严苛审查advisor, architect, security, code-review
vision图像理解与多模态分析vision

每个层级解析到当前活跃预设为它映射的 provider/模型。Variant(low/medium/high)控制每个智能体的思考/推理深度;如果后端模型不支持 variant,会被静默忽略。


自定义服务商(/provider 向导)

/provider 斜杠命令(通过 tui.json 注册的 TUI 插件)以原生弹窗端到端配置自定义服务商 — 无需参数:

/provider
  → 弹窗:"( Manage provider models )" + 每个服务商一个条目
    (opencode.jsonc 中已激活的,或 providers/*.json 中可用的 —
    选中未激活的条目会从定义文件激活它)
  → 选中服务商:baseURL 输入 → apiKey 输入 → 原子写入
    (opencode.jsonc.bak 备份)+ toast;空输入保留现值,
    支持 '{env:VAR}' 令牌,密钥永不明文预填
  → "( Manage provider models )":选中已激活服务商 → 模型清单:
    "( Add model… )" 依次三步输入(key → 上游 id → 显示名);
    选中已有模型则弹出删除确认
  → Esc 取消

LLM Router 凭证

对于 llm-router 自定义服务商,通过下面的环境变量设置 baseURL / apiKey(推荐)、通过 /provider 向导(交互式),或直接编辑 ~/.config/opencode/opencode.jsonc

环境变量(推荐用于 API 密钥)

powershell
# PowerShell ($PROFILE)
$env:LLM_ROUTER_BASE_URL = "https://router.example.com/v1"
$env:LLM_ROUTER_API_KEY  = "sk-xxxx"
bash
# Bash (~/.bashrc 或 ~/.zshrc)
export LLM_ROUTER_BASE_URL="https://router.example.com/v1"
export LLM_ROUTER_API_KEY="sk-xxxx"

Qoder 服务商(opencode-qoder-bridge

opencode-qoder-bridge 插件已列入仓库自带 opencode.jsoncplugin 数组,启动时自动注入 qoder 服务商及其完整模型目录 —— 无需 provider 块或 API 密钥。它通过官方 @qoder-ai/qoder-agent-sdk 与 Qoder 通信,使用你的 Qoder CLI 凭证。

前置条件:

  • Node.js ^22.18 || >=24.11
  • 已安装 Qoder CLI 并登录:qoder login(凭证存于 ~/.qoder/.auth/user

然后重启 opencode,通过 /profile 应用自带的 qoder 预设。

基于 MIT 协议发布。