n8n 节点里多写了 /v1 报 401?TaoToken 这样改 Base URL

发布时间:2026/9/17 23:50:01
n8n 节点里多写了 /v1 报 401?TaoToken 这样改 Base URL 1. n8n Agent 节点报 401先看 Credential 里的 Base URL自托管 n8n 跑 Agent 节点时模型 Credential 的 Base URL 多写一截/v1请求会被识别成错误路径并返回 401。TaoToken 的官网用于注册和创建 Keyhttps://taotoken.net/?utm_sourcetaotoken_aicg_blog_end 真正填进 n8n Credential 的 Base URL 是 https://taotoken.net/api 末尾不要加/v1。原文的 n8n 快速入门讲到 Docker 安装、放行 5678 防火墙、进入工作流面板看到 Agent 功能点但没有展开模型认证这一层所以很多读者第一次在 Agent 节点里选模型时会把地址抄成带/v1的版本保存后节点立刻抛 401。这个报错容易让人怀疑 API Key 填错、余额不足或者模型没开通。实际排障时先看 Credential 里的 Base URL 末尾再看 Key 有没有带空格最后才看模型 ID。n8n 的 Agent 节点本身不负责拼接地址它把模型请求交给下层的 Chat Model 子节点子节点再根据 Credential 里的 Base URL 发请求。地址多一段路由就换了。1.1 401 在 n8n Agent 里常常不是模型选错n8n 自托管后工作流面板里能看到 Agent、Chat Model、Memory、Tool 这些节点。Agent 是调度层真正发模型请求的是 Chat Model 子节点。OpenAI 类型的 Credential 里有一个 Base URL 字段它决定了请求发到哪个域名、哪个路径前缀。很多教程写的是官方地址末尾通常带/v1换成统一 API 通道后如果照抄旧习惯就会在 https://taotoken.net/api 后面再补/v1。服务端收到/api/v1/...这类路径时可能没有对应路由。路由不存在时有的服务端返回 404有的服务端为了不暴露细节会返回 401。n8n 的错误面板通常只显示状态码和一小段响应体看起来像鉴权失败。判断方法很简单同一把 Key 在别处能用在 n8n 里 401优先怀疑 Base URL。还有一种情况是复制 Key 时带上了换行或空格。n8n 的 Credential 输入框不会自动去掉首尾空格粘贴后如果末尾多一个空格鉴权也会失败。排障顺序建议固定成Base URL 末尾、Key 首尾、模型 ID 是否存在。1.2 结尾多一个 /v1请求就走到另一条路由把 Base URL 想象成快递集散中心。集散中心地址写对了包裹才能进入正确的分拣线地址后面多写一个门牌号快递员就会把包裹送到不存在的仓库。n8n 的 Chat Model 子节点会在这个 Base URL 后面追加自己的路径比如聊天补全路径。如果 Base URL 已经带了/v1追加后就会变成双重版本号。正确的填法是Base URL: https://taotoken.net/api API Key: YOUR_API_KEY错误的填法通常长这样Base URL: https://taotoken.net/api/v1 Base URL: https://taotoken.net/api/v1/ Base URL: https://taotoken.net/api/末尾斜杠也可能带来问题。有的客户端会先去掉末尾斜杠再拼接有的不会。为了避免不同 n8n 版本行为不一致统一写成不带末尾斜杠的 https://taotoken.net/api 。这不是风格问题而是让路由拼接结果稳定。2. 从 Docker 起 n8n 到 5678 登录模型 Credential 放在哪一步原文的安装路径是轻量服务器加宝塔面板再从 Docker 应用商店安装 n8n。这个顺序没问题但安装完成只是把 n8n 本体跑起来。模型认证要等进入工作流面板、添加 Agent 节点时才配置。把安装和模型接入拆成两个阶段排障会清晰很多5678 打不开是部署问题Agent 节点 401 是 Credential 问题。如果你不用应用商店也可以用 docker-compose 起一个自托管实例。下面这份配置只负责把 n8n 跑起来不包含模型 Keyservices: n8n: image: n8nio/n8n:latest container_name: n8n restart: unless-stopped ports: - 5678:5678 environment: - N8N_HOST你的服务器IP - N8N_PORT5678 - N8N_PROTOCOLhttp - WEBHOOK_URLhttp://你的服务器IP:5678/ - GENERIC_TIMEZONEAsia/Shanghai volumes: - ./n8n_data:/home/node/.n8n2.1 Docker 应用商店安装后先放行 5678在宝塔面板里打开 Docker进入应用商店找到 n8n 并安装。安装完成后先看容器是否处于运行状态再看服务器防火墙和云厂商安全组有没有放行 5678。原文提到打开防火墙入口这一步很关键。很多人只开了宝塔面板的防火墙忘了云服务器控制台的安全组结果浏览器访问http://服务器IP:5678一直超时。访问成功后n8n 会要求注册管理员邮箱和密码。这个账号只属于你自己的 n8n 实例用来登录工作流面板。开源社区版没有密码找回服务密码要自己保存好。登录后进入工作流面板能看到示例工作流和 Agent 相关功能点。到这一步n8n 本体已经可用但模型请求还没有出口。2.2 注册 n8n 管理员后去 TaoToken 创建 API Keyn8n 管理员注册完成后不要急着在 Agent 节点里随便选一个模型就执行。先打开 TaoToken 注册账号在控制台里创建 API Key。Key 只显示一次或少数几次复制后先放到密码管理器或临时文本里后面要填进 n8n Credential。拿到 Key 后回到 n8n 工作流面板。点击工具栏里的加号搜索 Agent把 Agent 节点拖进画布再在 Agent 节点下面添加 Chat Model 子节点。这里会出现 Credential 选择框。新建 Credential 时类型选 OpenAI因为 n8n 的 OpenAI Credential 支持自定义 Base URL。不要选成 MySQL、Postgres 这类数据库凭据它们和模型认证是两套东西。3. n8n OpenAI Credential 字段Base URL 只写到 https://taotoken.net/apin8n 的 Credential 表单字段不多但每个字段都要填对。最容易错的是 Base URL。官方 OpenAI 地址通常带/v1而统一 API 通道的 Base URL 是 https://taotoken.net/api 末尾不带/v1。把这两个地址混在一起就会得到本文开头说的 401。3.1 新建 Credential 的字段对照表在 n8n 里点 Credentials新建 OpenAI 类型凭据按下表填写字段填写内容说明Credential NameTaoToken OpenAI自定义名称方便识别API KeyYOUR_API_KEY从 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_end 创建Base URLhttps://taotoken.net/api末尾不要加/v1也不要加末尾斜杠Organization ID留空没有特殊要求不要填Project ID留空没有特殊要求不要填保存后n8n 会显示连接成功或失败。如果显示失败先不要反复点保存。回到 Base URL 字段检查是不是写成了https://taotoken.net/api/v1或者复制时把官网地址https://taotoken.net/?utm_sourcetaotoken_aicg_blog_end填进了 Base URL。官网地址用于注册、创建 Key、看模型广场和看用量填进 Credential 的地址只能是 https://taotoken.net/api 。这两个地址用途不同混填会直接导致鉴权失败。3.2 Agent 节点里的 Chat Model 与模型 IDCredential 保存成功后回到 Agent 节点。在 Chat Model 子节点的模型下拉框里如果找不到想要的模型不要手动编造一个 ID。模型 ID 以 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_end 模型广场当时列表为准。把模型广场里的 ID 原样复制到 n8n 的模型字段里不要加空格不要加日期后缀。n8n 的 Agent 节点通常还会要求选择模型能力比如聊天、工具调用。不同模型支持的能力不同如果模型本身不支持工具调用Agent 节点里的 Tool 子节点会报错。这个错误和 401 不同它通常出现在执行阶段而不是保存 Credential 阶段。排障时要区分Credential 保存失败看 Base URL 和 Key工作流执行到一半失败看模型能力和工具配置。如果你在 Agent 里挂了 MySQL 节点或 MCP 服务端先只保留一个最简单的聊天模型把最小链路跑通。链路是手动触发 - Agent - Chat Model - 输出一条文本。这条链路通不过挂更多工具只会让报错更难定位。4. 保存后重跑 Agent确认末尾没有 /v1 的验证流程配置完成后不要直接在生产工作流里跑。新建一个临时工作流手动触发只放一个 Agent 节点和一个 Chat Model 子节点。给 Agent 一个最简单的提示比如让它返回一句问候。执行一次看输出是否正常。这个最小工作流的目的不是测试业务逻辑而是验证 Credential 的 Base URL、Key 和模型 ID 三件事。4.1 最小工作流手动触发加一条测试消息在 n8n 画布上添加 Manual Trigger连接 Agent 节点。Agent 节点的 System Prompt 写一句简单指令Chat Model 选择刚才保存的 TaoToken Credential。执行后观察右侧输出面板输出面板返回文本模型认证已经通了。输出面板返回 401回到 Credential 检查 Base URL 末尾和 Key 首尾。输出面板返回模型不存在回到模型广场核对模型 ID。输出面板一直转圈检查服务器出站网络是否允许访问 https://taotoken.net/api 。如果 401 仍然出现把 Credential 里的 Base URL 复制出来粘贴到文本编辑器里把光标移到末尾。确认最后一个字符是i不是1也不是/。再把完整地址和错误响应贴到排障记录里不要只截一个状态码。n8n 的错误详情里有时会包含请求路径路径里出现/v1就说明 Base URL 多写了。4.2 失败时回看三个地方第一处是 Base URL。正确写法是 https://taotoken.net/api 不是https://taotoken.net/api/v1也不是带官网 UTM 的地址。第二处是 API Key。Key 从 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_end 创建填进 n8n 时不要带引号不要带Bearer前缀。第三处是模型 ID。模型 ID 从模型广场复制不要凭记忆写。这三处检查完基本能覆盖 n8n Agent 节点里最常见的 401。还有一个小概率情况n8n 容器里的时间不对导致 HTTPS 证书校验失败。这种情况的报错通常不是 401而是 TLS 相关错误。遇到时先同步服务器时间再重跑节点。4.3 去控制台看这次调用有没有记上最小工作流跑通后打开 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_end 进入控制台看这次调用有没有出现在用量记录里。能看到记录说明 n8n 的请求已经正确到达Base URL 和 Key 都没问题。看不到记录但 n8n 又显示成功可能是 n8n 缓存了旧 Credential或者工作流里用的不是刚保存的那一个 Credential。在 n8n 里修改 Credential 后已经打开的工作流节点有时不会自动刷新。保险做法是回到 Agent 节点重新选择一次 Credential然后保存工作流。再执行一次回控制台确认新增记录。这个动作看起来多余但能避免“改了地址却还在用旧配置”的假象。5. n8n 里 MySQL 节点、MCP SSE 和模型 Credential 不要混原文还提到 n8n 可以连接 MySQL也可以配置 MCP 服务端。这两块很容易和模型 Credential 混在一起排障。它们走的是不同通道MySQL 节点连的是数据库MCP 服务端连的是 SSE 地址模型 Credential 连的是模型 API。任何一方报错都不要先改另一方的 Base URL。5.1 MySQL 连接是 n8n 自己的数据库凭据在 n8n 里添加 MySQL 节点时需要新建 MySQL Credential填主机、端口、数据库名、用户名、密码。这个 Credential 和 OpenAI Credential 完全独立。不要把 https://taotoken.net/api 填到 MySQL 的 Host 字段里也不要把模型 API Key 填到 MySQL 密码里。MySQL 节点用于执行数据库操作测试时先用测试库生产库操作要加审批和备份。如果让 Codex、Claude Code 这类编程工具协助写 SQL它们只负责生成、解释、对照 SQL。诊断 SQL 要由你在本地数据库客户端或 SQL*Plus 里执行再把报错贴回对话。不要让 AI 编程工具直接连生产库去执行诊断语句。n8n 里的 MySQL 节点如果确实要跑在生产环境也应该先在测试库验证再走人工确认。5.2 MCP 服务端配置的是 SSE 地址n8n 的 MCP 服务端配置和模型 Credential 也是两件事。点击加号添加 MCP 相关节点时填的是你自己的 MCP 服务器 SSE 地址。这个地址不是模型 Base URL也不是 https://taotoken.net/api 。把 MCP SSE 和模型 Base URL 填反会出现“保存成功但执行失败”的情况。MCP 工具如果涉及数据库查询仍然遵循同一条边界工具只生成或解释查询真正的执行动作由你在本地或测试环境完成。把报错、表结构、慢查询日志贴回对话让模型帮你分析。这样既安全也更容易复现问题。n8n 的自动化能力很强但生产库的写操作不要交给一个还没验证过的 Agent 工作流。6. 跑通 n8n Agent 之后模型对话、Coding Plan、API Key 怎么选n8n 的模型 Credential 配通只是第一步。后面你可能要跑多个工作流、多个 Agent 节点还要在不同环境里切换模型。建议把 Key 和地址管理成固定习惯n8n 里只填 https://taotoken.net/api Key 用占位符管理真实 Key 放密码管理器。每次新建 Credential都从模型广场复制模型 ID不要凭记忆填。6.1 先用模型对话验证同一把 Key在 n8n 里跑通最小工作流后可以打开 TaoToken 模型对话 用同一把 Key 发一条测试消息。如果模型对话能返回n8n 里却报 401问题基本就在 n8n 的 Credential 配置而不是 Key 本身。这个对照测试能省很多时间。模型对话里还能直接看到当前可用的模型列表。把对话里能用的模型 ID 复制到 n8n 的 Chat Model 节点再执行一次工作流。两边用同一个模型 ID排障变量最少。6.2 长期跑自动化再看 Coding Plan 与用量如果你准备让 n8n 长期跑 Agent 工作流比如定时抓取、内容处理、内部工具调用可以打开 Coding Plan 看套餐是否够用。Key 仍在 控制台 API Keys 创建和管理。新建 Key 后回到 n8n Credential 里替换YOUR_API_KEY再重跑一次最小工作流确认控制台出现新的调用记录。n8n 的 Agent 节点报 401 并不可怕可怕的是在 Base URL、Key、模型 ID 三个变量之间来回乱改。把地址固定成 https://taotoken.net/api 把 Key 固定成从 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_end 创建把模型 ID 固定成从模型广场复制排障就会变成一条直线。下次再遇到 401先看末尾有没有/v1这一眼能省掉半小时。