文档 · 指南

让 jcode 用任意模型

jcode(1jehuang/jcode)是一个用 Rust 写的编程 Agent,设置存在 config.toml 里。你自己加的供应商是一个具名配置 [providers.<名字>],和 jcode provider add 写的一样。magpie 把自己加成名为 magpie 的配置,指向本机网关,列出 magpie 的每个模型,并让 jcode 从你选的模型启动。于是 jcode 能用 magpie 里的任何模型:DeepSeek、GLM、Kimi、Qwen、OpenAI 或 Anthropic Key,或 ChatGPT、Copilot 订阅。

接入 jcode

  1. 在 magpie 里添加供应商在 供应商 页添加 API Key,或登录一个订阅。
  2. 在 jcode 那一行选模型装了 jcode,magpie 的 Agent 页就有 jcode 一行,选一个模型。
  3. 启动 jcode新开的 jcode 就从这个模型启动;已经开着的会话要重启一次。
终端
magpie jcode deepseek/deepseek-v4-pro
jcode   # /model lists every magpie model, /effort its levels

写了哪些内容

jcode 的文件夹是 $JCODE_HOME,没设时是 ~/.jcode。magpie 在 config.toml 里写 [providers.magpie]:type = "openai-compatible"(jcode 的 Chat Completions 客户端),base_url 指向网关的 /v1,一个标明 jcode 的 api_key,以及 requires_api_key = true。最后这一项是因为 jcode 把本机回环地址上的网关当成不需要 Key,就不发 Key 了,而 magpie 要靠这个 Key 认出请求来自 jcode。然后把 [provider] 的 default_provider 和 default_model 设为 magpie 和你选的模型。

终端
# ~/.jcode/config.toml
[provider]
default_provider = "magpie"
default_model = "deepseek/deepseek-v4-pro"

[providers.magpie]
type = "openai-compatible"
base_url = "http://127.0.0.1:3425/v1"
api_key = "…"
requires_api_key = true
models = [
  { id = "deepseek/deepseek-v4-pro", context_window = …, input = ["text"], reasoning = true },
  …
]

/model 和 /effort

magpie 的每个模型都是 models 里的一项,所以 jcode 的 /model 选择器里能看到并切换所有模型。每项写上上下文窗口(magpie 不知道时写 128K,否则 jcode 会按 200K 算)、是否支持图片;有思考强度档位的模型写 reasoning = true,jcode 的 /effort 就会给出这些档位。你给某个 magpie 模型设的 reasoning_effort 只要模型还有这一档就会保留。magpie 的模型列表变了,magpie 会更新这个列表。

什么时候生效

jcode 只在启动时读设置,所以开着的 jcode 会话要重启才会用到新模型或新列表;有 jcode 在运行时,magpie 会提示这一点。

你自己的设置

接入前 [provider] 指向的配置和模型会被记下,切回时放回去。文件里其他内容都是你的,原样保留,包括你在 magpie 配置里自己加的键(headers、extra_body、某个模型的 reasoning_effort)。config.toml 解析不了时,magpie 报错并原样不动,绝不把它当成空文件覆盖。jcode 自己保存设置时会把模型写成 [[providers.magpie.models]] 表,magpie 下次写时把它们合回一个数组。

切回

在 magpie 里把那一行切回默认:如果 jcode 还从 magpie 启动,magpie 把 [provider] 还原成接入前的样子;你在 jcode 里自己换过的选择保留。然后整个 [providers.magpie] 连同里面你自己加的键一起删掉。也可以选一个 jcode 自己的模型,magpie 就把 default_model 设成它。

终端
magpie jcode default

常见问题

jcode 能用 DeepSeek、GLM、Kimi 或 Qwen 吗?

能。magpie 在 jcode 的 config.toml 里写一个 openai-compatible 的 [providers.magpie] 配置,指向本机网关,并让 jcode 从你选的模型启动。

jcode 的 /model 里能切换 magpie 的模型吗?

能。magpie 的每个模型都写在 magpie 配置的 models 里,/model 能看到并切换;有思考档位的模型在 /effort 里能选档位。

为什么选了模型 jcode 没变?

jcode 只在启动时读设置。重启开着的 jcode 会话即可。

切回后我的设置还在吗?

在。magpie 只删 [providers.magpie],并在 jcode 还从 magpie 启动时还原 [provider];文件里其他内容原样保留。

更多 Agent 用同样的模型:让 Crush 用任意模型、OpenCode 接入其他模型、让 Goose 用任意模型。遇到报错?见 常见错误排查,或到 Discord 提问。