站在 Hermes 视角,Google Home MCP 的 Key 怎么放 TaoToken
2026/9/17 18:02:18 网站建设 项目流程

1. 先分清两类凭据:Hermes 模型 Key 与 Google Home MCP 授权

Hermes 里已经能看到 google-home MCP 工具,但模型请求 401 时,先把两类 Key 拆开:模型侧去 TaoToken 官网 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_content=hermes_google_home_mcp_intro 取 Key,Base URL 填 https://taotoken.net/api;Google Home MCP 侧仍用 Google OAuth。很多排障现场看起来像“MCP 没连上”,实际上是 TaoToken Key 被填进了 Google Home MCP 的授权字段,或者 Google OAuth token 被填进了模型 provider 的 api_key。结果就是:工具列表能出现,但 Hermes 发起推理时鉴权失败;或者模型能回复,但读取设备事件历史时被 Google 侧拒绝。

Google Home 开放 MCP 接入后,Hermes 这类支持 MCP 的第三方智能体可以通过统一协议访问设备与事件历史。对 Hermes 来说,一次自然语言请求通常会拆成两段:第一段是模型推理,Hermes 把系统提示、工具描述、用户问题和历史上下文发给模型,这一步消耗 Token,鉴权用 TaoToken Key,Base URL 指向 https://taotoken.net/api;第二段是工具调用,Hermes 根据模型返回的工具调用意图,去请求 Google Home MCP 服务,这一步鉴权用 Google 侧 OAuth,和 TaoToken Key 无关。把这两段拆清楚,后面所有配置、报错和 Key 放置都会变得明确。

本文按 Hermes 使用视角展开,目标是产出可复现结果:Hermes 参数配置、Google Home 事件历史查询命令、Key 放置位置对照。你可以先完成模型侧接入,再完成 MCP 侧授权,最后用只读查询验证事件历史。整个过程中,TaoToken 只负责模型推理入口,不替代 Google Home 的设备授权,也不应该把 TaoToken Key 写进 Google Home MCP 的 OAuth 配置里。

2. 在 TaoToken 准备 Hermes 可用的 Key 与 Base URL

第一步不是去改 MCP,而是先把 Hermes 的模型通道准备好。打开 TaoToken 官网 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_content=hermes_google_home_mcp_key ,完成登录后进入控制台,创建或管理 API Key。复制时只复制一次,Key 通常不会完整二次展示,建议先放进本地密码管理器或临时环境变量。最终你会得到一个类似sk-...的字符串,本文统一用YOUR_API_KEY占位。

创建 Key 后,Hermes 模型侧需要两个核心参数:

参数说明
providertaotokenHermes 的模型供应商名称,可按你的配置命名
base_urlhttps://taotoken.net/api模型请求入口,不加 UTM
api_keyYOUR_API_KEYTaoToken 控制台创建的 Key
model按控制台可用模型填写不同模型消耗 Token 不同

Base URL 是https://taotoken.net/api,不要在它后面拼 UTM,也不要把它和 Google Home MCP 的 endpoint 混在一起。如果你的 Hermes 版本使用 OpenAI 兼容协议,它通常会自动拼接/v1/chat/completions;如果你要手动验证 Key,可以用下面的本地命令。命令中的 Key 只在你本机执行,不要提交到 Git。

export TAOTOKEN_API_KEY="YOUR_API_KEY" curl -sS https://taotoken.net/api/v1/chat/completions \ -H "Authorization: Bearer ${TAOTOKEN_API_KEY}" \ -H "Content-Type: application/json" \ -d '{ "model": "gpt-4o-mini", "messages": [ {"role": "user", "content": "只回复 ok"} ], "temperature": 0 }'

如果返回包含choices或类似成功结构,说明 TaoToken Key 与 Base URL 已可用。若返回 401,先检查Authorization是否是Bearer YOUR_API_KEY,再检查是否把 Google Home MCP 的 token 误填到了这里。若返回 404,优先检查 Base URL 是否被写成了https://taotoken.net/api/v1之外的形式,或者模型名不在当前 Key 的可用范围内。模型侧确认通过后,再进入 Hermes 配置文件。

3. Hermes 参数配置:模型 Provider 指向 TaoToken,MCP 指向 Google Home

Hermes 不同发行版和版本的字段名可能略有差异,但结构基本一致:模型 provider 管推理,MCP servers 管外部工具。下面是一份 YAML 配置骨架,字段名请按你的 Hermes 版本做映射。重点不是复制字段名,而是看清 Key 放在哪一层。

