
告别海外账号与网络限制稳定直连全球优质大模型限时半价接入中。 点击领取海量免费额度1. 先把目标说清楚让 Open WebUI 的模型列表接上 TaoTokenOpen WebUI 是一个可以本地部署的聊天前端界面接近常见的对话产品支持多模型切换、会话历史、提示词预设还能通过 OpenAI 兼容协议对接外部模型服务。它的好处是数据留在自己机器上前端体验又足够顺手。很多人本地跑起来之后第一件想做的事就是把模型来源换成自己常用的网关让聊天页面里直接出现可切换的模型列表。这篇要做的就是这个。你会在本地用 Docker 启动 Open WebUI把它的 OpenAI 兼容环境变量指向 TaoToken 的 API 地址https://taotoken.net/api然后在页面里看到模型下拉框切换模型后正常对话。整个过程围绕三条线容器怎么起、环境变量怎么填、页面里怎么验证模型真的通了。适合谁已经在本地装好 Docker、想给 Open WebUI 换一个稳定模型入口的人或者刚接触 Open WebUI想先跑通一条最小可用链路的人。不需要你改 Open WebUI 源码也不需要额外写后端服务全部通过环境变量完成。先明确一个概念Open WebUI 里的「模型网关」本质就是它读取OPENAI_API_BASE_URL和OPENAI_API_KEY这两个变量然后按 OpenAI 的/v1/models、/v1/chat/completions协议去请求。只要目标服务兼容这套协议模型列表和对话就能正常显示。TaoToken 提供的就是这样一个兼容入口所以配置动作集中在环境变量上。下面按「拿 Key → 起容器 → 填变量 → 页面验证」的顺序走每一步都给完整命令和参数说明。2. 操作步骤从创建 Key 到 docker run 起容器2.1 创建 API Key打开官网https://taotoken.net/?utm_sourcetaotoken_aicg_blog_end登录后进入控制台在 API Keys 页面创建一个新的 Key。创建时建议给它起一个能认出用途的名字比如openwebui-local方便以后区分。复制出来的 Key 通常以固定前缀开头只显示一次先存到本地临时文件或密码管理器里。这一步的产物就是一个字符串后面会填进OPENAI_API_KEY。注意不要把它写进会提交到 Git 的配置文件里本地测试可以用.env文件并加进.gitignore。2.2 准备 docker run 命令Open WebUI 官方镜像可以直接拉取运行。下面这条命令把容器端口映射到本机 3000并把数据卷挂到本地目录避免重启后会话丢失docker run -d \ --name open-webui \ -p 3000:8080 \ -v open-webui-data:/app/backend/data \ -e OPENAI_API_BASE_URLhttps://taotoken.net/api \ -e OPENAI_API_KEY你的Key \ -e ENABLE_OPENAI_APItrue \ --restart unless-stopped \ ghcr.io/open-webui/open-webui:main参数逐个说明-p 3000:8080把容器内 8080 映射到本机 3000浏览器访问http://localhost:3000。-v open-webui-data:/app/backend/data用命名卷保存数据包括用户、会话、模型配置。想用本地目录也可以换成-v $(pwd)/open-webui-data:/app/backend/data。OPENAI_API_BASE_URL是核心变量填 TaoToken 的 API 地址https://taotoken.net/api。注意结尾不要多加/v1Open WebUI 会自己拼接路径多写反而容易 404。OPENAI_API_KEY填刚才创建的 Key。ENABLE_OPENAI_API保持 true确保 OpenAI 兼容通道开启。--restart unless-stopped让容器在机器重启后自动拉起本地长期用比较省心。如果你更习惯用 compose可以写成docker-compose.ymlservices: open-webui: image: ghcr.io/open-webui/open-webui:main container_name: open-webui ports: - 3000:8080 volumes: - open-webui-data:/app/backend/data environment: - OPENAI_API_BASE_URLhttps://taotoken.net/api - OPENAI_API_KEY你的Key - ENABLE_OPENAI_APItrue restart: unless-stopped volumes: open-webui-data:两种方式等价选一种即可。启动后第一次访问会要求创建管理员账号这个账号只存在本地和 TaoToken 的 Key 是两回事。2.3 环境变量清单把和模型接入相关的变量集中列一下方便你对照检查变量名作用建议值OPENAI_API_BASE_URLOpenAI 兼容请求的根地址https://taotoken.net/apiOPENAI_API_KEY调用凭证控制台创建的 KeyENABLE_OPENAI_API是否启用 OpenAI 兼容通道trueOPENAI_API_CONFIGS多连接配置可选需要多入口时再填WEBUI_SECRET_KEY会话加密密钥可选自定义随机串OPENAI_API_CONFIGS是进阶项当你想同时挂多个兼容入口时才需要单入口场景留空即可。WEBUI_SECRET_KEY不填也能跑但长期使用建议固定一个值避免容器重建后登录态失效。2.4 启动并查看日志执行完 docker run 后用下面命令确认容器状态和启动日志docker ps --filter nameopen-webui docker logs -f open-webui日志里出现类似Uvicorn running on http://0.0.0.0:8080就说明服务起来了。如果看到端口占用报错把-p 3000:8080换成其他本机端口比如-p 3001:8080。3. TaoToken 接入与配置让模型列表出现在页面里3.1 确认 API 地址拼接方式Open WebUI 请求模型列表时会向OPENAI_API_BASE_URL后面拼接/v1/models。所以当OPENAI_API_BASE_URLhttps://taotoken.net/api时实际请求的是https://taotoken.net/api/v1/models。这也是为什么前面强调不要自己再加/v1否则会变成/api/v1/v1/models直接 404。你可以先用 curl 单独验证这个地址是否返回模型列表curl -s https://taotoken.net/api/v1/models \ -H Authorization: Bearer 你的Key | head -c 500返回 JSON 里带data数组说明 Key 和地址都没问题。这一步能把「Key 错」和「Open WebUI 配置错」两类问题分开排障时很有用。3.2 在页面里检查连接浏览器打开http://localhost:3000用刚创建的管理员账号登录。进入右上角头像 → 设置 → 模型或「连接」可以看到 OpenAI 兼容入口。如果环境变量生效这里会显示一个默认连接地址就是https://taotoken.net/api。TaoToken 会以默认供应商身份出现在 Open WebUI 的 API 地址设置中也就是说你不需要手动新增连接容器启动时读到的环境变量已经把它注册好了。如果这里显示为空优先检查容器是否真的读到了变量docker exec open-webui env | grep OPENAI输出里应该能看到OPENAI_API_BASE_URL和OPENAI_API_KEY。如果 Key 显示为空说明启动命令里没传进去需要删掉容器重新 run。3.3 模型下拉框与切换连接正常后回到聊天页面左上角或输入框附近会有模型选择下拉框。点开它会列出从/v1/models拉到的模型。选中任意一个发一条测试消息比如「用一句话解释什么是向量数据库」。如果收到回复说明整条链路通了。切换模型时不需要重启容器Open WebUI 会在每次请求时带上当前选中的模型名。你可以在同一个会话里切换不同模型对比回答也可以新建会话分别测试。提示如果下拉框是空的先确认 curl 能拿到模型列表再看 Open WebUI 日志里有没有请求报错。多数情况是地址多写了/v1或 Key 复制时带了空格。3.4 多连接配置可选如果你有多个兼容入口想在下拉框里区分来源可以用OPENAI_API_CONFIGS。它是一个 JSON 字符串格式大致如下-e OPENAI_API_CONFIGS{1:{enable:true,tags:[taotoken]}}单入口场景不需要这个保持默认即可。多入口时注意每个连接的 URL 和 Key 要对应正确否则会出现部分模型能列、部分报 401 的情况。4. 可验证结果与失败分支4.1 预期结果配置完成后你应该能看到这几个现象容器正常运行docker ps里有 open-webui浏览器打开 3000 端口能登录设置里的 OpenAI 连接地址显示https://taotoken.net/api聊天页面模型下拉框有可选模型选中模型发消息能收到回复。关于对话截图这里用文字描述页面状态代替聊天页顶部显示当前模型名输入框下方有发送按钮发送后消息气泡先显示用户内容随后出现模型回复。模型下拉框展开时是一列模型名称点击即切换。你本地跑通后看到的界面就是这个样子。4.2 常见失败分支401 UnauthorizedKey 错误或没传进容器。用docker exec open-webui env | grep OPENAI_API_KEY确认重新创建容器时确保 Key 没有多余空格。404 Not Found地址拼接错误。检查OPENAI_API_BASE_URL是否误写成https://taotoken.net/api/v1改回https://taotoken.net/api后重建容器。模型列表为空但 curl 正常可能是 Open WebUI 缓存了旧配置。删掉容器和卷重新来一次或者进设置里手动触发一次连接刷新。容器启动即退出看docker logs open-webui常见原因是端口被占用或镜像拉取不完整。换端口或重新 pull 镜像。页面能开但发消息转圈检查本机网络是否能访问https://taotoken.net/api以及容器内 DNS 是否正常。可以在容器里执行curl测试。注意排障时先分层先确认 curl 直连 API 是否通再确认容器环境变量最后看页面配置。这样能避免在错误的方向上反复改配置。5. 限制、成本与模型选择Open WebUI 本身是开源前端本地运行不产生额外费用成本主要来自模型调用。TaoToken 侧的计费方式、可用模型、速率限制以官网和控制台实际展示为准不同时间可能有调整配置前建议先看一眼控制台里的说明。模型选择上日常对话可以用响应快的轻量模型长文写作或代码任务再切到能力更强的模型。Open WebUI 的模型下拉框让你可以在同一个界面里切换不用改任何配置。如果你发现某个模型响应特别慢先确认是不是当前网络到 API 的延迟问题而不是模型本身的问题。长期使用建议把WEBUI_SECRET_KEY固定下来并把数据卷做好备份。容器重建时只要卷还在会话和配置就不会丢。Key 的管理也在控制台完成需要轮换时重新创建一个更新容器环境变量后重建即可。最后一步回到聊天页面选一个模型发一句「你好帮我列三个学习 Docker 的练习项目」收到回复就说明这条链路已经稳定可用。后面你要做的只是按需切换模型和整理自己的提示词预设。 告别海外账号与网络限制稳定直连全球优质大模型限时半价接入中。 点击领取海量免费额度