当前位置: 首页 > news >正文

5 分钟上手!Hermes Agent 插件开发保姆级教程,扩展能力从此开挂

Hermes Agent 插件使用教程

项目需求总在变,Agent 功能却”锁死”在框架里,改源码又怕升级时被覆盖?Hermes Agent 的插件系统正是为此而生——它是模块化扩展核心能力的关键机制,无需修改框架源码,即可自定义工具、事件钩子、命令与集成能力。插件遵循”低侵入、高兼容、可插拔”设计,支持用户自定义、项目专属、官方内置三类插件,覆盖工具扩展、流程自动化、第三方集成等全场景。本文从核心概念、插件管理、开发入门、内置插件、最佳实践五方面,带你全面掌握插件使用与开发。

一、插件核心概念

1.1 什么是插件

插件是 Hermes 的扩展模块,以独立目录形式存在,通过标准化配置与代码,向 Agent 注入自定义能力,完全解耦于核心框架,升级 / 替换不影响主程序运行。

1.2 插件类型

Hermes 插件分为三类,各司其职:

  • 通用插件(General):自定义工具、钩子、斜杠命令,可组合启用。

  • 内存插件(Memory Provider):替换 / 增强内置记忆系统,仅支持单实例

  • 上下文插件(Context Engine):替换内置上下文压缩能力,仅支持单实例

1.3 插件发现路径

插件按优先级扫描,后加载覆盖同名先加载插件

  1. 官方内置:框架自带插件(/plugins),默认禁用。

  2. 用户插件:个人专属(~/.hermes/plugins),全局生效。

  3. 项目插件:项目目录(./.hermes/plugins),需手动开启权限。

  4. Pip 插件:通过hermes_agent.plugins入口点分发。

1.4 启用机制

插件默认禁用,需手动加入允许列表(plugins.enabled)才会加载。

图1:插件类型与发现路径图

发现路径(按优先级)

后加载覆盖先加载

后加载覆盖先加载

后加载覆盖先加载

官方内置 /plugins

用户插件 ~/.hermes/plugins

项目插件 ./.hermes/plugins

Pip 插件 hermes_agent.plugins

插件类型

通用插件 General
工具 · 钩子 · 斜杠命令

内存插件 Memory Provider
仅支持单实例

上下文插件 Context Engine
仅支持单实例

理解了插件类型与发现机制后,接下来看看如何用 CLI 命令管理这些插件。

二、插件管理(CLI 命令)

Hermes 提供统一 CLI,实现插件全生命周期管理。

2.1 查看插件

# 交互式面板(空格勾选启用/禁用)hermes plugins# 列表模式(显示启用/禁用状态)hermes plugins list

2.2 启用 / 禁用插件

# 启用单个插件hermes pluginsenable插件名# 禁用单个插件(加入拒绝列表)hermes plugins disable 插件名

2.3 安装 / 更新 / 卸载

# 从 Git 安装(自动提示启用)hermes pluginsinstall仓库名/插件名# 安装并自动启用hermes pluginsinstall仓库名/插件名--enable# 更新插件hermes plugins update 插件名# 卸载插件hermes plugins remove 插件名

2.4 配置文件管理

插件状态持久化于~/.hermes/config.yaml

plugins:enabled:# 允许列表(启用的插件)-hello-world-disk-cleanupdisabled:# 拒绝列表(强制禁用)-noisy-plugin

配置管理是基础,但如果内置插件不满足需求,你可以自己动手开发一个插件。

三、插件开发入门(极简示例)

3.1 目录结构

最小插件仅需 4 个文件:

~/.hermes/plugins/hello-world/ ├── plugin.yaml # 插件元数据 ├── __init__.py # 注册入口 ├── schemas.py # 工具模型(可选) └── tools.py # 工具逻辑

3.2 编写配置(plugin.yaml)

name:hello-worldversion:"1.0.0"description:极简示例插件(打招呼工具+日志钩子)

3.3 注册入口(init.py)

importjsondefregister(ctx):# 1. 注册工具:hello_worldtool_schema={"name":"hello_world","description":"向指定用户打招呼","parameters":{"type":"object","properties":{"name":{"type":"string","description":"用户名"}},"required":["name"]}}defhandle_hello(params,**kwargs):name=params.get("name","World")returnjson.dumps({"success":True,"greeting":f"Hello,{name}!"})ctx.register_tool(name="hello_world",toolset="hello-world",schema=tool_schema,handler=handle_hello,description="向用户打招呼")# 2. 注册钩子:日志所有工具调用deflog_tool_call(tool_name,params,result,**kwargs):print(f"[插件日志] 工具:{tool_name},参数:{params}")ctx.register_hook("post_tool_call",log_tool_call)

3.4 启用测试

# 启用插件hermes pluginsenablehello-world# 重启 Hermes 生效hermes restart# 调用工具hermes chat"调用 hello_world 工具,name=Hermes"

自己动手开发了插件,再看看 Hermes 自带的几个实用插件,开箱即用。

四、官方内置插件

Hermes 自带实用内置插件,开箱即用。

4.1 disk-cleanup(磁盘清理)

功能:自动追踪并清理会话临时文件(测试脚本、缓存、日志)。

