文档 · 指南
让 StepCode 用任意模型
StepCode 是阶跃星辰的终端编程 Agent,命令是 step。它的默认供应商和模型写在 config.toml 里,供应商列表写在 models.json 里,用的是 Pi 的供应商格式。magpie 在 models.json 里加一个名为 magpie 的供应商,再在 config.toml 里把它设为默认,StepCode 就能用 DeepSeek、GLM、Kimi、Qwen、Claude 或 ChatGPT 订阅等 magpie 里的任意模型。
接入 StepCode
- 在 magpie 里添加供应商在 供应商 页添加 API Key,或登录一个订阅。
- 在 Agent 页给 StepCode 选模型选一个 via magpie 的模型。命令行里
magpie step也是同一个 Agent。 - 启动 StepCodeStepCode 启动时读这两个文件,新开的会话就用选好的模型。
magpie stepcode deepseek/deepseek-v4-pro
config.toml 和 models.json
文件在 ~/.stepcode 里;STEP_CODING_AGENT_DIR 是绝对路径时,用它的上一级文件夹。用 STEPCODE_CONFIG_DIR 改了文件夹名的,magpie 在本机也跟着用。magpie 在 config.toml 里只写这几项,文件里的其他内容原样保留:
# ~/.stepcode/config.toml defaultProvider = "magpie" defaultModel = "deepseek/deepseek-v4-pro" enabledModels = ["…", "magpie/deepseek/deepseek-v4-pro"]
在 models.json 里,magpie 只写 providers.magpie:baseUrl 是网关的 /v1,接口是 openai-completions,apiKey 是 magpie 给 StepCode 的专用 Key,models 里是 magpie 的模型。models.json 可以带注释(JSONC)。写入前 magpie 先检查它:根、providers 和 providers.magpie 都必须是对象,不是的话就不写,免得弄坏你的文件。
// ~/.stepcode/models.json
{
"providers": {
"magpie": {
"name": "magpie",
"baseUrl": "http://127.0.0.1:3425/v1",
"api": "openai-completions",
"apiKey": "",
"models": [ { "id": "deepseek/deepseek-v4-pro", … } ]
}
}
} enabledModels 范围
enabledModels 是一个范围,里面的写法按模式去匹配模型。StepCode 启动时,如果范围里有模式能匹配默认模型,就用默认模型;否则用范围里的第一项(去掉 :级别 后缀)。所以只改默认模型不够:你设了范围时,magpie 会把它选的模型追加到范围里,并记下是它加的。切回时只删掉这些,你自己写的范围不动。供应商改名时,范围里对应的条目也跟着改。
切回
magpie 第一次写入前会记下原来的默认供应商、模型和范围,原来的 providers.magpie 原文,以及 config.toml、models.json 和 providers 是否本来就存在。切回时把这些都放回去,magpie 自己新建的文件也删掉。
magpie stepcode default
常见问题
StepCode 能用 DeepSeek、GLM 或 ChatGPT 订阅吗?
能。在 magpie 的 Agent 页给 StepCode 选一个 via magpie 的模型,再启动 StepCode。
为什么设了 defaultModel,StepCode 还是用了别的模型?
你设了 enabledModels 时,默认模型要在范围里才会被用到。magpie 会把它选的模型追加进范围,切回时只删掉它加的。
models.json 有注释也能用吗?
能。magpie 按 JSONC 读它;根、providers 或 providers.magpie 不是对象时不写入。
切回后原来的设置会恢复吗?
会。原来的默认供应商、模型、范围和 providers.magpie 都放回去,magpie 新建的文件也会删掉。
更多 Agent 用同样的模型:让 Avibe 用任意模型、让 MothX 用任意模型、让 Pi 用任意模型、让 omp 用任意模型。遇到报错?见 常见错误排查,或到 Discord 提问。