ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

小聆AI MCP 的 URL 多加了 /v1?让走 TaoToken 的 Codex 改

小聆AI MCP 的 URL 多加了 /v1?让走 TaoToken 的 Codex 改 小聆AI 里 MCP 接入 Home Assistant最容易翻车的不是模型而是 URL把映射域名后面的/api/mcp写成了/api/mcp/v1或域名后先塞/v1。TaoToken 这边先把 Key 准备好打开 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_content 创建YOUR_API_KEY再把 Codex 的 Base URL 填成https://taotoken.net/api让 Codex 帮你逐字核对聆思平台「添加 MCP 服务器」里的地址。它不能替你点平台表单但能把正确 URL、错误 URL 和configuration.yaml的trusted_proxies检查项列得清清楚楚。这类问题很像填快递地址门牌号写到/api/mcp就该结束后面再补一个/v1在平台看来就是另一个不存在的房间。下面按排障顺序把「小聆AI MCP URL 多了/v1」拆开讲。1. 小聆AI 的 MCP URL 为什么会多出 /v11.1 先把两个地址拆开MCP 地址不是模型 Base URL很多开发者第一次配小聆AI 的 MCP Server 时会把平时调 OpenAI 兼容接口的习惯带进来。模型接口常见 Base URL 写成https://xxx/v1于是看到 MCP 地址也下意识补/v1。但小聆AI 里要填的是Home Assistant 暴露出来的 MCP 端点不是模型推理接口。这两个地址各管各的Codex 走 TaoToken 时Base URL 写https://taotoken.net/api末尾不要加/v1。小聆AI 调 Home Assistant 时MCP 服务器 URL 写https://你的映射域名/api/mcp也不要在后面加/v1。两者不能互换。把https://taotoken.net/api填到 MCP 服务器地址里小聆AI 找不到 Home Assistant把 Home Assistant 的/api/mcp填到 Codex 配置里模型请求也发不出去。先把边界立住后面排障就不会一边改 MCP一边把 Codex 配置也改乱。1.2 聆思平台「添加 MCP 服务器」时URL 字段只认 /api/mcp在聆思平台添加 MCP 服务器时通常需要你填一个可被平台访问到的地址。你的 Home Assistant 如果跑在家里局域网平台默认访问不到所以要先有一个映射域名或反向代理域名让公网侧能请求到 HA。正确形态是https://ha.example.com/api/mcp其中ha.example.com换成你自己的映射域名路径部分保持/api/mcp。常见错误形态有四类https://ha.example.com/api/mcp/v1 https://ha.example.com/v1/api/mcp https://ha.example.com/api/v1/mcp https://ha.example.com/v1第一种是最常见的直接在正确路径后面补/v1第二种是被反向代理规则带偏第三种是中间多插了一层第四种干脆把/api/mcp丢了。结果通常不是平台报「URL 格式错误」而是连接失败、404或者 MCP 工具列表刷不出来。注意平台里如果有单独的 Token、Header 或认证字段按平台要求填URL 字段只负责地址不要把认证参数硬拼进路径。2. 用走 TaoToken 的 Codex 做 URL 校对而不是让 AI 替你点平台2.1 在 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_content 创建 Key先解决 Codex 的模型通道。打开 TaoToken 注册并创建 API KeyKey 用占位符YOUR_API_KEY表示。模型 ID 不要凭记忆写去模型广场看当时列表以页面显示为准。这样 Codex 才有稳定的统一接入通道帮你做配置对照和报错解释。准备材料可以按这个清单过一遍YOUR_API_KEY从 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_content 创建。Codex 的 Base URLhttps://taotoken.net/api。Home Assistant 映射域名例如ha.example.com。小聆AI MCP URLhttps://ha.example.com/api/mcp。Home Assistant 的configuration.yaml路径。2.2 ~/.codex/config.toml 把 Codex 指到 https://taotoken.net/apiCodex 的配置不要套 Claude Code 的环境变量。它有自己的~/.codex/config.toml。下面这份配置只保留排障时够用的部分model YOUR_MODEL_ID model_provider taotoken [model_providers.taotoken] name TaoToken base_url https://taotoken.net/api env_key TAOTOKEN_API_KEY wire_api chat然后在终端里设置环境变量把 Key 放进去export TAOTOKEN_API_KEYYOUR_API_KEYWindows PowerShell 可以写成$env:TAOTOKEN_API_KEYYOUR_API_KEY这里再次强调base_url是https://taotoken.net/api不要写成https://taotoken.net/api/v1也不要加登录页的 UTM 参数。UTM 是给人点的不是给接口用的。2.3 给 Codex 的排障提示词只输出正确 URL 和 diffCodex 不能登录聆思平台也不该假装能替你点「保存」。它的价值是把错误 URL、正确 URL 和检查项列出来。你可以把下面这段提示词贴进去再把平台里的 URL 粘在最后你是配置排障助手。请只根据我提供的信息判断不要假设你能登录聆思平台或 Home Assistant。 目标核对小聆AI/聆思平台里 MCP 服务器 URL 是否正确。 正确形态https://映射域名/api/mcp 错误形态任何在 /api/mcp 前后多加 /v1 的写法。 请输出 1. 我给的 URL 是否多了 /v1 2. 去掉 /v1 后的正确 URL 3. 需要我手动回聆思平台修改的字段 4. 如果仍失败让我检查 Home Assistant configuration.yaml 的 http.trusted_proxies。 我的 URL 是把聆思平台里的 MCP URL 粘贴到这里拿到 Codex 的结论后回聆思平台手动改地址再重连 MCP。Codex 负责对照文本平台操作仍然由你完成。这样既不越界也不容易把本地configuration.yaml乱改。3. configuration.yaml 里 trusted_proxies 和 MCP URL 的联动3.1 HA 报 untrusted proxy 时先别怪 /v1如果/v1已经删掉但小聆AI 还是连不上 Home Assistant或者 HA 日志里出现Received X-Forwarded-For header from an untrusted proxy问题可能在反向代理。Home Assistant 默认不信任代理转发来的客户端 IP需要你在configuration.yaml里显式声明可信代理。这个报错和/v1是两回事多了/v1路径错常见结果是 404。trusted_proxies没配请求可能到了 HA但被 HA 拒绝常见结果是 400、403 或日志里的 untrusted proxy。所以排障时要一层层看不要看到失败就继续往 URL 后面加东西。3.2 trusted_proxies 写法与常见 IP在 Home Assistant 的configuration.yaml里http段可以这样写http: use_x_forwarded_for: true trusted_proxies: - 127.0.0.1 - ::1 - 192.168.1.20192.168.1.20换成你的反向代理或映射服务实际所在的 IP。如果 Home Assistant 和代理都在 Docker 里代理地址可能是172.18.0.1这类网桥地址。判断方法很简单看 HA 日志里提示的是哪个来源 IP 不可信。不要为了省事写0.0.0.0/0或一大段trusted_proxies网段。可信代理开得越宽风险越大。改完configuration.yaml后先在「开发者工具 → YAML」里检查配置再重启 Home Assistant。MCP 端点和 HTTP 配置是联动的改完不重启日志里可能还是旧状态。3.3 反代路径不要偷偷重写 /api/mcp有些反向代理配置里会写rewrite、location /v1/或统一给 API 加前缀。小聆AI 填的是https://ha.example.com/api/mcp如果代理层又把/api/mcp改写成/v1/api/mcp最终到达 HA 的路径依然错。检查反向代理时重点看三件事外部路径是否原样转发到 HA 的/api/mcp。有没有多余的前缀重写。WebSocket 或 SSE 相关头是否透传因为 MCP 可能用事件流。如果你在代理配置里看到/v1先问自己这是给别的 API 服务用的还是误伤到了 Home Assistant 的 MCP 端点。4. 小聆AI MCP 接入 Home Assistant 的验证顺序4.1 先本地验证 HA 的 /api/mcp 是否可达不要一上来就在小聆AI 平台里反复点重连。先在能访问 Home Assistant 的本地终端里测curl -i -N --max-time 5 https://ha.example.com/api/mcp观察返回码200或持续的事件流路径大概率正确。401或403路径可能对缺认证或代理拦截。400优先查trusted_proxies和代理头。404优先查是不是多了/v1或者代理重写错了路径。超时或 502映射域名、代理到 HA 的连通性有问题。如果返回 401再补上 Home Assistant 的长效访问令牌测试curl -i -N --max-time 5 \ -H Authorization: Bearer YOUR_HA_LONG_LIVED_TOKEN \ https://ha.example.com/api/mcp令牌只是占位按你自己的实际值替换。不要在对话里贴真实令牌也不要把令牌塞进 MCP URL 路径。4.2 再验证映射域名从平台侧视角看本地通了不代表小聆AI 平台能通。平台侧请求走的是公网映射域名不是你的局域网 IP。所以不要填http://127.0.0.1:8123/api/mcp http://192.168.1.10:8123/api/mcp这两个地址在你电脑上可能能打开但平台侧访问不到。正确做法是填映射域名https://ha.example.com/api/mcp如果映射服务有访问控制、白名单或认证确认平台侧请求能通过。这里的核心是小聆AI 要能访问到这个域名Home Assistant 要能识别这个路径。两个条件缺一个都会表现为 MCP 连接失败。4.3 回聆思平台重填并重连 MCP 服务器拿到正确 URL 后回聆思平台「添加 MCP 服务器」页面把 URL 字段改成https://ha.example.com/api/mcp保存后重新连接或重新加载 MCP 工具列表。如果平台有「测试连接」按钮先点它没有的话回到小聆AI 对话里让模型列一下可用工具看 Home Assistant 相关工具是否出现。这一步不要一边改 URL一边改模型通道。先确认 MCP 侧通了再去处理 Codex 和 TaoToken 的模型调用。4.4 去控制台看这次 Codex 调用有没有记上账Codex 配置改完后用同一把 Key 在 TaoToken 模型对话 里发一条测试消息确认模型 ID 和 Base URL 没填错。回到控制台看这次调用是否正常记录Key 是否就是你创建的那把。需要新建 Key去 控制台 API Keys 处理。MCP 排障和模型通道排障要分开记录小聆AI 连 Home Assistant 失败不代表 Codex 走 TaoToken 失败Codex 能回消息也不代表 MCP URL 没多/v1。5. /v1 加在不同位置分别会怎样对照表5.1 末尾加 /v1、域名后加 /v1、反代重写加 /v1错误写法实际请求路径常见现象https://ha.example.com/api/mcp/v1/api/mcp/v1HA 返回 404平台提示连接失败https://ha.example.com/v1/api/mcp/v1/api/mcp反代可能找不到 location404 或 502https://ha.example.com/api/v1/mcp/api/v1/mcp路径不存在404https://ha.example.com/api/mcp但反代 rewrite 到/v1/api/mcp/v1/api/mcp外部看起来对实际仍 404http://127.0.0.1:8123/api/mcp本机回环地址平台侧访问不到超时这张表可以贴在排障笔记里。每次改完 URL先对照一下路径不要只盯着域名。5.2 修改后仍失败时按层排查如果去掉/v1还是失败按下面顺序查映射域名是否从公网可访问。反向代理是否原样转发/api/mcp。Home Assistant 是否已启用 MCP Server 集成。configuration.yaml的trusted_proxies是否包含代理 IP。认证字段是否缺失或填错。平台侧是否需要重启 MCP 连接。不要在第 1 层没通过时反复改第 6 层。排障最怕同时动五个地方最后不知道哪个改动生效了。6. 把这次修复固化小聆AI 与 Home Assistant 两边的检查清单6.1 小聆AI / 聆思平台侧检查MCP 服务器 URL 是https://你的映射域名/api/mcp。路径末尾没有/v1域名后面也没有/v1。没有把http://127.0.0.1:8123这类内网地址填进去。认证字段和 URL 字段分开填没有把 Token 拼进路径。保存后重新连接过 MCP 服务器。6.2 Home Assistant 侧检查MCP Server 集成已启用。configuration.yaml里http.use_x_forwarded_for为true。trusted_proxies包含反向代理真实 IP。反向代理没有把/api/mcp重写成带/v1的路径。改完 YAML 后检查配置并重启。6.3 Codex 侧检查~/.codex/config.toml的base_url是https://taotoken.net/api。env_key指向的环境变量里放的是YOUR_API_KEY。模型 ID 以模型广场当时列表为准不凭记忆写。让 Codex 只做 URL 对照、报错解释和配置差异不假装能替你操作聆思平台。修完这轮先回小聆AI 里确认 MCP 工具能列出来再去 TaoToken 模型对话 用同一把 Key 发一条消息确认 Codex 侧通道没被带偏。如果准备长期用 Codex 扫配置、改 URL、看 HA 日志摘要可以打开 Coding Plan 看套餐是否够用后续新建 Key 仍在 控制台 API Keys 完成。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进