Skip to content

模型配置 models.yml

models.yml 管理 AI 模型的 API 密钥、默认模型和自定义提供商。

API 密钥配置

三种配置方式

yaml
api-keys:
  # 方式 1:直接填写(不推荐,有泄露风险)
  anthropic: "sk-ant-api03-xxxx"

  # 方式 2:引用环境变量(推荐)
  openai: "${OPENAI_API_KEY}"

  # 方式 3:留空,自动查找同名环境变量
  google: ""

方式 2 和 3 都需要在服务器启动脚本中设置环境变量。

API Key 解析优先级

当 AI 请求需要密钥时,按以下顺序查找:

  1. 自定义提供商的 apiKey 字段
  2. api-keys.{provider} 中的配置
  3. {PROVIDER}_API_KEY 环境变量
  4. 全部未找到 → 报错

内置提供商

以下提供商无需额外配置,只需填写 API Key 即可使用:

提供商模型示例说明
anthropicanthropic:claude-sonnet-4-5Anthropic Claude 系列
openaiopenai:gpt-4.1OpenAI GPT 系列
googlegoogle:gemini-2.5-flashGoogle Gemini 系列
deepseekdeepseek:deepseek-chatDeepSeek(性价比之选)
minimaxminimax:minimax-m2.5MiniMax

默认模型设置

yaml
defaults:
  model:
    primary: "anthropic:claude-sonnet-4-5"
    fallbacks:
      - "deepseek:deepseek-chat"
  temperature: 0.7
  maxTokens: 2048
  thinkingLevel: "off"
字段类型默认值说明
model.primarystring主模型,格式 provider:modelId
model.fallbackslist[]备选模型,主模型不可用时依次尝试
temperaturefloat0.7采样温度(0.0-2.0),越高越有创意
maxTokensint2048最大输出 token 数
thinkingLevelstring"off"思维链级别

模型引用格式

{provider}:{modelId}

示例:

  • anthropic:claude-sonnet-4-5
  • openai:gpt-4.1
  • my-proxy:claude-3-opus(自定义提供商)

思维链级别

部分模型支持深度推理(thinking / extended thinking)。

级别说明
off关闭(默认)
minimal最小推理
low低级推理
medium中级推理
high高级推理
xhigh最高级推理

注意

启用思维链会显著增加 token 消耗和响应时间。

Failover 机制

请求时按顺序尝试:primary → fallbacks[0] → fallbacks[1] → ...

全部失败后向玩家发送错误消息。建议至少配置一个 fallback。

自定义提供商

接入任意 OpenAI / Anthropic 兼容的 API 端点。适用于中转站、私有部署、第三方代理等场景。

完整示例

yaml
providers:
  # 提供商名称(小写,用于模型引用)
  my-proxy:
    # API 端点地址(必填)
    baseUrl: "https://api.my-proxy.com/v1"
    # API 密钥(必填,支持 ${ENV})
    apiKey: "${MY_PROXY_KEY}"
    # API 协议(可选,默认 openai-completions)
    api: "openai-completions"
    # 可用模型列表(必填)
    models:
      - id: "claude-3-opus"
        name: "Claude 3 Opus (Proxy)"
        contextWindow: 200000
        maxTokens: 4096
        reasoning: false
        inputTypes: ["text"]
      - id: "gpt-4-turbo"
        name: "GPT-4 Turbo (Proxy)"
        contextWindow: 128000
        maxTokens: 4096

提供商字段

字段必填类型说明
baseUrlstringAPI 端点 URL
apiKeystring支持 ${ENV_VAR}
apistring协议类型,默认 openai-completions
modelslist至少包含一个模型

API 协议类型

说明
openai-completionsOpenAI Chat Completions API(默认)
openai-responsesOpenAI Responses API
anthropic-messagesAnthropic Messages API

模型字段

字段必填类型默认值说明
idstring模型 ID
namestring同 id显示名称
contextWindowint128000上下文窗口
maxTokensint4096最大输出
reasoningboolfalse是否推理模型
inputTypeslist["text"]输入类型

使用自定义提供商

配置完成后,在助手配置或默认模型中引用:

yaml
# models.yml
defaults:
  model:
    primary: "my-proxy:claude-3-opus"

# 或在助手配置中
# assistants/player-helper/config.yml
model:
  primary: "my-proxy:gpt-4-turbo"

ArkPilot — Minecraft AI Assistant Plugin