在 OpenCode 与 OpenAI Codex CLI 中使用 MiniMax
通过 YiduoChan 位于 https://yiduochan.com/v1 的 OpenAI 兼容接口运行 MiniMax-M2.7 与 MiniMax-M3 的完整 opencode.json 与 ~/.codex/config.toml 示例,附验证命令、token 单价与常见报错排查。
OpenCode 和 OpenAI Codex CLI 都是在终端里运行的编码 Agent,可以指向任何 OpenAI 兼容接口。YiduoChan 正是在 https://yiduochan.com/v1 上以这种接口提供 MiniMax 文本模型,所以接入任一工具只需要一个简短的配置文件。本页给出两个工具可直接复制使用的完整配置、开始会话前验证连接的方法、当前的 token 单价,以及最可能遇到的报错的解决办法。
你要配置的是什么
两个工具都向 /v1/chat/completions 发送标准的 chat completions 请求(消息、工具定义、流式输出),并用 Bearer token 鉴权。YiduoChan 原样接受这种请求格式,因此不需要本地代理或封装层。文本模型 ID 为 MiniMax-M2.7、MiniMax-M2.7-highspeed 和 MiniMax-M3,区分大小写,必须严格照写。
- Base URL:
https://yiduochan.com/v1 - 编码 Agent 用到的接口:
/v1/chat/completions和/v1/models - 鉴权请求头:
Authorization: Bearer <API key from the console> - 计费:预付美元额度,按量付费,无订阅;失败的请求从不计费
如果你用 Claude Code 代替这些工具,或与它们同时使用,Anthropic 兼容的配置方法另见在 Claude Code 中使用 MiniMax。同一个 API Key 三者通用。
准备工作
- 注册账号并充值。账号为预付制,最低充值 $5;新账号注册即送 $0.10 试用额度,够发几次测试请求。
- 在控制台生成 API Key。
- 在将要启动 Agent 的 shell 中导出这个 Key。下面两份配置都从
YIDUOCHAN_API_KEY环境变量读取它,所以 Key 永远不会写进可能被提交到仓库的配置文件。
export YIDUOCHAN_API_KEY="sk-..."
如果希望它在所有终端中都生效,把这一行加到 ~/.zshrc 或 ~/.bashrc。这个变量必须存在于 CLI 的进程环境中;shell 没有 source 过的 .env 文件是读不到的。
OpenCode:自定义 OpenAI 兼容提供方
OpenCode 从项目根目录读取 opencode.json,也可以从全局的 ~/.config/opencode/opencode.json 读取。自定义提供方在 provider 键下声明。对于 OpenAI 兼容接口,提供方使用 @ai-sdk/openai-compatible 这个 npm 包,OpenCode 会在首次使用时自动安装。
完整的 opencode.json
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"yiduochan": {
"npm": "@ai-sdk/openai-compatible",
"name": "YiduoChan",
"options": {
"baseURL": "https://yiduochan.com/v1",
"apiKey": "{env:YIDUOCHAN_API_KEY}"
},
"models": {
"MiniMax-M2.7": {
"name": "MiniMax-M2.7"
},
"MiniMax-M2.7-highspeed": {
"name": "MiniMax-M2.7-highspeed"
},
"MiniMax-M3": {
"name": "MiniMax-M3 (1M context)"
}
}
}
},
"model": "yiduochan/MiniMax-M2.7"
}
逐个字段说明:
npm选择提供方的实现。@ai-sdk/openai-compatible使用普通的 chat completions 协议。不要换成@ai-sdk/openai,它默认调用 OpenAI 的 Responses API,而 YiduoChan 的接口不包含这个 API。options.baseURL是带版本号的根路径https://yiduochan.com/v1。OpenCode 会自己拼上/chat/completions。options.apiKey使用 OpenCode 的{env:NAME}替换语法,启动时从YIDUOCHAN_API_KEY读取值。models下的键就是实际发送出去的模型 ID,必须与 YiduoChan 的 ID 完全一致。name的值只是显示名称,可以随意填写。model以provider/model-id的格式设置会话默认模型。需要 1,048,576 tokens 的上下文窗口时,改成yiduochan/MiniMax-M3。
用 OpenCode 运行 MiniMax
- 保存文件,在项目目录中启动
opencode。 - 在 TUI 中输入
/models,确认列出了三个 YiduoChan 条目;会话中途也用这个命令切换模型。 - 运行一个小任务,比如让 Agent 列出仓库里的文件,确认响应以流式返回,且没有出现错误横幅。
也可以在 shell 中运行 opencode models 打印合并后的提供方列表,这是确认 JSON 已成功解析、提供方已注册的快捷办法。
Codex CLI:config.toml 中的 model_providers
OpenAI Codex CLI 通过 ~/.codex/config.toml 配置。自定义提供方是 model_providers 下的一张表,再由顶层的 model 和 model_provider 键把它选为默认。由于 YiduoChan 提供的是 chat completions 协议,提供方必须设置 wire_api = "chat"。默认值 "responses" 会把请求发到这个接口上不存在的路径。
完整的 ~/.codex/config.toml
# Default model and provider
model = "MiniMax-M2.7"
model_provider = "yiduochan"
[model_providers.yiduochan]
name = "YiduoChan"
base_url = "https://yiduochan.com/v1"
env_key = "YIDUOCHAN_API_KEY"
wire_api = "chat"
# Optional: a profile for the 1M-context model
[profiles.m3]
model = "MiniMax-M3"
model_provider = "yiduochan"
base_url必须包含/v1。当wire_api为"chat"时,Codex 会拼上/chat/completions。env_key指定存放 API Key 的环境变量名。Codex 在启动时读取它,并作为 Bearer token 发送;自定义提供方不需要单独执行codex login。model会原样传递,所以必须是MiniMax-M2.7、MiniMax-M2.7-highspeed或MiniMax-M3之一。[profiles.m3]表是可选的。它让 M2.7 保持为默认模型,同时让你不用改文件,就能用codex --profile m3启动长上下文会话。
运行 Codex CLI
- 确认 Key 已导出:
echo $YIDUOCHAN_API_KEY应当打印出你的 Key。 - 用
codex启动交互式会话,或用codex exec "summarize this repository"运行一次性任务。 - 如果只想在某一次运行中换模型而不改配置,使用
codex -m MiniMax-M3。
Codex 对所有子命令使用同一个提供方,所以 CI 任务中的 codex exec 步骤只需要导出的环境变量和配置文件;交互式与非交互式使用之间没有其他区别。
开始会话前先验证接口
如果任一工具出错,先脱离 Agent,单独确认接口和 Key 是否正常。两个 curl 请求就够了。
curl -s https://yiduochan.com/v1/models \
-H "Authorization: Bearer $YIDUOCHAN_API_KEY"
返回的是一个 JSON 列表,其中的 id 字段应包含 MiniMax-M2.7、MiniMax-M2.7-highspeed 和 MiniMax-M3。然后发送一个最小的补全请求:
curl -s https://yiduochan.com/v1/chat/completions \
-H "Authorization: Bearer $YIDUOCHAN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "MiniMax-M2.7",
"messages": [{"role": "user", "content": "Reply with the single word: ok"}]
}'
返回 200 且带有 choices[0].message.content 字段,说明 Key、Base URL 和模型 ID 都正确,剩下的问题出在工具的配置文件上,而不是账号。
模型与价格
三个文本模型都按 token 以美元计费,价格按 MiniMax 刊例价水平。下表价格均为每百万 tokens。MiniMax-M2.7 与 MiniMax-M2.7-highspeed 的缓存写入为每百万 tokens $0.375。
| 模型 ID | 输入 | 输出 | 缓存读取 | 说明 |
|---|---|---|---|---|
MiniMax-M2.7 | $0.30 | $1.20 | $0.06 | Agent 会话的默认选择 |
MiniMax-M2.7-highspeed | $0.60 | $2.40 | $0.06 | 质量相同,延迟更低 |
MiniMax-M3,提示不超过 512K tokens | $0.30 | $1.20 | $0.06 | 1,048,576 tokens 上下文 |
MiniMax-M3,提示在 512K 到 1M tokens 之间 | $0.60 | $2.40 | $0.12 | 档位由提示长度决定 |
选哪个模型
MiniMax-M2.7是两个工具的稳妥默认选择。详情见 MiniMax-M2.7 页面。MiniMax-M2.7-highspeed质量相同、延迟更低,token 单价翻倍。适合等待时间比成本更重要的交互式会话。MiniMax-M3适合上下文超出 M2.7 承载范围的会话:大型 monorepo、很长的 Agent 对话记录,或针对整个代码库的提问。提示在 512K tokens 以内时与 M2.7 同价,超过后适用更高一档。见 MiniMax-M3 页面。
切换模型不会改变配置结构,只有模型 ID 不同。在同一个提供方里声明全部三个模型不产生任何费用,还能按任务在它们之间切换。
Agent 工具每一轮都会重新发送不断增长的对话,所以账单主要由输入 tokens 决定。命中缓存的输入按缓存读取价计费,M2.7 以及 512K 以内的 M3 均为每百万 tokens $0.06,这就是长会话每轮成本远低于标价输入价的原因。包括语音模型在内的完整价格表见定价页;平台上全部 MiniMax 模型的总览见 MiniMax 模型总览。
常见报错排查
401 Unauthorized
Key 缺失或错误。在启动工具的同一个终端里运行 echo $YIDUOCHAN_API_KEY。OpenCode 的 {env:...} 替换和 Codex 的 env_key 都在进程启动时解析,启动后才导出的变量读不到,需要重启工具。已在控制台吊销的 Key 同样返回 401,如果变量已设置却仍被拒绝,就生成一个新的 Key。
模型不存在(Model not found)
模型 ID 区分大小写:MiniMax-M2.7 可以,minimax-m2.7 和 MiniMax-M2-7 都不行。在 OpenCode 中,ID 是 models 下的对象键;在 Codex 中,是 model 的值。请与 /v1/models 的输出逐一核对。
Codex 返回 404 或空响应
几乎都是因为缺少 wire_api,或把它设成了 "responses"。在提供方表中设置 wire_api = "chat"。另外检查 base_url 是否以 /v1 结尾,而不是 /v1/chat/completions;Codex 会自己拼接路径,路径重复会返回 404。
OpenCode 没有列出提供方
校验 JSON 格式(最常见的原因是多了结尾逗号),并确认文件位于项目根目录或 ~/.config/opencode/opencode.json。npm 的值必须正好是 @ai-sdk/openai-compatible。运行 opencode models 查看提供方是否已注册。
余额不足
额度是预付的。因任何原因失败的请求(包括余额不足)都不计费。在控制台充值即可:预设档位有 $5、$10、$20、$50、$100、$200 和 $500,也可以自定义金额,最低 $5;额度有效期 12 个月。
长会话变慢或触及上下文上限
切换到 MiniMax-M3,获得 1,048,576 tokens 的上下文窗口:OpenCode 中用 yiduochan/MiniMax-M3,Codex 中用 codex --profile m3 或 codex -m MiniMax-M3。也可以用各工具的 /compact 命令压缩对话记录,继续使用 M2.7。
计费一览
- 预付美元额度,按量付费,无订阅。
- 最低充值 $5;额度有效期 12 个月。
- 失败的请求从不计费。
- 标准的 OpenAI 与 Anthropic 兼容 API;一个 Key 即可用于 OpenCode、Codex CLI 和 Claude Code。
关于具体配置或意外扣费的问题,请发邮件至 support@yiduochan.com。
常见问题
OpenCode 能通过自定义 OpenAI 兼容提供方使用 MiniMax 吗?
可以。在 opencode.json 中声明一个提供方,设置 "npm": "@ai-sdk/openai-compatible"、baseURL 为 https://yiduochan.com/v1,并从环境变量读取 API Key;之后 MiniMax-M2.7、MiniMax-M2.7-highspeed 和 MiniMax-M3 就会出现在 /models 中。
如何在 Codex CLI 的 config.toml 中添加自定义模型提供方?
在 ~/.codex/config.toml 中添加 [model_providers.yiduochan] 表,写入 base_url = "https://yiduochan.com/v1"、env_key = "YIDUOCHAN_API_KEY" 和 wire_api = "chat",然后在文件顶部设置 model = "MiniMax-M2.7" 和 model_provider = "yiduochan"。
为什么 Codex CLI 使用自定义 base_url 时返回 404?
Codex 默认使用 Responses API;设置 wire_api = "chat",让它调用 /v1/chat/completions,并确保 base_url 以 /v1 结尾,而不是完整的 completions 路径。
在 OpenCode 或 Codex CLI 中使用 MiniMax-M2.7 的费用是多少?
每百万输入 tokens $0.30,每百万输出 tokens $1.20;缓存读取为每百万 tokens $0.06,缓存写入为每百万 tokens $0.375。完整价格表见定价页。
大型仓库该用哪个 MiniMax 模型?
MiniMax-M3 有 1,048,576 tokens 的上下文窗口,提示在 512K tokens 以内时与 MiniMax-M2.7 同价;见 MiniMax-M3 页面。
在这些工具中使用 MiniMax 需要订阅吗?
不需要。YiduoChan 以美元预付、按量付费,最低充值 $5,无订阅,失败的请求从不计费;可在注册页创建账号。