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 命令可以交互式配置每个平台启用的工具。

相关推荐
Westward-sun.2 小时前
OpenCV 疲劳检测实战:用 dlib 计算眼睛纵横比 (EAR)
人工智能·opencv·计算机视觉·视觉检测
杜子不疼.2 小时前
Python + AI 实战:用 LangChain 搭建企业级 RAG 知识库
人工智能·python·langchain
阿杰学AI2 小时前
AI核心知识118—大语言模型之 Software 2.0 (简洁且通俗易懂版)
人工智能·ai·语言模型·自然语言处理·aigc·编程·software 2.0
天天进步20152 小时前
[核心篇] 视频一致性算法:Toonflow 是如何处理视频闪烁问题的?
人工智能
中科岩创2 小时前
数字传感护华为数字能源大厦,控制加固施工安全风险!
人工智能·科技·物联网
大卡片2 小时前
linux和IO常见面试题
linux·运维·服务器
zzzyyy5382 小时前
Linux程序地址空间
linux·运维·服务器
RisunJan2 小时前
Linux命令-newusers(用于批处理的方式一次创建多个命令)
linux·运维·服务器
甄心爱学习2 小时前
【项目实训(个人3)】
vue.js·人工智能·python·个人开发