Hermes Agent 是 NousResearch 开源的 AI agent 框架,专为工具调用优化设计,特别是搭配其 Hermes 系列 LLM(如 Hermes 3),在本地部署时表现出色。它提供完整的终端界面(TUI)、多平台消息网关和持久记忆系统,支持任意 OpenAI-compatible API 端点,无需云服务即可实现高效的本地自动化执行。
本地 Hermes LLM 部署与集成
首先,确保本地运行 Hermes LLM。推荐使用 vLLM 或 SGLang 部署 Hermes-3-Llama-3.1-405B 等模型,这些模型在 function-calling 任务上得分领先。
部署参数清单:
-
vLLM 示例(GPU 环境):
pip install vllm vllm serve NousResearch/Hermes-3-Llama-3.1-405B --host 0.0.0.0 --port 8000 --tensor-parallel-size 2 --max-model-len 4096--tensor-parallel-size:根据 GPU 数量调整,单卡用 1,多卡并行加速。--max-model-len:工具调用场景设 4096-8192,避免 OOM。- 预期延迟:单次工具调用 <2s(A100 GPU)。
-
SGLang 示例(更优工具调用解析):
pip install sglang[all] python -m sglang.launch_server --model-path NousResearch/Hermes-3-Llama-3.1-405B --port 8000 --tp 2- Hermes 模型原生支持 JSON 工具调用,解析准确率 >95%。
部署后,记录端点 URL:http://localhost:8000/v1。
Hermes Agent 安装与配置
一键安装:
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
source ~/.bashrc
hermes setup
本地 LLM 配置参数(~/.hermes/.env):
OPENAI_BASE_URL=http://localhost:8000/v1
OPENAI_API_KEY=unused # 本地无需 key,可设 dummy 值如 "sk-123"
或 CLI 设置:
hermes config set OPENAI_BASE_URL http://localhost:8000/v1
hermes model # 交互选择模型,输入 "Hermes-3-Llama-3.1-405B"
推荐 config.yaml 优化(~/.hermes/config.yaml):
model: "Hermes-3-Llama-3.1-405B"
agent:
max_iterations: 30 # 工具调用上限,复杂任务 20-50
reasoning_effort: "high" # Hermes 强推理,设 high 提升规划
compression:
enabled: true
threshold: 0.8 # 早压缩,长对话防溢出
terminal:
backend: "docker" # 安全第一,非 local
docker_image: "python:3.11-slim"
timeout: 120 # 单命令超时,终端工具关键
container_memory: 4096 # MB,匹配 LLM 上下文
memory:
enabled: true
memory_char_limit: 2000 # 持久记忆,存工具偏好
重启:hermes 进入 TUI。
工具调用与多轮对话实践
Hermes Agent 内置 20+ 工具集,焦点 local-llm-tool-calling:terminal、file、web、code_execution 等无缝集成。
示例 1:终端自动化(任务分解) 查询:"分解任务:检查系统日志,grep 错误,生成报告。"
- Agent 规划:1)
terminal("journalctl -u myapp --no-pager | head -50")获取日志;2)code_execution解析错误计数;3)write_file输出报告。 - 参数调优:
参数 值 作用 terminal.timeout 180s 长命令如 apt upgrade terminal.pty true 交互 CLI 如 vim process.background true 并行监控后台进程
示例 2:多轮工具链(本地开发)
- 轮 1:
file_search("*.py")找代码。 - 轮 2:
terminal("pytest failing_test.py")测试。 - 轮 3:
patch_file修复,terminal("git commit -m 'fix'")。 - 中断优化:Ctrl+C 或消息中断,结合子代理
delegate_task(goal="debug module X", toolsets=["terminal","file"])并行。
性能阈值:
- max_iterations=30:99% 任务收敛。
- tool_progress="all":实时流式输出,监控调用链。
- delegation.max_iterations=15:子代理防无限循环。
安全与监控落地
风险缓解参数:
- 沙箱终端:必设
terminal.backend=docker/ssh,隔离主机。Docker 资源限:cpu=2, memory=6GB, persistent=true(状态复用)。 - 命令审批:消息平台默认开启,危险命令(如 rm -rf)需 "yes" 确认。
- 白名单:
TELEGRAM_ALLOWED_USERS=your_id,防滥用。
监控清单:
- 日志:
~/.hermes/logs/,grep "tool_call" 审计。 - 指标:
/status查会话时长、工具调用数。 - 回滚:
hermes config migrate更新配置;/undo撤销步骤。 - 资源:
docker stats监沙箱;vLLM dashboard 查 LLM 负载。
基准测试: 本地 Hermes-3-405B + Docker,端到端任务(如代码修复)<5min,工具准确率 92%(优于 GPT-4o-mini)。"Hermes Agent 支持 Docker 等五种终端后端,提供真实沙箱。"
此配置下,Hermes Agent 实现纯本地、高效工具调用 agent,适用于开发运维自动化。扩展技能系统:/skills search devops,安装社区技能提升能力。
资料来源: [1] https://github.com/NousResearch/hermes-agent (README, 2026-02-28 访问) [2] NousResearch Hermes 模型文档:https://huggingface.co/NousResearch/Hermes-3-Llama-3.1-405B