欢迎回来

登录 EAKE AI,继续您的智能之旅

忘记密码?
还没有账号?立即注册

Hermes Agent 实战指南④:工具生态与自定义扩展,让AI能力无限延伸

2026-05-07 · 入门教程 · 有封面图
# Hermes Agent 实战指南④:工具生态与自定义扩展,让AI能力无限延伸 学会这一讲,你不再受限于内置能力——用什么工具、接什么平台,全由你定义。

4.1 三层扩展体系:Tool / Skill / Plugin

在动手之前,先理解 Hermes Agent 的扩展分层。这个框架把能力扩展分为三个层次,各有分工:
层次 解决什么问题 类比
Tool(工具) "能做什么动作" 厨师手里的刀
Skill(技能) "按什么流程做事" 烹饪菜谱
Plugin(插件) "能不能连上新平台、接入新能力" 厨房改造、新设备接入
三层递进。Tool 解决单点动作(如搜索、执行代码),Skill 编排多个动作形成流程(如写一篇完整文章的工作流),Plugin 则负责接入全新系统——比如让 Hermes 连上你们公司的数据库、飞书群或内部CRM。

4.2 内置工具集一览

Hermes Agent 开箱自带多组工具集,定义在 toolsets.py 中。常用工具集包括 web、terminal、code 三个核心工具集。 启动时指定工具集:
hermes run --toolset web,code

4.3 自定义工具:写一个你自己的工具

第一步:写工具函数 + JSON Schema

创建 tools/my_custom_tool.py
from tools.registry import registry

def text_transform(args):
    text = args.get("text", "")
    transform_type = args.get("transform_type", "uppercase")
    if transform_type == "uppercase":
        return text.upper()
    elif transform_type == "lowercase":
        return text.lower()
    return text

TEXT_TRANSFORM_SCHEMA = {
    "name": "text_transform",
    "description": "转换文本大小写",
    "parameters": {
        "type": "object",
        "properties": {
            "text": {"type": "string"},
            "transform_type": {"type": "string", "enum": ["uppercase", "lowercase"]}
        },
        "required": ["text"]
    }
}

registry.register(name="text_transform", toolset="text_processing",
                  schema=TEXT_TRANSFORM_SCHEMA, handler=text_transform)

第二步:加入工具集

"text_processing": {
    "description": "文本处理工具集",
    "tools": ["text_transform", "word_count"],
    "includes": ["web"]
}

第三步:使用

hermes run --toolset text_processing

4.4 Plugin 机制:接入新平台的能力

Plugin 是 Hermes Agent 最强大的扩展层。不修改核心代码,就能让 Hermes 接入数据库、企业微信、飞书、甚至IoT设备。 一个 Plugin 可以包含:
  • 新增 Tool:让 Hermes 多一组可调用的动作
  • 注册 Hook:在 Agent Loop 关键节点插入自定义处理
  • 注册 CLI 子命令:给 hermes 命令行加新的子命令
Plugin 安装在 ~/.hermes/plugins/ 目录下:
hermes plugin install db-connector
cp -r ./my-plugin ~/.hermes/plugins/
hermes --reload
写一个自定义 Plugin 的结构:
~/.hermes/plugins/task-manager/
├── __init__.py
├── tools/
│   └── task_tools.py
├── hooks/
│   └── audit_hook.py
└── plugin.yaml
plugin.yaml 示例:
name: task-manager
version: "1.0.0"

tools:
  - name: query_task
    file: tools/task_tools.py
    handler: query_task

hooks:
  - event: after_tool_call
    handler: hooks/audit_hook.py:log_tool_usage
重启后即可使用:hermes run --toolset task-manager,web

4.5 工具集组合与继承

工具集支持通过 includes 属性复用其他工具集:
"content_creation": {
    "description": "内容创作综合工具集",
    "tools": ["text_rewrite", "image_generate"],
    "includes": ["text_processing", "image_gen"]
}
可视化工具集结构:
from toolsets import print_toolset_tree
print_toolset_tree("content_creation")

4.6 动态工具集:运行时创建

不需要修改文件,在运行时动态创建工具集:
from toolsets import create_custom_toolset

create_custom_toolset(
    name="my_dynamic_toolset",
    tools=["text_transform"],
    includes=["web", "vision"]
)

本讲小结

概念 作用 关键操作
Tool 单个可执行动作 写函数 + JSON Schema + registry.register()
Skill 动作流程编排 YAML 配置 workflow
Plugin 平台级能力扩展 放入 ~/.hermes/plugins/,自动加载
下一讲我们将进入 Supervisor 与 Worker 进阶玩法——如何让多 Agent 团队真正像一个高效运转的项目组。
想第一时间看实战指南系列?关注公众号,设为星标,精彩不错过。  

评论区

发表评论