把Hermes Agent跑起来,我踩了几个坑,照着做一次通

大家好,我是东哥。「Vibe Coding AI编程实战」系列第9篇。

把Hermes Agent跑起来,我踩了几个坑,照着做一次通

上一篇讲了开源项目二次开发的思路,先理解再改。今天动手把Hermes Agent(NousResearch那个开源agent框架)真正跑起来,跑通最小问答链路。过程中踩了几个坑,一个个掰开说,你照着做基本能一次通。

部署三步,但每步都有讲究

下载源码就不说了,git clone 完用Trae打开。关键是启动。

Hermes Agent后端是Python,前端是TypeScript。装依赖分两头:Python这边用uv,前端用npm。命令我直接给你:

uv pip install --system -e ".[all,dev]",装Python依赖,注意那个 [all,dev] 是装全部extras,少装了会缺 prompt_toolkitmcp 这些包,启动又报错。npm install --workspace web,装前端依赖,它是workspace模式。然后 python -m hermes_cli.main dashboard --no-open,启动Dashboard。

把Hermes Agent跑起来,我踩了几个坑,照着做一次通

这里第一个坑在uv那条命令的 --system 参数。不加它,uv会默认给你新建一个虚拟环境装进去,而不是装到当前Python环境。你以为是装好了,启动还是报缺依赖。加上 --system,装到当前环境,才作数。

还有个反直觉的点:前端不用单独启动。Dashboard启动时会自动构建并serve前端静态文件,直接访问 127.0.0.1:9119 就行,不用再开个 npm run dev

把Hermes Agent跑起来,我踩了几个坑,照着做一次通

Rules要精简,只记启动命令

跑起来之后,马上写一份项目规则文件,记在 .trae/rules/project.md 里。

为什么要写?因为后面调试时上下文一长,AI会忘了这项目怎么启动的,又自己瞎猜命令。规则文件就是在它每次动手前,先把启动方式注入进去。

但这里有个度,别写太复杂。我一开始让AI写,它给我整了上百行,项目结构、技术栈、目录说明全塞进去。这不行,规则是每次对话都要注入的,写太长烧token,还稀释关键信息。后来我让它精简到22行,只留架构概览和启动命令两条核心,再加个 description 字段让它在合适场景才生效。

把Hermes Agent跑起来,我踩了几个坑,照着做一次通

记住,规则里只要启动命令,项目结构那些没用的统统删掉。

最大的坑:API Key的hostname陷阱

跑起来能访问界面了,但一问答就报错,401,提示 No API key configured。这是整条路上最阴的坑。

我接的是阿里云百炼的千问(Qwen3.7),走OpenAI兼容接口,base_url 填的是 dashscope.aliyuncs.com.env 里 OPENAI_API_KEY 明明配了,重启网关还是401。

把Hermes Agent跑起来,我踩了几个坑,照着做一次通

翻源码才看清,它的provider解析逻辑有个hostname匹配:OPENAI_API_KEY 只在 base_url 含 openai.com 时用。百炼的URL不带这个,它就不认,自动去找什么 ALIYUNCS_API_KEY,根本没配,当然401。

解法不走 .env 硬刚,用CLI配置。跑 python -m hermes_cli.main model,进交互式配置,填模型名、base_url、选custom provider。它会自动在 config.yaml 里写一行 api_key: ${OPENAI_API_KEY},用环境变量引用,绕过那个hostname匹配,这才是正路。

这里多一句,Hermes Agent有Dashboard、CLI、Gateway三种启动模式,日常调试用Dashboard就够,它背后就是FastAPI起的Uvicorn服务。配置文件都在一个叫 HERMES_HOME 的目录下,Windows上是 %LOCALAPPDATA%hermes,不在项目目录里,第一次找容易找半天。

把Hermes Agent跑起来,我踩了几个坑,照着做一次通

接模型:先问清楚再动手

接千问这步,我没上来就让AI改代码。先切ask模式,只问不写:这个项目支持接千问吗?必须多模态吗?还是纯文本chat模型就行?

AI结合源码告诉我:纯文本chat模型完全能用,多模态可有可无,少了它只是图片理解那块丧失。这个要先问清楚,不然你接了个纯文本模型,回头发现图片功能没了,还以为是bug。Hermes Agent接第三方模型走的是OpenAI兼容接口,只要你的模型服务能提供这个协议,就能接,千问、DeepSeek都行。

问清楚兼容性,再切agent模式让它动手改。我让它在前端加了个侧边栏配模型,后端做持久化,这样界面上就能加自定义模型,不用每次改配置文件。

工具不局限,思路是通用的

这次我主力用Trae配GPT-5.2,中间老是触发频率限制,临时切到Claude Code接着跑,一样能复现。说明这套部署和二次开发的思路,不绑死某个AI编程工具,Trae、Codex、Claude Code都行,换着用不影响。

把Hermes Agent跑起来,我踩了几个坑,照着做一次通

还有个心得,碰到AI改不动的功能,别硬磕一个工具。这次前端加模型配置侧边栏,Opus改了半天没改对,换Claude Code几轮就到位了。工具之间没有高下,只有合不合适这一刻的任务,多备几个轮着来。

跑通最小问答链路,只是MVP验证。真正难的在后头,Hermes Agent里Gateway、Skills、MCP、Subagents一堆组件,怎么协作的、在哪儿做二次开发,得做架构逆向拆解。下一篇,我们就把这架构扒开看。

行业动态

端到端交付2.0:像工业流水线一样的生产和交付需求

2026-7-21 18:45:00

行业动态

18 万人收藏的开源 Skills 仓库,夯爆了!30 秒带你用上,让 AI 效率起飞

2026-7-22 9:59:41

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