# ~/.config/hermes/config.yaml model: provider: taotoken base_url: https://taotoken.net/api api_key: ${TAOTOKEN_API_KEY} default_model: gpt-4o-mini temperature: 0.2 max_tokens: 2048 mcp: servers: google-home: transport: streamable-http url: ${GOOGLE_HOME_MCP_URL} headers: Authorization: Bearer ${GOOGLE_HOME_MCP_ACCESS_TOKEN} timeout_seconds: 30

对应的环境变量建议单独放在.env.local或系统密钥管理中,不要写进仓库:

export TAOTOKEN_API_KEY="YOUR_API_KEY" export GOOGLE_HOME_MCP_URL="https://<由 Google Home MCP 提供的端点>" export GOOGLE_HOME_MCP_ACCESS_TOKEN="<由 Google OAuth 流程获得的访问令牌>"

这里要再次强调:TAOTOKEN_API_KEY只服务于model.api_keyGOOGLE_HOME_MCP_ACCESS_TOKEN只服务于mcp.servers.google-home.headers.Authorization。两者不能互换。如果你把 TaoToken Key 放进GOOGLE_HOME_MCP_ACCESS_TOKEN,Hermes 调 Google Home 工具时会报 401 或 403;如果你把 Google OAuth token 放进model.api_key,模型推理会直接失败。

配置完成后,先让 Hermes 打印当前 provider 和 MCP 服务列表。命令名可能因版本不同而变化,核心是确认模型供应商和工具服务都已加载。

hermes config show hermes mcp list hermes mcp tools --server google-home

hermes mcp tools的输出非常关键。它告诉你 Google Home MCP 实际暴露了哪些工具名。常见能力可能包括设备列表、设备状态、事件历史查询和控制类工具,但具体名称以你的输出为准。不要凭猜测在提示词里写工具名,先把真实工具名抄下来,再让模型选择。

4. Google Home MCP 接入:OAuth、工具暴露与 Key 放置边界

Google Home MCP 的授权流程属于 Google 侧。你需要在 Google Home 相关控制台或授权入口启用 MCP 能力,完成 OAuth 同意,拿到 MCP endpoint 和访问令牌。TaoToken 不能代替这一步,TaoToken Key 也不应该出现在 Google Home MCP 的 OAuth 配置中。正确的 Key 放置边界可以总结为:

放置位置应该放什么不应该放什么示例
Hermes 模型 providerTaoToken KeyGoogle OAuth tokenmodel.api_key: YOUR_API_KEY
Hermes MCP headersGoogle OAuth access tokenTaoToken KeyAuthorization: Bearer <google_token>
系统环境变量两类 Key 分开命名混用同名变量TAOTOKEN_API_KEYGOOGLE_HOME_MCP_ACCESS_TOKEN
Git 仓库不提交任何真实 Key真实 Key、refresh token只提交.env.example
TaoToken 控制台创建、轮换、禁用模型 KeyGoogle Home 设备授权API Keys 页面
Google 授权页管理设备权限与 MCP 授权TaoToken 模型 KeyOAuth 同意页

在 Hermes 里,MCP server 的url应该填 Google Home MCP 实际提供的端点。不要把https://taotoken.net/api填到 MCP server 的 URL 里,因为那是模型推理入口,不是 Google Home 工具入口。反过来,也不要把 Google Home MCP endpoint 填到model.base_url,否则模型请求会直接失败。

完成配置后,用只读方式验证工具可用性。先列设备,再查状态,最后查事件历史。不要一上来就执行控制命令,例如开关灯、调整温控或触发场景。对于家庭自动化,先读后写能避免误操作,也更容易定位权限问题。

hermes mcp call google-home list_devices hermes mcp call google-home get_device_state \ --json '{"device_id":"<device_id>"}'

如果list_devices返回 401,检查 Google OAuth token 是否过期、是否包含所需 scope。如果返回空数组,检查授权账号下是否有设备,以及 MCP 服务是否选择了正确的家庭。如果工具根本不存在,回到hermes mcp tools --server google-home查看真实工具名,不要在配置里凭空写一个工具名。

5. 可复现:Hermes 事件历史查询命令与提示词模板

事件历史查询是验证 Google Home MCP 集成最实用的场景。它通常只读,不会改变设备状态,同时又能证明模型推理、工具选择、MCP 授权三条链路都通了。下面给出本地命令示例。不同 Hermes 版本的子命令可能不同,如果你的版本没有hermes mcp call,用hermes mcp --help查找等价命令;参数结构仍然是 JSON。

