HoRain 云小助手个人主页⛺️生活的理想就是为了理想的生活!⛳️ 推荐前些天发现了一个超棒的服务器购买网站性价比超高大内存超划算忍不住分享一下给大家。点击跳转到网站。目录⛳️ 推荐插件开发入门实例Hook 系统实例可用的 Hook 点注册自定义工具实例从 OpenClaw 迁移实例主要概念对照生产环境最佳实践安全清单实例实例Token 成本控制实例多 Profile 网关监控实例更新策略实例本章面向进阶用户如何通过插件系统扩展 Hermes、如何从 OpenClaw 迁移以及将 Hermes 部署到生产环境的安全与成本最佳实践。插件开发入门Hermes 支持三种类型的插件通用插件工具 Hook、记忆提供者、上下文引擎。实例# 交互式管理已安装插件hermes plugins# 命令行管理hermes plugins listhermes plugins install pathhermes plugins enable namehermes plugins disable name可以在仪表盘 管理插件使用以下命令启动 Dashboard仪表盘hermes dashboard浏览器打开仪表盘打开左侧插件列表可以看到已安装的插件Hook 系统最常用的插件能力是 Hook——在 Agent 生命周期的关键节点注入自定义逻辑实例# 文件路径插件目录/logging_plugin.py# 简单插件示例记录所有 LLM 调用from hermes.plugins import Plugin, hookclass LoggingPlugin(Plugin):name logging-pluginhook(pre_llm_call)async def before_call(self, ctx):# 每次 LLM 调用前触发print(f[LOG] 即将调用 LLM当前上下文长度{len(ctx.messages)})hook(post_llm_call)async def after_call(self, ctx, response):# 每次 LLM 调用后触发print(f[LOG] LLM 调用完成回复长度{len(response.content)})可用的 Hook 点Hook触发时机典型用途pre_llm_callLLM 调用前记录上下文、修改 Promptpost_llm_callLLM 调用后记录响应、统计分析pre_tool_call工具调用前可拦截/修改权限校验、参数过滤post_tool_call工具调用后结果审计、日志记录on_message_received收到用户消息时消息预处理、敏感词过滤on_session_start会话开始时初始化资源、注入上下文on_session_end会话结束时清理资源、生成摘要注册自定义工具通过插件为 Agent 添加全新的工具能力实例# 文件路径插件目录/my_tools.py# 注册自定义工具——Agent 可以像调用内置工具一样使用它from hermes.plugins import Pluginclass MyPlugin(Plugin):name my-toolsdef register_tools(self, ctx):# 注册自定义工具Agent 在系统提示词中可见ctx.register_tool(namemy_custom_tool,description这个工具做某件事当用户需要 X 时使用,parameters{type: object,properties: {input: {type: string,description: 输入参数说明}},required: [input]},handlerself.my_tool_handler)async def my_tool_handler(self, **kwargs):# 工具的实际执行逻辑input_text kwargs.get(input, )# ... 处理逻辑 ...return {result: done}从 OpenClaw 迁移如果你正在使用 OpenClaw官方提供了零停机迁移方案实例# 导出 OpenClaw 配置openclaw export --format hermes openclaw-config.json# 导入到 Hermeshermes import --from openclaw openclaw-config.json# 验证迁移结果hermes doctor主要概念对照概念OpenClawHermes代理定义JSON Agent 配置SOUL.md config.yaml工作流程手动编写 YAML 流程技能SKILL.md记忆后端外部数据库内置 SQLite 可插拔技能/工具代码插件Markdown 技能文件多实例多进程配置Profile 系统生产环境最佳实践安全清单生产部署时的推荐安全配置实例# 文件路径~/.hermes/config.yaml# 生产环境推荐安全配置terminal:backend: docker # 必须隔离 Agent 命令执行环境approvals:mode: smart # 危险命令需审批或 manual 更严格cron_mode: deny # 定时任务遇到危险命令默认拒绝security:redact_secrets: true # 日志中自动脱敏敏感信息默认开启环境变量中的访问控制实例# 文件路径~/.hermes/.env# 生产环境访问控制配置GATEWAY_ALLOW_ALL_USERSfalse # 绝不允许所有用户TELEGRAM_ALLOWED_USERS你的用户ID # 明确白名单Token 成本控制辅助任务使用更便宜的模型大幅降低运营成本实例# 文件路径~/.hermes/config.yaml# 辅助任务使用独立模型降低 Token 费用auxiliary:background_review:provider: openroutermodel: google/gemini-3-flash-preview # 不必用主模型vision:provider: openroutermodel: google/gemini-2.5-flash-previewsession_search:provider: openroutermodel: google/gemini-3-flash-preview多 Profile 网关监控实例# 同时查看所有 Profile 的网关状态hermes profile list# 批量重启所有网关for profile in coder assistant researcher; do$profile gateway restartdone更新策略一条命令同时更新代码和所有 Profile 的内置技能实例# 一次更新代码 为所有 Profile 同步新内置技能hermes update# → 代码更新12 个提交# → 技能同步# default已是最新# coder2 新增技能# assistant2 新增技能用户修改过的技能永远不会被覆盖。更新只同步内置技能中的新增和变更部分。❤️❤️❤️本人水平有限如有纰漏欢迎各位大佬评论批评指正如果觉得这篇文对你有帮助的话也请给个点赞、收藏下吧非常感谢! Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