文档 · 指南
让 Pencil 用任意模型
Pencil(pen.dev)是一个设计画布,它的 Agent 会调用模型。Pencil 可以在 ~/.pencil/models.json 里配置你自己的供应商,格式和 Pi 一样。magpie 在这里加一个名为 magpie 的供应商,Pencil 的模型选择器里就有了 DeepSeek、GLM、Kimi、Qwen、Claude 或 ChatGPT 订阅等 magpie 里的模型。
接入 Pencil
- 在 magpie 里添加供应商在 供应商 页添加 API Key,或登录一个订阅。
- 在 Agent 页把 Pencil 的供应商设为 magpiePencil 的模型选择器里就会列出 magpie 为它选的模型。
- 重启 Pencil,在 Agent 输入框里选模型Pencil 只在启动时读取自定义模型,所以要重启一次。模型在 Pencil 的 Agent 输入框里选,不在 magpie 能读到的文件里。
magpie 在电脑上找到 Pencil 的方式:~/.pencil 文件夹(Pencil 应用和 pen.dev 命令行运行过一次后就有);在 Mac 上,装好但从没打开过的应用也能按 Pencil.app 或 pen.dev.app 找到。
models.json
Pencil 设置里的自定义供应商可以用 OpenAI Completions、OpenAI Responses 或 Anthropic Messages,对整个供应商生效。magpie 的供应商用 OpenAI Completions(Pi 的 openai-completions),指向网关的 /v1,网关对每个模型都接受这个协议:
// ~/.pencil/models.json
{
"providers": {
"magpie": {
"name": "magpie",
"baseUrl": "http://127.0.0.1:3425/v1",
"api": "openai-completions",
"apiKey": "",
"models": [
{
"id": "deepseek/deepseek-v4-pro",
"name": "…",
"reasoning": …,
"input": ["text", …],
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"contextWindow": …,
"maxTokens": …,
"compat": {}
}
]
}
}
} Pencil 的请求带着 magpie 给 Pencil 的 Key,magpie 靠它认出 Pencil,因为 Pencil 的 User-Agent 不好分辨。
模型字段
每个模型都带上 Pencil 自己给模型写的全部字段。magpie 不知道的值用 Pi 的默认值:上下文 128K,回复 16K。cost 全是 0,因为花费由 magpie 自己统计。模型自己的 api 和 baseUrl 不写,Pi 会读它们,但 Pencil 自己的编辑器从不写。
你的供应商保持不变
你在 Pencil 里配置的其他供应商保持不动。magpie 供应商里不是 magpie 写的键(比如别的工具加的设置)也会保留。模型列表只归 magpie 管:目录里没有了的模型会从列表里消失。
切回
在 magpie 里关掉 Pencil 时,magpie 从 models.json 里删掉 magpie 供应商,其他供应商保持不动。
常见问题
Pencil 能用 DeepSeek 或 GLM 吗?
能。magpie 在 ~/.pencil/models.json 里加一个 magpie 供应商,重启 Pencil 后在 Agent 输入框里选模型即可。
为什么 Pencil 里看不到 magpie 的模型?
Pencil 只在启动时读取自定义模型。重启 Pencil。
magpie 的供应商用什么协议?
OpenAI Completions,指向网关的 /v1,所有模型都走它。
magpie 会改我在 Pencil 里的其他供应商吗?
不会。magpie 只写自己的 magpie 供应商。
更多 Agent 用同样的模型:让 OpenPencil 用任意模型、让 WorkBuddy 用任意模型、让 Pi 用任意模型、让 Mistral Vibe 用任意模型。遇到报错?见 常见错误排查,或到 Discord 提问。