Hermes Agent 工具-周红伟

工具是扩展智能体能力的函数。它们被组织成逻辑上的工具集,可以在每个平台上启用或禁用。

Hermes Agent 附带了一个广泛的内置工具注册表,涵盖网页搜索、浏览器自动化、终端执行、文件编辑、记忆、委托、RL 训练、消息投递、Home Assistant 等。


可用工具

工具分类

类别 示例 说明
网页 web_search, web_extract 搜索网页和提取页面内容
终端和文件 terminal, process, read_file, patch 执行命令和操作文件
浏览器 browser_navigate, browser_snapshot, browser_vision 交互式浏览器自动化,支持文本和视觉
媒体 vision_analyze, image_generate, text_to_speech 多模态分析和生成
智能体编排 todo, clarify, execute_code, delegate_task 规划、澄清、代码执行和子智能体委托
记忆和召回 memory, session_search 持久化记忆和会话搜索
自动化和投递 cronjob, send_message 定时任务(创建/列表/更新/暂停/恢复/运行/删除),以及出站消息投递
集成 ha_*, MCP 服务器工具, rl_* Home Assistant、MCP、RL 训练和其他集成

使用工具集

复制代码
# 使用特定工具集
hermes chat --toolsets "web,terminal"

# 查看所有可用工具
hermes tools

# 配置每个平台的工具(交互式)
hermes tools

常用工具集包括:

  • web --- 网页搜索和提取
  • terminal --- 终端命令执行
  • file --- 文件操作
  • browser --- 浏览器自动化
  • vision --- 图像分析
  • image_gen --- 图像生成
  • skills --- 技能系统
  • tts --- 文本转语音
  • todo --- 任务管理
  • memory --- 记忆系统
  • session_search --- 会话搜索
  • cronjob --- 定时任务
  • code_execution --- 代码执行
  • delegation --- 任务委托
  • clarify --- 澄清问题
  • homeassistant --- Home Assistant 集成
  • rl --- 强化学习训练

平台预设: 工具集还包括平台预设,如 hermes-clihermes-telegram 以及动态 MCP 工具集如 mcp-<server>


终端后端

终端工具可以在不同的环境中执行命令:

后端 说明 适用场景
local 在本地机器运行(默认) 开发、可信任务
docker 隔离容器 安全、可重现性
ssh 远程服务器 沙盒、保持 agent 远离自己的代码
singularity HPC 容器 集群计算、无 root
modal 云端执行 无服务器、弹性扩展
daytona 云沙盒工作区 持久远程开发环境

配置

复制代码
# ~/.hermes/config.yaml
terminal:
  backend: local    # 或: docker, ssh, singularity, modal, daytona
  cwd: "."          # 工作目录
  timeout: 180      # 命令超时时间(秒)

Docker 后端

复制代码
terminal:
  backend: docker
  docker_image: python:3.11-slim

SSH 后端

推荐用于安全场景------agent 无法修改自己的代码:

复制代码
terminal:
  backend: ssh
复制代码
# 在 ~/.hermes/.env 中设置凭据
TERMINAL_SSH_HOST=my-server.example.com
TERMINAL_SSH_USER=myuser
TERMINAL_SSH_KEY=~/.ssh/id_rsa

Modal(无服务器云)

复制代码
uv pip install modal
modal setup
hermes config set terminal.backend modal

容器资源

复制代码
terminal:
  backend: docker
  container_cpu: 1              # CPU 核心数
  container_memory: 5120        # 内存 MB(默认 5GB)
  container_disk: 51200         # 磁盘 MB(默认 50GB)
  container_persistent: true    # 跨会话持久化

容器安全

所有容器后端都使用安全加固运行:

  • 只读根文件系统(Docker)
  • 删除所有 Linux 能力
  • 无权限提升
  • PID 限制(256 个进程)
  • 完整命名空间隔离
  • 通过卷实现持久工作区,而非可写根层

后台进程管理

启动后台进程并管理它们:

复制代码
terminal(command="pytest -v tests/", background=true)
# 返回: {"session_id": "proc_abc123", "pid": 12345}

# 然后使用 process 工具管理:
process(action="list")       # 显示所有运行中的进程
process(action="poll", session_id="proc_abc123")   # 检查状态
process(action="wait", session_id="proc_abc123")   # 阻塞直到完成
process(action="log", session_id="proc_abc123")    # 完整输出
process(action="kill", session_id="proc_abc123")   # 终止
process(action="write", session_id="proc_abc123", data="y")  # 发送输入

PTY 模式(pty=true)启用交互式 CLI 工具如 Codex 和 Claude Code。


Sudo 支持

如果命令需要 sudo,系统会提示您输入密码(为会话缓存)。或设置 SUDO_PASSWORD~/.hermes/.env 中。

警告: 在消息平台上,如果 sudo 失败,输出会包含添加到 ~/.hermes/.env 的提示。

提示: 使用 hermes tools 命令可以交互式配置每个平台启用的工具。

相关推荐
第七种黄昏5 分钟前
用AI一天做出一个完整App:VibeCoding全流程实战记录(小白也能复现)
人工智能
skilllite作者5 分钟前
SkillLite 原生系统级沙箱功能代码导览
人工智能·chrome·后端·架构·rust
H_z_q240111 分钟前
HCIP的stp(生成树 )1
网络
搬砖的小码农_Sky16 分钟前
Linux操作系统:Ubuntu和Debian的区别
linux·ubuntu·debian
GISer_Jing17 分钟前
AI Agent中游产业链全景拆解:智能体开发的核心生态与技术版图
前端·人工智能·后端
江湖有缘21 分钟前
基于Ubuntu系统Docker部署Note Mark:从安装到配置全流程
linux·ubuntu·docker
冬奇Lab23 分钟前
RAG 系列(七):检索策略——如何找到最相关的内容
人工智能·llm·源码
薛定猫AI29 分钟前
【深度解析】DeepSeek V4 + Cloud Code:构建低成本、高吞吐的混合 AI 编码工作流
人工智能·log4j
Deitymoon31 分钟前
ESP8266——TCP客户端
网络·网络协议·tcp/ip
数智工坊31 分钟前
【Transfer CLIP论文阅读】跨模态大模型赋能!CLIP迁移学习实现超强泛化图像去噪
论文阅读·人工智能·迁移学习