首页 中文文档 接入各家模型 OpenAI 与兼容端点

接 OpenAI 与任意兼容端点

基于 SillyTavern 1.18.0最后更新:2026-07-27
非官方文档。本站由 PokiTavern 维护,与 SillyTavern 开源项目没有隶属关系, 内容也未经该项目审核。文中的行为描述以 SillyTavern 1.18.0 源码为准,并附出处链接。

这一页覆盖三种情况:直连 OpenAI 官方、通过别人的中转、 以及接任何一个 OpenAI 格式的端点。三种共用同一套请求组装逻辑, 区别只在基础地址和凭据从哪来。搞清这两件事,剩下的都一样。

三种填法怎么选

你的情况来源选基础地址凭据
有 OpenAI 官方密钥OpenAI不用填「OpenAI API 密钥」
用别人的 OpenAI 中转OpenAI填「反向代理」「代理密码」
接任意兼容端点自定义(兼容 OpenAI)填「自定义端点(基础 URL)」「自定义 API 密钥」,可留空

直连官方要填什么

  1. 顶部 API 下拉选「聊天补全」。
  2. 「聊天补全来源」选 OpenAI。
  3. 密钥粘进「OpenAI API 密钥」。
  4. 点「连接」,然后从模型下拉里选。

基础地址是常量 https://api.openai.com/v1,生成请求发到 /chat/completions,模型列表走 /models,凭据以 Authorization: Bearer 发出。常量见 SillyTavern 的 API_OPENAI

「反向代理」和「代理密码」是怎么配对的

填了反向代理,基础地址就整个换成你填的那个;同时凭据也换人, 发出去的 Bearer 变成「代理密码」那一栏的值,你的 OpenAI 密钥不再参与这次请求。

这个规则在 SillyTavern 里写成一行三元表达式, 各来源分支的写法都一样。 还有一个副作用:一旦填了反向代理,服务端就不再检查密钥是否为空, 因为中转方可能压根不要凭据。

两个最常见的错法:只填了地址没填代理密码,于是发出去一个空 Bearer; 或者把中转方给的 key 填进了「OpenAI API 密钥」那一栏,那一栏此时根本不会被读取。

「自定义(兼容 OpenAI)」怎么填

基础地址填进「自定义端点(基础 URL)」,服务端会在它后面接 /chat/completions。密钥填「自定义 API 密钥」,允许留空, 服务端不会因为它空着就拦下请求。

前端在那个输入框下面写了两句提示,可以当成排错清单:地址不行的话试着在末尾加 /v1/chat/completions 这段后缀是自动补上的,你不用自己写。 末尾多带一个斜杠不影响,拼接时会被折掉。

三个 YAML 字段

自定义来源比其它来源多认三样东西,都填 YAML:

顺序值得记一下:通用字段先落位,额外请求体压在它上面(所以同名键归你), 排除列表最后执行(所以它能删掉前两步的任何键)。 「某个参数怎么都发不出去」,先看是不是被排除列表删了。

请求体里有哪些字段

通用字段是这些:messagesmodeltemperaturemax_tokensmax_completion_tokensstreampresence_penaltyfrequency_penaltytop_ptop_klogit_biasseedn

两个细节。第一,stop 只在它是非空数组时才会出现。 第二,值为 null 的键会在发出前被整体删掉,这是为了对齐 JavaScript 里 JSON.stringify 丢弃 undefined 的行为。 所以你在设置里没动过的参数,不会以 null 的形式发给上游。

max_tokensmax_completion_tokens 两个都在列表里, 都原样透传。部分新模型只认后者,这时前者会被上游忽略或报错, 具体看上游的错误正文。

连不上时先查什么

现象多半是
选了自定义来源,点连接直接 400基础 URL 是空的。服务端要求自定义来源必须有地址,空着就本地拒绝
OpenAI 来源点连接直接 400密钥为空,且没填反向代理
报 400 且带上游正文上游 401 被改写成了 400,凭据被对方拒绝
路径里出现两个斜杠或缺一段基础 URL 写到了 /chat/completions 那一层,往回删
502连不上那个地址。自建端点先确认它在外网或局域网可达

常见问题

空密钥能连吗

自定义来源可以,服务端对它跳过缺密钥检查。OpenAI 来源不行,除非你填了反向代理。 这条规则和 SillyTavern 一致,本地部署的推理服务往往不设密钥。

想给请求加一个自定义请求头

只有自定义来源支持。用那个 YAML 字段,写成键值对即可,值会被转成字符串再放进请求头。

Azure OpenAI 能接吗

前端来源列表里有 Azure OpenAI 这一项,但 PokiTavern 的服务端没有实现它的专用分支, 选中之后请求会在本地被拒,直接回 400,响应体是 {"error": true}, 没有说明文字。如果你的 Azure 部署提供了 OpenAI 兼容路径,可以用自定义来源试。

本地跑的 LM Studio、vLLM 怎么接

两条路都行:用自定义来源填 http://电脑IP:端口/v1, 或者走「文本补全」通道里的 API 类型。要注意地址里不能写 localhost, 原因和 Ollama 那一页讲的一样。

换成别的接入方式

不想按量付费,看手机端侧模型; 不想逐家注册,看 OpenRouter; 要用 Anthropic 原生格式,看 Claude。 对照表在枢纽页

本文讲的接入方式,在 PokiTavern 的安卓端可以直接用:它内嵌了一个 SillyTavern 兼容服务端,不用 Termux、不用电脑。项目开源在 GitHub