
1. 为什么要在 WSL 里折腾 Hermes AgentHermes Agent 是一个开源 AI Agent 框架核心卖点是长期记忆、Skill 自改进和 MCP 工具扩展。它能做什么简单说你教它一次规则它记下来下次同类任务不用重教。适合谁适合那些每天有重复性工作、又愿意花点时间沉淀流程的人比如整理通知、跑固定脚本、做资料汇总。但 Hermes 的官方安装路径对 Windows 用户不太友好。原生 Windows 环境能跑但依赖链容易断Node.js、ffmpeg、Python 版本冲突轮番上阵。WSL 相当于在 Windows 里开了一个 Ubuntu 子系统Hermes 在里面跑和 Linux 原生环境几乎一样。我试过在原生 Windows 上直接装卡在 ffmpeg 编译那步半小时没动静换 WSL 之后一次跑通。这篇聚焦两件事Skill 加载和 MCP 服务接入。前者决定 Hermes 能不能复用经验后者决定它能不能连上外部系统。两个环节打通入门到实战的最小闭环就成立了。下面从 WSL 环境准备开始给出可复制的 config.toml 和 settings.json 骨架以及 TaoToken 统一 Key 的填写位置。2. TaoToken 前置统一 Key 解决多模型切换Hermes 支持多个 provider但如果你同时用 Claude、GPT、国产模型每个都要单独配 Key、单独记 base_url配置散落在不同文件里排查问题很痛苦。TaoToken 的思路是提供一个统一的 API 入口一个 Key 走通多个模型。官网地址是 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 端点是 https://taotoken.net/api 。注意 API 地址不带 UTM 参数配置里填纯端点就行。你需要先拿到 Key。登录后进控制台在 API Keys 页面创建一个新 Key。这个 Key 就是后面 config.toml 里要填的api_key。模型对话入口在 https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_contentmodel_chatutm_campaignrewrite 可以先用它验证 Key 是否有效。如果你打算长期跑编码类 Agent 任务Coding Plan 页面 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_planutm_campaignrewrite 有更细的额度说明。注意TaoToken 是合规的 API 聚合服务配置时只填官方给的端点不要自行拼接或修改路径。3. WSL 环境准备与 Hermes 安装3.1 确认 WSL 版本并更新系统打开 PowerShell先确认 WSL 已安装wsl --list --verbose如果显示 Ubuntu 且版本为 2直接进入。如果没有用wsl --install -d Ubuntu安装。进入 Ubuntu 后先更新sudo apt update sudo apt upgrade -y sudo apt install -y git curl build-essentialbuild-essential 别省后面有些依赖需要编译。3.2 安装 Node.js 和 ffmpegHermes 依赖 Node.js 18 以上。用 NodeSource 装curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - sudo apt install -y nodejs node -vffmpeg 用于多模态处理sudo apt install -y ffmpeg ffmpeg -version3.3 拉取 Hermes 并安装git clone https://github.com/hermes-agent/hermes.git cd hermes npm install安装过程可能拉不少依赖等它跑完。如果卡在某个包先检查网络再重试npm install。4. 可复制配置config.toml 与 settings.json 骨架4.1 config.toml 填写 TaoToken 统一 KeyHermes 的主配置在~/.hermes/config.toml。没有就新建mkdir -p ~/.hermes nano ~/.hermes/config.toml填入以下骨架[provider] name taotoken api_key 你的_TaoToken_Key base_url https://taotoken.net/api model claude-sonnet-4-20250514 [memory] enable true fts_index true storage_path ~/.hermes/memory [skill] auto_create true auto_improve true skill_dir ~/.hermes/skills [mcp] enable true config_file ~/.hermes/settings.json三个关键字段api_key填你创建的 Keybase_url填https://taotoken.net/apimodel填你要用的模型 ID。模型 ID 可以在模型对话页面确认。4.2 settings.json 配置 MCP 服务MCP 服务配置在~/.hermes/settings.json{ mcpServers: { filesystem: { command: npx, args: [-y, modelcontextprotocol/server-filesystem, /home/你的用户名/workspace] }, github: { command: npx, args: [-y, modelcontextprotocol/server-github], env: { GITHUB_PERSONAL_ACCESS_TOKEN: 你的_GitHub_Token } } } }filesystem 服务让 Hermes 能读写指定目录github 服务让它能操作仓库。路径改成你自己的 workspace 目录不要直接指向整个 home。注意MCP 服务按需开启不要一次性把所有服务都挂上。权限越大出问题时影响范围越大。5. 验证请求Skill 调用与 MCP 连通5.1 启动 Hermescd ~/hermes npm run start看到Hermes Agent ready就说明启动成功。如果报 provider 连接失败回到 config.toml 检查 api_key、base_url、model 三项。5.2 验证模型对话在 Hermes 交互界面输入你是谁当前用的是哪个模型预期返回包含模型名称和基本能力说明。如果返回认证错误说明 Key 或 base_url 有问题。5.3 验证 Skill 加载先手动创建一个测试 Skillmkdir -p ~/.hermes/skills cat ~/.hermes/skills/test-skill.md EOF # Test Skill ## 触发条件 当用户说测试技能时触发 ## 执行步骤 1. 回复Skill 加载成功 2. 输出当前时间 EOF然后在 Hermes 里输入测试技能预期输出包含Skill 加载成功和当前时间。如果没反应检查 config.toml 里skill_dir路径是否正确。5.4 验证 MCP 连通输入列出 workspace 目录下的文件预期返回 workspace 目录的文件列表。如果报 MCP 连接错误检查 settings.json 里 filesystem 服务的路径是否存在以及 npx 是否可用npx -y modelcontextprotocol/server-filesystem --help能正常输出帮助信息说明 MCP 服务本身没问题。6. 本篇常见错排查6.1 provider 连接失败最常见的原因是 base_url 填错。TaoToken 的 API 端点是https://taotoken.net/api不要加多余路径。另外确认 Key 没有过期可以在模型对话页面重新验证。6.2 Skill 不加载先确认~/.hermes/skills目录存在且 Skill 文件是.md格式。然后检查 config.toml 里skill_dir是否指向正确路径。如果 Skill 文件有语法错误Hermes 会跳过加载可以在启动日志里看到警告。6.3 MCP 服务启动超时npx 首次拉包可能较慢。可以先手动跑一次npx -y modelcontextprotocol/server-filesystem /tmp让它把包缓存下来。如果一直超时检查 WSL 的网络是否能正常访问 npm registry。6.4 权限报错filesystem 服务只能访问 settings.json 里指定的目录。如果你让它读其他路径会报权限错误。把需要的目录加进 args 列表不要直接给根目录。6.5 记忆不生效确认 config.toml 里memory.enable true且storage_path目录可写。如果 FTS 索引没建起来检查fts_index是否为 true。记忆数据在本地备份时直接打包~/.hermes/memory目录。7. 下一步从最小闭环到日常使用跑通上面几步之后你可以开始做真实任务了。建议从重复性高、边界清晰的小任务入手比如每天整理一次 GitHub 通知或者把某个固定脚本流程整理成 Skill。如果你需要长期跑编码类 Agent 任务可以看看 Coding Plan 的额度说明https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_planutm_campaignrewrite 。需要管理多个 Key 或查看用量进控制台https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite 。接入文档在 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 里面有各语言的调用示例。Hermes 的价值不在装完那一刻而在你用它跑了多少个任务、给了多少条反馈。Skill 是沉淀出来的不是配出来的。先跑通一个最小任务再慢慢加 MCP 服务比一次性全配好再调试要稳得多。