# 1. 确认 MCP 服务已加载 hermes mcp list # 2. 查看 Google Home MCP 暴露的工具 hermes mcp tools --server google-home # 3. 查询指定时间范围的事件历史 # 工具名 list_events 仅作示例,实际以第 2 步输出为准 hermes mcp call google-home list_events \ --json '{ "start_time": "2026-02-01T00:00:00Z", "end_time": "2026-02-01T23:59:59Z", "limit": 50 }'

如果 Hermes 支持直接传 MCP JSON-RPC 请求,也可以本地构造如下请求进行调试。注意,这仍然是调用 Google Home MCP 工具,不是调用 TaoToken 模型接口。

{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "list_events", "arguments": { "start_time": "2026-02-01T00:00:00Z", "end_time": "2026-02-01T23:59:59Z", "limit": 50 } } }

在 Hermes 对话里,建议用一个约束明确的提示词,让模型只做只读查询和汇总。这样既能触发 Google Home MCP,又能把推理消耗控制在合理范围内。模型推理会消耗 TaoToken Token,所以提示词要尽量清晰,避免让 Hermes 反复试错。

你是家庭自动化排障助手。请只调用 google-home MCP 的只读工具,查询 2026-02-01 00:00 到 2026-02-01 23:59 的事件历史。 要求: 1. 不要调用任何控制类工具; 2. 返回时间、设备名称、事件类型、触发来源、当前状态; 3. 按时间升序整理成 Markdown 表格; 4. 如果工具返回空结果,说明可能原因,不要编造事件。

这个提示词会先让 Hermes 选择工具,再把工具结果交给模型总结。工具调用走 Google Home MCP,模型总结走 TaoToken。如果你发现工具调用成功但总结很慢,通常是模型选择或上下文长度问题;如果你发现模型回复了但事件为空,通常是 Google 侧时间范围、设备权限或工具名问题。

6. 常见报错与 Key 放置位置对照

排障时不要只看最终报错,要拆开看是模型链路还是 MCP 链路。下面这张表覆盖 Hermes 接入 Google Home MCP 时最常见的几类问题。

现象更可能的原因检查位置修正方式
模型请求 401TaoToken Key 错误或缺失model.api_keyTAOTOKEN_API_KEYYOUR_API_KEY,使用Bearer鉴权
模型请求 403Key 被禁用或权限不足TaoToken 控制台重新创建 Key 或检查模型权限
模型请求 404Base URL 或模型名错误model.base_urldefault_modelBase URL 用https://taotoken.net/api
MCP 工具为空MCP 服务未加载mcp.servers.google-home检查 URL、transport、Authorization
MCP 返回 401Google OAuth token 过期GOOGLE_HOME_MCP_ACCESS_TOKEN重新走 Google OAuth 授权
事件历史为空时间范围或设备权限问题查询参数、Google 授权账号扩大时间范围,确认设备归属
模型不调用工具提示词或工具描述不清Hermes 工具列表、系统提示明确要求调用只读事件查询
控制命令不执行MCP 权限或确认策略限制Google Home 授权、Hermes 策略先验证只读,再单独开放控制

最关键的一条:TaoToken Key 放模型层,Google Home OAuth 放 MCP 层。不要把 TaoToken Key 写进GOOGLE_HOME_MCP_ACCESS_TOKEN,也不要把 Google OAuth token 写进model.api_key。如果你在 Hermes 中同时配置了多个 MCP server,建议每个 server 的变量名都带服务前缀,例如GOOGLE_HOME_MCP_ACCESS_TOKEN,避免和其他智能家居服务的 token 混淆。

7. Claude Code、Codex、CC Switch 的 Key 放置对照

虽然本文主角是 Hermes,但很多人会同时用 Claude Code、Codex 或 CC Switch 做旁路验证。这里把 Key 放置方式单独列清楚,避免你把不同工具的协议混用。如果你想统一管理这些 Key,可以从 TaoToken 官网 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_content=hermes_google_home_mcp_tools 进入控制台创建项目级 Key。

Claude Code 使用settings.jsonANTHROPIC_*环境变量。示例:

{ "env": { "ANTHROPIC_BASE_URL": "https://taotoken.net/api", "ANTHROPIC_AUTH_TOKEN": "YOUR_API_KEY", "ANTHROPIC_MODEL": "claude-sonnet-4-5" } }

