Hermes Agent 接 llama.cpp 后不调工具,先不要急着改 Hermes 配置。大多数问题出在三处:接口地址不是 OpenAI 兼容的 /v1,模型名填错,或者本地模型本身不稳定支持工具调用。
Hermes Agent 官方仓库是 https://github.com/NousResearch/hermes-agent。官方文档强调自定义 endpoint 要按 OpenAI 兼容方式配置;Quickstart 也提醒本地模型至少要有足够上下文。对 llama.cpp 来说,能聊天不等于能稳定调用工具,这是最容易误判的地方。
第一步:先确认接口能正常回答
先用最小请求测接口,不要一开始就让 Hermes Agent 带工具跑复杂任务。地址通常应类似 http://127.0.0.1:8080/v1,模型名要和服务端暴露的一致。可以先查模型列表,再发一条普通 chat 请求。如果普通请求都失败,Hermes Agent 当然也不会正常工作。
第二步:确认不是 base_url 写错
很多人会把地址写成 http://127.0.0.1:8080,但实际兼容接口需要带 /v1。通过 hermes model 配自定义 endpoint 时,重点核对 base URL、API key、model 三个值。API key 在本地服务里可能只是占位值,但不能空着或填错位置。
第三步:单独测试工具调用能力
本地模型即使能聊天,也可能不会按工具调用格式返回。典型表现是:它用文字说“我会执行命令”,但没有真正触发 terminal、file 或 browser 工具;或者输出 JSON 片段,却没有形成有效调用。遇到这种情况,优先换明确支持 tool calling 的模型,或把工具密集型任务交给云端模型。
推荐的稳定做法
- 先用已验证模型跑通 Hermes Agent 的工具链。
- 再把 llama.cpp 作为普通聊天模型接入,确认响应、上下文和速度。
- 最后只在简单工具任务里测试 tool calling。
- 长期读文件、执行命令、改项目时,保留一个支持工具调用的备用 provider。
结论是:llama.cpp 接入失败时,排查顺序应是 endpoint、model、上下文、工具调用能力,而不是反复重装 Hermes Agent。先把本地接口测干净,再接入 Hermes,问题会少很多。