# 启用hermes pluginsenabledisk-cleanup# 手动清理/disk-cleanup quick

4.2 observability/langfuse(可观测性)

功能:对接 Langfuse,追踪 LLM 调用、工具执行、会话链路。

# 交互式配置(推荐)hermes tools → Langfuse → 输入密钥# 启用hermes pluginsenableobservability/langfuse

4.3 google_meet(会议助手)

功能:自动加入 Google Meet、实时转录、生成纪要。

# 启用并授权hermes pluginsenablegoogle_meet

内置插件覆盖了常见需求,但如果要深度定制,就需要了解插件提供的核心扩展能力。

五、插件核心能力开发

5.1 自定义工具

通过ctx.register_tool注册自定义工具,支持参数校验、结果返回。

5.2 事件钩子

支持全生命周期钩子,拦截 / 增强 Agent 行为:

  • pre_tool_call:工具执行前(拦截危险操作)

  • post_tool_call:工具执行后(日志 / 统计)

  • pre_llm_call:LLM 推理前(注入上下文)

  • on_session_end:会话结束(清理资源)

5.3 斜杠命令

注册自定义会话命令,CLI / 网关均可调用:

ctx.register_command(name="mycmd",handler=mycmd_handler,description="自定义命令")

掌握了插件的开发方式,最后总结几项最佳实践,帮你构建健壮的插件生态。

六、最佳实践

  1. 权限控制:项目插件需手动开启HERMES_ENABLE_PROJECT_PLUGINS=true,仅信任仓库启用。

  2. 命名规范:插件名小写 + 连字符,避免冲突。

  3. 精简设计:单一插件聚焦单一能力,避免功能臃肿。

  4. 安全优先:插件钩子拦截高危工具(rm -rfsudo)。

  5. 版本管理:插件标注版本,更新前测试兼容性。

七、总结

Hermes 插件系统以模块化、低侵入、高扩展为核心,覆盖自定义工具、事件钩子、第三方集成等场景,官方内置插件开箱即用,自定义插件开发极简。通过统一 CLI 管理,结合安全启用机制,可灵活扩展 Agent 能力,适配个性化、项目专属、复杂集成等各类需求,是 Hermes 生态扩展的核心基石。

http://www.gsyq.cn/news/1497853.html

相关文章:

  • 2026南京黄金回收典当行真划算?8家渠道硬核对比,收益差距公开 - 商业快讯早知道
  • 安徽初三没考上高中怎么办?还有什么学校可以上? - 我叫小周
  • Applite:三步告别命令行,用免费图形界面轻松管理Mac软件
  • 2026上海GEO服务商测评:五家机构技术路径与选择指南 - 热点速览
  • i.MX 6SoloX电源与I/O设计实战:从LDO、GPIO到DDR的电气特性深度解析
  • 孔板流量计产品深度解读:从基础原理到进阶应用 - 仪表人叶工
  • 2026年,西安未央附近专业代理记账品牌大揭秘,诚信之选究竟是谁?
  • 一键生成专属外网链接,这才是最适合小白的内网穿透神器
  • 2026成都手表回收“分级评分”排行榜:劳力士、欧米茄、浪琴S/A/B级实测 - 薛定谔的梨花猫
  • 百达翡丽中国官方售后服务中心实地考察报告_多信源验证(2026年6月最新) - 百达翡丽服务中心
  • 代币模型设计:决定区块链项目长期成败的核心逻辑
  • 国内多模态推理一体机厂家排行 品质甄选指南 - 奔跑123
  • 2026 赤峰防水补漏哪家靠谱?正规公司排名及避坑价格指南 - 苏易修缮
  • 晟邦齿轮电机:JSCC精研驱动方案的性能与市场表现解析 - 资讯焦点
  • 2026 浙江锦鲤鱼池设计施工公司权威排行榜 杭州美村美户园林稳居首位 - 玖叁鹿
  • 2026年度EC风机行业技术创新TOP5品牌榜单 - 资讯焦点
  • 终极指南:3种快速激活Beyond Compare 5的完整解决方案
  • 2026年4月络合铁催化剂厂家推荐 - 多才菠萝
  • ESXi 6.7支持哪些VMFS版本?VMFS6新旧特性最全教程
  • # 2026 年国内高密度棉布全国五大实力榜:广东广州等地企业现货充足 - 十大品牌榜
  • 2026最新安徽合肥理工学校无人机 / 汽修专业怎么报名?招生办联系方式怎么找? - cc江江
  • 百度蜘蛛池真的有用吗?
  • i.MX 6UltraLite引脚配置与硬件设计实战指南
  • 化工厂地坪如何抵御强酸强碱腐蚀?聚氨酯砂浆耐腐蚀方案——港珠澳大桥人工岛地坪施工商 - 热点速览
  • i.MX 6UltraLite硬件设计:电源管理与I/O电气特性深度解析
  • 家用插混SUV怎么选?安全性高认准沃尔沃XC70 - 热点速览
  • 谷歌ads怎么设置出价:套用这个测价公式,点击率飙到8%
  • 如何用pk3DS打造专属宝可梦世界:终极3DS游戏编辑器指南
  • 01 Milvus-向量数据库基础
  • 高端工业防腐之王,PVDF 管的硬核性能与应用 - 苏一塑业13914572689