配置第三方模型接入
本文面向“只接入一个第三方 OpenAI-compatible 模型服务”的场景。你需要准备两份文件:config.json 写模型地址和模型名,auth.json 写 API Key。
准备两份文件
| 文件 | 作用 |
|---|---|
<config-dir>/config.json | 模型服务地址、Provider 类型和模型列表 |
<config-dir>/auth.json | API Key、Access Token 等敏感凭据 |
项目也可以使用 <workspace>/.mogick/config.json 和 <workspace>/.mogick/auth.json 设置项目级配置;项目中明确填写的字段优先,未填写的字段继续继承全局配置。
写入模型配置
在 <config-dir>/config.json 中写入:
此单 Provider 示例要求 llm.providers 不存在或为空;若已通过 setup 配置了 provider 数组,请按多 Provider 配置修改该数组。替换示例地址和模型 ID 时,保持默认模型、轻量模型与列表中的 ID 一致。
{
"llm": {
"provider": "openai-compatible",
"base_url": "https://example.com/v1",
"model": "your-model-id-1",
"light_model": "your-model-id-2",
"models": [
{
"id": "your-model-id-1",
"name": "your-model-name-1"
},
{
"id": "your-model-id-2",
"name": "your-model-name-2"
},
{
"id": "your-model-id-3",
"name": "your-model-name-3"
}
]
}
}其中:
| 字段 | 说明 |
|---|---|
llm.provider | 必填;第三方 OpenAI-compatible 服务使用 openai-compatible。不填写时,/models 无法读取 llm.models[] 中的静态模型列表 |
llm.base_url | 服务商提供的 API base,通常包含 /v1 |
llm.model | 默认使用的模型 ID |
llm.light_model | 轻量任务使用的模型;未设置时回退到默认模型 |
llm.models[] | TUI 模型列表中展示的可选模型 |
models[] 可以写多个模型,llm.model 和 llm.light_model 应填写你实际要使用的模型 ID,并与服务商接受的模型名称一致。name 是显示名称,建议填写。
写入 API Key
在 <config-dir>/auth.json 中写入:
{
"api_key": "<your-api-key>"
}如果服务商使用网关 Token、租户 ID 或其他敏感请求头,不要写入 config.json。单 Provider 场景可以优先确认服务商是否支持直接使用 API Key;更复杂的请求头和多 Provider 凭据拆分见认证与模型。
验证接入
mogick doctor
mogick doctor --check-network
mogick run "Reply: provider configuration succeeded"--check-network 会发起真实模型请求,可能消耗额度。终端结果里重点看这些检查项:
| 检查项 | 含义 |
|---|---|
Config | 配置文件加载状态 |
Models | 当前默认模型和已配置模型数量 |
Auth | 认证凭据状态 |
Server | 模型服务地址的基础可达性 |
Chat | 非流式模型请求能力;usage present 表示响应中包含 token 用量信息 |
Tool calls | 工具调用格式支持情况 |
Streaming | 流式模型请求能力;usage present 表示流式响应中包含 token 用量信息 |
OK 表示该检查项通过。如果 Chat 或 Streaming 请求成功但缺少 usage,通常表示模型可用,但服务端没有返回完整 token 用量信息。
验证通过后,在 TUI 输入 /models,应能看到配置中的模型并切换。
常见问题
模型列表为空
检查 llm.models[] 是否存在、models[].id 是否填写,以及模型是否被设置为 enabled: false。
认证失败
确认 API Key 写在 auth.json 中,而不是 config.json。如果使用项目级配置,也要确认项目级 auth.json 存在且没有被提交到版本控制。
model not found
确认 llm.model 和 models[].id 与服务商接受的模型名称完全一致。有些服务商的展示名和实际 API 模型 ID 不相同,应以 API 文档为准。
连接超时或证书错误
先运行 mogick doctor --check-network,确认模型服务地址可达、证书可信,并核对 base_url 是否为正确的 API base。Mogick 没有公开的模型代理或自定义 CA 配置字段。
接入多个模型服务
如果你需要同时接入多个模型服务,例如一个公司网关、一个本地模型和一个云端模型,请使用 llm.providers[] 和 auth.providers.<provider-id>。完整结构、合并规则和 /models 行为见认证与模型。