Jan 本地客户端远程模型配置
最后更新: 2026-07-16
Jan 默认在你自己的机器上跑模型,它的 Model Providers 设置也接受任意 OpenAI 兼容端点,给本地不够用的那些时刻用:加一个供应商,Base URL 填 https://api.kkaiapi.com/v1,粘贴一个 Key,Claude、GPT、Gemini、DeepSeek 就加入你的本地阵容。
先说结论:设置里加一个供应商
打开 Jan 的设置,进入 Model Providers。点供应商列表旁边的加号加一个自定义供应商,起个名字(kkaiapi),在较新的版本里对话框会问你选哪种 API 格式(Jan v0.8.1 加入了 OpenAI 或 Anthropic 格式选择器;接一个网关就选 OpenAI)。然后填两个要紧的字段:Base URL https://api.kkaiapi.com/v1,你的 API Key。 按 ID 加你想要的模型:Jan 的文档写得很明确,id 属性必须和端点提供的模型名一致,所以从目录列表里复制 ID(claude-sonnet-4-6、gpt-5.4-mini、gemini-3.5-flash),不要凭记忆手打。保存之后,这些 ID 就会出现在模型选择器里,挨着你本地跑的那些模型。标签在不同版本之间有变动(旧版本把这块叫 Remote Engines),把供应商、格式、URL、Key、模型这个骨架当成稳定不变的东西看待。
名称: kkaiapi
API 格式: OpenAI (v0.8.1+ 选择器)
Base URL: https://api.kkaiapi.com/v1
API Key: sk-你的kkaiapi密钥
模型:添加和端点匹配的 ID,例如
claude-sonnet-4-6、gpt-5.4-mini、gemini-3.5-flashJan 怎么对待远程供应商
Jan(GitHub 上的 menloresearch,约 44K 星标)是本地优先的桌面客户端:模型下载到你的机器,通过 llama.cpp 跑,离线也能用,应用甚至自己暴露一个 OpenAI 兼容服务在 http://127.0.0.1:1337/v1,方便别的工具调用。远程供应商是刻意设计的第二条车道,给本地跑不动的大模型,或者值得上旗舰质量的任务用。 OpenAI 格式的自定义供应商就是一份朴素的端点描述:base URL、Key、声明的模型 ID。对着这些 ID 的对话会以标准 chat-completions 请求发出,ID 就是模型字符串,所以一个多厂商网关只需要一个条目。Claude 负责认真写作,DeepSeek 负责走量摘要,Gemini 负责快,一个 Key 全覆盖。 这个理念的契合度比听起来要好。本地优先的用户往往对什么东西离开机器很谨慎,一个网关能让远程车道保持同样的谨慎:一个端点方便你做防火墙规则,一份用量日志方便你查,一份余额只有你主动决定发送内容时才会变动。本地车道完全不受影响,你下载的模型照样离线跑,和以前一模一样。
声明模型:ID 契约
Jan 不会替你去抓一个自定义端点的目录;你声明的模型就是你能拿到的模型,ID 就是这份契约。权威拼写来自网关的 /v1/models 列表,版本后缀也算。一个偏离列表的声明 ID,只有在选中那个模型时才会报未找到,读起来像供应商不稳定,直到你去对比字符串才发现问题。 声明要刻意一些。一个本地优先的选择器,远程那几行越少越有的放矢越好用:一个快速 ID 应付日常远程轮次(gpt-5.4-mini 或 claude-haiku-4-5-20251001),一个旗舰 ID 应付值得离开机器的工作(claude-sonnet-4-6),再加上你的工作量配得上的专项模型(长篇多语言摘要用 deepseek-v4-flash,延迟是卖点时用 gemini-3.5-flash)。每一行以后都容易加;一次性粘进去一整份目录只是你每天要划过去的噪音。 如果你还用 Jan 的本地 API 服务器给别的工具用,把心智模型分清楚:那个服务器是 Jan 在 127.0.0.1:1337/v1 上当供应商用;自定义供应商条目是 Jan 在当客户端用。两者相互独立,配置一个不会影响另一个。
curl -s https://api.kkaiapi.com/v1/models \
-H "Authorization: Bearer $KKAIAPI_KEY" | head -50
# 在供应商的模型列表里逐字声明这些 ID哪些对话值得离开机器
因为远程用量是预充值、按 Key 计量的,远程车道的成本是一个你能读到的数字,不是一份要猜的订阅。跑一个月你真实的分配比例,用量日志会精确告诉你离开机器到底花了多少钱,按模型、按天。
- 日常远程轮次,快速提问、改写、翻译,归入快速档:gpt-5.4-mini 和 claude-haiku-4-5-20251001 回答快,余额几乎不动
- claude-sonnet-4-6 是本地模型明显扛不住的活儿的升级选项:长篇认真的草拟、细致的代码审阅、要转发出去的分析
- gemini-3.5-flash 靠延迟赢得自己的位置;短的交互轮次上,它的响应感最接近本地模型
- deepseek-v4-flash 是总结长文档的走量选择,这种量你不会喂给一个小的本地模型
- 私密材料完全留在本地模型上;两条车道的区分正是跑 Jan 这件事本身的意义所在
主力模型价格
价格按 kkaiapi 中文区实时价格计算,单位 ¥/1M tokens(输入/输出)。
| 模型 | 模型 ID | kkaiapi 价格(输入/输出) | 适合场景 |
|---|---|---|---|
| GPT-5.4 Mini | gpt-5.4-mini | ¥0.6 / ¥4 | 日常远程快问 |
| Claude Haiku 4.5 | claude-haiku-4-5-20251001 | ¥1 / ¥5 | 日常远程快问 |
| Claude Sonnet 4.6 | claude-sonnet-4-6 | ¥3 / ¥15 | 本地扛不住的工作 |
| Gemini 3.5 Flash | gemini-3.5-flash | ¥7 / ¥40 | 延迟敏感的交互 |
| DeepSeek V4 Flash | deepseek-v4-flash | ¥0.9 / ¥1.8 | 长文档走量摘要 |
Jan 专属的翻车点
某个具体模型报未找到,就是 ID 契约的问题:声明的 ID 和端点的拼写对不上。逐字符对照 /v1/models 的输出。 每个请求都鉴权失败是 Key 字段的问题。一个保存成功但从不回应的供应商,通常是 Base URL 的问题:/v1 后缀必须存在,因为 Jan 会在你给的 base 后面拼接 /chat/completions 这类路由路径,漏了或重复了都会 404。 如果供应商是在较旧的版本上创建的,查一下 API 格式:v0.8.1 引入了 OpenAI 或 Anthropic 的选择器,一个网关条目如果不小心设成了 Anthropic 格式,对着一个 /v1/chat/completions 端点说的就是错的方言。 记住你在排查哪条车道。本地模型的故障(显存、量化、llama.cpp 设置)和远程故障(URL、Key、ID)共用一个聊天窗口,除此之外没有任何共同点;模型选择器会告诉你一个失败的对话属于哪条车道,别在错的线索上死磕。
哪些人会给 Jan 加一条网关车道
- 本地优先用户,偶尔需要旗舰质量,想要那条偶发的车道走预充值余额,而不是厂商订阅
- 机器跑不动大型本地模型的开发者,用 Jan 当界面,重活交给网关
- 在意隐私、刻意想只用一个远程端点去思考、防火墙、审计的用户,而不是每家厂商一个
- 在真实任务上对比本地和云端输出的人,远程候选只是声明一行,不是新开一个账号
- 手头没有某家厂商官方支付渠道的开发者,充值即用不需要海外卡
验证接入与排查首次远程对话
先 curl 一遍模型列表和一次聊天补全;两个都通过,剩下的问题就都在供应商条目里,这一步还顺带给你精确的 ID 拼写。 在 Jan 里,用快速的远程 ID 发一条短消息。鉴权错误是 Key 的问题;未找到是 ID 的问题;沉默或 404 是 Base URL 形状的问题。如果远程车道能用但在旗舰 ID 上感觉很慢,那是模型延迟,不是配置问题;推理模型在长轮次上就是会花时间。 远程轮次跑起来之后,kkaiapi 控制台会显示每次请求的模型、token 数和花费。对一个本地优先用户来说,这份日志读起来格外让人满意:它是一切离开机器的内容的完整记录,按模型、按天,本地车道对它的贡献恰好是零。
curl -s https://api.kkaiapi.com/v1/chat/completions \
-H "Authorization: Bearer $KKAIAPI_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"gpt-5.4-mini",
"messages":[{"role":"user","content":"ping"}]}'常见问题
怎么给 Jan 加一个自定义 OpenAI 兼容供应商?
设置、Model Providers,点加号加一个供应商。起个名字,在会问的版本(v0.8.1+)里选 OpenAI 格式,填 Base URL https://api.kkaiapi.com/v1,粘贴 Key,再声明和端点列表拼写一致的模型 ID。
为什么我声明的模型返回未找到?
Jan 把声明的 ID 原样当模型字符串发送,文档要求这个 ID 必须和端点的模型名精确一致。拉一遍 /v1/models 列表复制拼写,包括版本后缀,不要凭记忆手打 ID。
加一个远程供应商会影响本地模型的运行方式吗?
不会。本地模型继续通过 llama.cpp 在设备上跑,离线也不受影响。供应商条目只是给选择器加了一条独立的远程车道,只有你选中一个远程 ID 时对话才会碰网络。
Base URL 要带 /v1 吗?
要:https://api.kkaiapi.com/v1。Jan 会在你配置的 base 后面拼接 /chat/completions 这类路由,漏了会 404,重复了也会。请求失败时先看报错里拼出来的完整 URL,再改别的。
Jan 能通过一个供应商条目接到 Claude 和 Gemini 吗?
能。在 OpenAI 格式里模型 ID 按纯字符串传递,所以 claude-sonnet-4-6、gemini-3.5-flash、gpt-5.4-mini、deepseek-v4-flash 都可以声明在同一个条目下,走一个 Key 计费,按对话切换。
这和 Jan 的本地 API 服务器是一回事吗?
不是。127.0.0.1:1337/v1 上的本地服务器是 Jan 把本地模型服务给别的工具用。自定义供应商条目是 Jan 在消费一个远程端点。两者是独立的功能,只是恰好都说 OpenAI 协议。