在 JetBrains AI Assistant 中把 Router One 配置为自定义 OpenAI 兼容 provider
JetBrains AI Assistant 是 IntelliJ IDEA、PyCharm、WebStorm、GoLand 等 JetBrains IDE 的 AI 插件。它的 OpenAI 兼容第三方 provider 属于自带 Key(BYOK)方案,可以用你的 Key 把 AI Chat 与已分配功能的请求发给 Router One:聊天界面、MCP 工具执行和 Agent 集成仍由 AI Assistant 负责,而回答、聊天上下文收集和聊天标题背后的模型调用会发到 Router One。本指南基于 IntelliJ IDEA、PyCharm、WebStorm 和 GoLand 2026.2.3(262.10968.x,2026 年 9 月 16 日至 18 日发布)、AI Assistant 插件 262.10968.97 和 AI Assistant 2026.2 文档;在这个版本中,provider 设置区仍标为 Beta。注意:JetBrains 支持人员表示,IDE 地区为 China Mainland 时这个 provider 不可用、设置区会被隐藏,Router One 无法解除这项限制;Continue 的 JetBrains 插件则可以自行填写 base URL。
配置前先确认插件、地区与 Key
AI Assistant 插件不随 IDE 捆绑:在「Settings | Plugins | Marketplace」搜索 AI Assistant 安装,或在 AI Chat 工具窗口点「Install Plugin」。JetBrains 文档说明 BYOK 不需要 JetBrains AI 订阅;所配置模型无法支持的功能届时不可用。有几种情况会隐藏或禁用 provider 设置:通过 JetBrains IDE Services 或 JetBrains Central 统一管理的 IDE,管理员可以指定 AI provider 并禁止接入第三方模型;IDE 地区为 China Mainland 时,JetBrains 支持人员表示 BYOK 集成和 OpenAI 兼容端点不可用,「Third-party AI providers」设置区会被隐藏,详见下方常见问题;对于缺少 AI Assistant 设置项的用户,JetBrains 支持人员还会请他们确认 Terminal、MCP Server、Markdown 和 Git 插件均已安装并启用。确认之后,在控制台为这个 IDE 单独创建一把 Router One Key,并从 /models 选好一个聊天模型 ID。本文使用英文界面中的标签。
把 JetBrains AI Assistant 配置到 Router One base URL
打开「Settings | Tools | AI Assistant | Providers & API keys」。在「Third-party AI providers」中,「Provider」选「OpenAI-compatible」,「URL」填 https://api.router.one/v1,「API Key」填这把专用 Router One Key,然后点「Test Connection」,等待显示「Connected」。URL 是以 /v1 结尾的基础地址,与 JetBrains 官方截图中的写法一致;端点路径由 AI Assistant 自行拼接,不要粘贴完整的 /chat/completions 地址。「Tool calling」用来声明模型是否支持调用 MCP 服务器提供的工具:首次文本测试时不要勾选,等模型详情页确认支持工具调用后再开启。在「Model Assignment」中,「Core features」选一个聊天模型,「Instant helpers」选一个更快、更便宜的模型,然后点「Apply」。AI Chat 打开时默认选中的是 Agent,因此先在模式选择器中切换到「Chat」,再在模型选择器里选 Router One 的模型(不要选「Auto」),发送一句简短消息。也可以在 AI Chat 起始页的「Use Third-party provider」下点「OpenAI-compatible, LM Studio, Ollama」,填写「Provider」「Base URL」「Key」「Model」后点「Continue」;该页面没有「Tool calling」和「Model Assignment」字段,之后仍需到设置页配置。设置页最终如下:
# Settings | Tools | AI Assistant | Providers & API keys # Third-party AI providers Provider: OpenAI-compatible URL: https://api.router.one/v1 API Key: sk-your-router-one-key Tool calling: cleared for the first text test Test Connection -> Connected # Model Assignment Core features: anthropic/claude-sonnet-5 Instant helpers: google/gemini-3.8-flash Context window: 64000 (AI Assistant default; documented for local models) # AI Completion: the default Provider, JetBrains, uses the JetBrains AI service, # so without JetBrains AI it gives no completions. Its OpenAI Compatible # option needs a fill-in-the-middle or edit-prediction model, not a chat model. # Apply, then AI Chat -> mode selector: Chat -> model: anthropic/claude-sonnet-5
哪些功能走 Router One Key,哪些不走
AI Assistant 按功能分配模型。只启用 OpenAI 兼容 provider 时,一个功能要么使用你分配的模型,要么不可用。如果同时激活了 JetBrains AI,第三方模型在支持的功能上优先使用,其余功能由 JetBrains AI 服务处理,这些请求不会到达 Router One。2026.2 文档与插件更新说明给出的划分如下:
| AI Assistant 功能 | 使用的模型 | 是否走 Router One |
|---|---|---|
| AI Chat 的 Chat 模式 | 在聊天模型选择器中选定的模型;「Core features」决定默认模型 | 是 |
| 生成提交信息 | 「Core features」模型 | 按文档是;首次生成后到 Dashboard → Logs 核对模型 ID |
| 编辑器内代码生成、「Generate documentation」 | 文档写的是「Core features」模型;插件更新说明中 262.10315 一节称编辑器内生成现在使用默认 Agent | 先实测:处理中的问题 LLM-31284 报告仅启用 BYOK 时这两个操作没有反应 |
| 其他核心功能(「Generate tests」「Resolve Git conflicts with AI」「Perform Self-Review with AI」) | 分配后使用「Core features」模型 | 先实测 |
| 聊天上下文收集、聊天标题生成、命名建议 | 「Instant helpers」模型 | 是,属于额外请求 |
| 代码补全、「Next edit suggestions」 | 「AI Completion」设置区,默认使用 JetBrains 模型 | 否:需要支持 fill-in-the-middle 或编辑预测的模型,而不是聊天模型 |
| Junie | 2026.2 激活方式表中只列出 JetBrains AI;不走 OpenAI 兼容 provider | 否 |
| Claude Agent、Codex(API Key 激活) | Anthropic 或 OpenAI provider;Codex 要求使用 OpenAI 直接签发的 Key | 否 |
请求路径、模型 ID 与 Tool calling 开关
JetBrains 文档没有写出端点路径,但问题跟踪器显示 OpenAI 兼容 provider 会自行在 URL 后拼接路径:JetBrains QA 验证时记录到「Test Connection」发送 GET {URL}/models(LLM-23557),一份针对 2026.2 版本的报告记录到 Chat 模式向 {URL}/chat/completions 发送 POST(LLM-30699)。另一条未关闭的报告(LLM-30768)描述 AI Assistant 通过 Responses API 调用 OpenAI 兼容网关。如果请求返回 400,提示该模型必须走另一条路径,说明 AI Assistant 调用的端点不支持这个模型,例如用 Responses 调用了 Claude 或 Gemini 的 ID;请换一个在 Router One 详情页上列出该端点的模型,例如走 /v1/responses 时选 GPT 系列 ID。在 AI Assistant 中应换模型而不是换 provider:Anthropic 和 OpenAI provider 只有 API Key、没有 URL 字段,无法指向 Router One。「Test Connection」和聊天模型选择器都从 GET https://api.router.one/v1/models 读取模型列表;Router One 的这个端点需要有效 Key,并返回完整目录。因此「Connected」只能证明 URL 和 Key 正确,不能证明某个模型的聊天请求一定成功。列表里还包含 gpt-image-2 这类图像生成 ID;只分配 Router One 详情页列出 POST /v1/chat/completions 的文本模型。aws/claude-sonnet-5 这类渠道 ID 是单独定价的目录条目,请按需选择并核对其详情页。ID 保留厂商前缀,例如 anthropic/claude-sonnet-5;JetBrains 官方截图的「Model」字段里显示的也是带斜杠的 ID,所以不要删除或额外添加前缀。JetBrains 问题跟踪器中,手动输入模型 ID 的需求仍未关闭(LLM-30975、LLM-31251),因此请从返回的列表中选择 ID。「Tool calling」是整个 provider 共用的一项设置,只有当你分配的每个模型在详情页都列出工具调用时才开启。另有一条未关闭的问题 LLM-27583(一份 OpenAI 兼容 provider 的报告 LLM-29711 已并入其中)描述 GPT-5.x 模型拒绝 AI Assistant 同时带函数工具和 reasoning_effort 的 Chat Completions 请求;如果错误信息点名这个组合,请换一个聊天模型,不要去改 URL 或 Key。
一次对话背后的额外请求
在 AI Chat 中问一个问题,可能不止一次请求 Router One:回答本身、由「Instant helpers」模型执行的聊天上下文收集与标题生成,以及每个 MCP 工具结果返回后的后续模型调用。「Codebase Mode」会自动收集项目上下文(可以关闭),这会增加输入 tokens;超过「Message Trimming Threshold」(模型上下文窗口的某个百分比)的消息会裁剪附件,「Model Assignment」中的「Context window」(文档称用于本地模型)默认值是 64000 tokens。生成提交信息时会发送你的 diff。为这个 IDE 单独使用一把设了 maxSpend 的 Key,会话失控时会在触顶后收到 HTTP 402,其他 Key 不受影响;再到 Dashboard → Logs 按时间、模型和 request_id 对账,结算状态可能短暂显示为 pending。JetBrains AI 小组件里的额度计数统计的是 JetBrains AI 用量,不是 Router One 的费用。如果「Generate Commit Message with AI Assistant」按钮转了一下却没有生成内容,请在 Logs 和 idea.log 中查找这次请求:一条未关闭的问题(LLM-25031)报告该操作不会在 IDE 中显示 BYOK provider 返回的错误。
JetBrains AI Assistant 该填哪个模型 ID?
从 /models 页复制精确的模型 ID,保留大小写、连字符和版本后缀,不要用展示名称代替。打开该模型的详情页,核对支持的 API 端点、上下文窗口和工具调用等能力,再与 JetBrains AI Assistant 当前选择的 provider 和功能对应。模型出现在目录里,不等于当前客户端能调用它的所有功能。建议为每个客户端或应用单独建 API Key,并设置 maxSpend 消费上限。
JetBrains AI Assistant 用的是哪种 API 协议?
OpenAI 兼容描述的是接口格式,不能据此推断 Chat Completions(/v1/chat/completions)、Responses(/v1/responses)和 Anthropic Messages(/v1/messages)可以互换。先核对工具当前版本、provider 配置和实际请求路径,再查模型详情与 API 兼容性事实页。一次普通对话成功,也不能证明服务端工具、历史状态或文件编辑功能都受支持。
在 trace 里验证 JetBrains AI Assistant 的调用
先在 JetBrains AI Assistant 发出一次简单文本请求,再到 Dashboard → Logs 按时间、模型和 request_id 核对 trace:tokens、花费、延迟和状态码。成功后再分别验证流式输出、工具调用和多轮历史。失败时保留实际请求路径、完整错误消息及 request_id;没有对应日志时,先查客户端配置和网络,不能仅凭客户端报错认定是网关或上游故障。
常见问题
在 AI Assistant 中使用 Router One,需要 JetBrains AI 订阅吗?
不需要。JetBrains 文档说明,通过第三方 provider 使用 BYOK 不需要 JetBrains AI 订阅,费用由该 provider 结算,在这里就是你的 Router One 钱包。没有 JetBrains AI 时,所分配模型无法支持的功能不可用,包括「AI Completion」默认的 JetBrains provider 提供的补全(它使用 JetBrains AI 服务);Junie 也不走 OpenAI 兼容 provider(见下一条)。你也可以在同一设置页点「Activate JetBrains AI」:之后第三方模型在支持的功能上优先使用,其余功能消耗 JetBrains AI 额度,而不是 Router One Key。如果 IDE 由所在组织统一管理,管理员可以预设 provider 或禁止接入第三方模型。
AI Chat 里的 Junie、Claude Agent 或 Codex 能用 Router One Key 吗?
2026.2 版本不能。Junie 不走 OpenAI 兼容 provider:文档的 Agent 激活方式表中,Junie 只列出 JetBrains AI;JetBrains 工作人员在问题跟踪器(LLM-22660)中也说明,Junie 的 BYOK 仅限 OpenAI 和 Anthropic 两个 provider;两处说法对 Junie 是否支持 BYOK 不一致,但都表明 Junie 不经过 OpenAI 兼容 provider。Claude Agent 用 API Key 激活时选择的是 Anthropic provider,Codex 选择的是 OpenAI provider,文档中这两者的设置只有 API Key、没有 URL 字段;Codex 文档页还写明必须使用 OpenAI 直接签发的 Key。因此 OpenAI 兼容 provider 只服务 Chat 模式和「Model Assignment」中分配的功能。通过 Agent Client Protocol(「More Agents」)添加的 Agent 使用各自的配置和计费,不经过这个 provider,请查看该 Agent 自己的设置。JetBrains 工作人员还在 LLM-22660 中表示,让 Junie 使用自定义模型已列入路线图,升级后请重新查看激活方式表。
看不到「Third-party AI providers」设置区,应该查什么?
在中国大陆以外看不到这个设置区,JetBrains 支持人员指出最常见的原因是地区设置:请检查「Settings | Appearance & Behavior | System Settings | Language and Region」或 JetBrains Account 资料中的地区是否设成了 China Mainland,该地区下这个设置区会被隐藏(见下方关于中国大陆的常见问题)。JetBrains 支持人员还会请你确认 Terminal、MCP Server、Markdown 和 Git 插件均已安装并启用(LLM-26514)。如果 IDE 通过 JetBrains IDE Services 或 JetBrains Central 统一管理,管理员可能控制了 provider 并禁止接入第三方模型。
AI Assistant 的「Test Connection」失败或模型列表为空,应该查什么?
把 URL 与 https://api.router.one/v1 逐字比对,后面不要再带 /chat/completions、/models 或其他路径。URL 正确但测试仍失败时,重新复制 Key:Router One 的模型列表对缺失或错误的 Key 返回 401。2026.1.2 之前的版本可能改写 base URL 中的版本段,或把它重复成 /v1/v1,导致返回 404(LLM-22911 与 LLM-27317,均已修复),继续排查前先升级 IDE 和插件。
JetBrains AI Assistant 能通过网关用哪些模型?
选用当前目录中同时支持 JetBrains AI Assistant 所用端点和所需功能的模型。精确 ID、当前单价与能力以 /models 及模型详情为准;不要仅按 GPT、Claude 等系列名判断兼容性。客户端能列出模型,只说明它从自身配置或 GET /v1/models 读到了这个 ID,仍需验证实际调用。
能列出模型,但调用报 400 或 404,怎么办?
先记录实际请求路径和错误消息,再核对精确模型 ID。400 可能是参数、工具类型或模型与端点不匹配;404 可能是请求路径或资源不存在,不能直接判定模型下线。若错误提示 must be called via,按它指明的端点调整客户端 provider,或换用支持当前端点的模型。不要在所有工具里统一增删 /v1 或 /chat/completions。
在中国大陆能用这套配置吗?
Router One 本身在中国大陆可直连、无需 VPN,但 AI Assistant 有自己的地区规则。JetBrains 支持人员在问题跟踪器中表示:IDE 地区为 China Mainland 时,BYOK 集成、本地模型和其他 OpenAI 兼容端点都不可用,「Third-party AI providers」设置区会被隐藏,而该地区起始页上出现的 BYOK 选项是已知的界面错误(LLM-26669、LLM-21270、LLM-26514)。因此本方案在该地区不可用,Router One 也无法解除这项限制。Continue 的 JetBrains 插件可以自行填写 base URL,详见 Continue 接入指南。
报 401/402/403/429 怎么排查?
先到 Dashboard → Logs 核对请求及错误消息。401 查 Key 是否传入和有效;402 查钱包余额与 maxSpend;403 查 Key 权限和访问限制;429 查请求频率、token 限额及上游限流,按错误来源处理。保留 request_id,再按错误码速查页逐项排查。