Codex 使用config.toml,不要套用ANTHROPIC_*。示例:

model = "gpt-5" model_provider = "taotoken" [model_providers.taotoken] name = "TaoToken" base_url = "https://taotoken.net/api" env_key = "TAOTOKEN_API_KEY" wire_api = "chat"

CC Switch 里配置供应商时,通常抓住三件套:Provider、Base URL、API Key。模型名按你要用的模型填写。

provider: TaoToken base_url: https://taotoken.net/api api_key: YOUR_API_KEY model: gpt-4o-mini

注意:Claude Code 的ANTHROPIC_*只用于 Claude Code 侧;Codex 的config.toml不要写ANTHROPIC_BASE_URL。Hermes 的模型 provider 也不要直接复制 Claude Code 的环境变量名,除非你的 Hermes 版本明确支持该协议。统一原则是:每个工具各自读自己的 provider 配置,但都可以把 Base URL 指向https://taotoken.net/api,并使用 TaoToken 控制台创建的 Key。

8. 安全与用量:Key 放在 Hermes 的哪一层最稳

从安全角度看,TaoToken Key 和 Google OAuth token 都应该放在环境变量或系统密钥管理中,而不是写死在 YAML、JSON、TOML 里。推荐做法是配置文件只引用变量,真实值放在本机.env.local、系统 Keychain 或 CI Secret。.env.example可以提交,但里面只能写占位符:

TAOTOKEN_API_KEY=YOUR_API_KEY GOOGLE_HOME_MCP_URL=https://your-google-home-mcp-endpoint GOOGLE_HOME_MCP_ACCESS_TOKEN=your-google-oauth-access-token

如果你在团队成员之间共享 Hermes 配置,建议每人创建自己的 TaoToken Key,不要共用同一个 Key。这样一旦某台机器泄露,可以在 TaoToken 控制台单独禁用和轮换。Google Home MCP 的 OAuth 授权也应该按账号隔离,不要把家庭管理员 token 共享给所有成员。对于只读事件查询场景,尽量先使用只读权限验证;需要控制设备时,再单独开放写入权限。

用量方面,Hermes 调用模型推理会消耗 Token,而 Google Home MCP 工具调用本身不经过 TaoToken。也就是说,设备事件历史的数据获取由 MCP 完成,模型只负责理解用户意图、选择工具和总结结果。如果发现 Token 消耗异常,优先检查是否是提示词太长、工具描述太多、历史上下文无限增长,或者 Hermes 在失败后反复重试。你可以把事件查询结果先在本地落盘,再让模型读取摘要,减少重复推理。

在 TaoToken 控制台 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_content=hermes_google_home_mcp_security 中可以集中管理 Key、查看用量和调整项目。建议给 Hermes 单独建一个 Key,名称里带hermes-google-home,方便审计。如果某天不再使用,直接禁用该 Key,不影响 Claude Code、Codex 或 CC Switch 的其他 Key。

9. 文末 CTA:按路径完成 Hermes + Google Home MCP 闭环

如果你还没有完成闭环,建议按下面顺序走:先验证模型对话,再决定长期方案,然后创建专用 Key,最后参考 Claude Code 文档理解 Anthropic 兼容配置的细节。Hermes 接入 Google Home MCP 时,模型侧 Base URL 始终是https://taotoken.net/api,Key 用YOUR_API_KEY占位替换;Google Home MCP 侧继续使用 Google OAuth,两者不要混放。

  1. 模型对话快速验证:https://taotoken.net/models/detail/chat?utm_source=taotoken_aicg_blog_end&utm_content=hermes_google_home_mcp_chat
  2. 长期运行或 Coding 场景查看 Coding Plan:https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=hermes_google_home_mcp_plan
  3. 创建和管理专用 API Key:https://taotoken.net/console/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=hermes_google_home_mcp_keys
  4. Claude Code 与 Anthropic 兼容配置文档:https://taotoken.net/doc/ClaudeCodeAnthropic?utm_source=taotoken_aicg_blog_end&utm_content=hermes_google_home_mcp_claudecode

最后再强调一次 Key 放置:Hermes 的model.api_key放 TaoToken Key,model.base_urlhttps://taotoken.net/api;Google Home MCP 的headers.Authorization放 Google OAuth token。先用hermes mcp tools --server google-home确认工具,再用只读的list_events查询事件历史。只要这两层不混,Hermes 通过 Google Home MCP 控制设备、查询事件历史的链路就能稳定跑起来。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询