十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Hermes Agent 扩展开发:5 分钟跑通你的第一个自定义工具

Hermes Agent 扩展开发:5 分钟跑通你的第一个自定义工具 Hermes Agent 扩展开发5 分钟跑通你的第一个自定义工具【免费下载链接】hermes-agentThe agent that grows with you项目地址: https://gitcode.com/GitHub_Trending/he/hermes-agentdemo 跑通了但你想塞进一个自己的功能从哪下手Hermes Agent 的扩展入口比想象中简单写几行注册代码把它挂上菜单你的自定义工具就能在任何会话里被模型调用。这篇文章带你从零走到生效。它到底是怎么工作的可以把它想成一家餐厅。registry注册表是后厨的拿手菜全集——任何厨师都可以报菜但报了就记账、随时待命toolset工具集是今天的菜单客人只能点菜单上的菜。所以一个工具要真正被 agent 调用得过两道关先注册进 registry再被某个 toolset 点名。每个入口CLI、Telegram、桌面端各选一个基础工具集这就是同一个工具在 A 平台能用、B 平台看不到的原因。机制就这么多剩下的都是照抄。从零到跑通先拿到代码git clone https://gitcode.com/GitHub_Trending/he/hermes-agent装好依赖后新建一个tools/my_tool.py。最小可用示例这段代码做一件事注册一个最笨的工具回显传入的字符串。能跑就行。# tools/my_tool.py import json from tools.registry import registry def my_tool(text: str) - str: return json.dumps({ok: True, echo: text}) registry.register( namemy_tool, toolsetsafe, schema{name: my_tool, description: 回显字符串, parameters: { type: object, properties: {text: {type: string}}, required: [text]}}, handlerlambda a, **kw: my_tool(a[text]), )tools/目录下的文件会被自动发现——文件里有顶层的registry.register()调用就会被导入你不用维护任何 import 清单。改造成你的需求两处改动。第一加个门槛工具依赖 API key 时用check_fn声明前置条件没配好就不出现避免模型盲目调用。def check_requirements() - bool: return bool(os.getenv(MY_API_KEY)) # registry.register(...) 里追加check_fncheck_requirements, requires_env[MY_API_KEY]第二把它挂上菜单。在toolsets.py的TOOLSETS字典里把你的工具名加进任一 toolset 的tools列表或直接丢进_HERMES_CORE_TOOLS那是所有平台基础工具集都继承的默认包。这一手不是可选项下一节会讲为什么。确认它真的生效跑一条命令看工具列表my_tool出现在你挂的 toolset 下hermes tools然后进任意会话直接说用 my_tool 回显 hello。模型调它、拿到{ok: true, echo: hello}的 JSON 返回闭环就成了。工具集怎么拼工具集之间靠includes互相引用一个工具集可以装自己的工具、再整包继承别人的。写一个自己的综合工具集就是三行my_ops: { description: 我自己的运维工具集, tools: [my_tool], includes: [web, terminal], }这样my_ops一开搜索、终端、你的工具全就位不用一个个点名。出问题时先查这三处注册了模型却从不调用。九成是工具名没出现在任何 toolset 里。自动发现只完成 schema 注册等于菜进了后厨但没上菜单模型根本看不见它。去toolsets.py里确认名字在列。handler 一跑就报错或返回乱码。registry 要求所有 handler 返回 JSON 字符串直接 return 一个 dict 会出问题用json.dumps包一层。工具在列表里时隐时现。多半是check_fn没过API key 没写进.env、环境变了工具就被静默隐藏。用hermes doctor排查环境再把 key 补上。再往深走三条值得顺着读的路AGENTS.md 里的 Adding New Tools 和 Toolsets 两节把注册、发现、暴露三者的边界讲得最清楚见 AGENTS.md贡献流程与评审标准在 CONTRIBUTING.md你的工具若真想进核心而不是只自用按这份标准自查一遍另外记住项目的足迹阶梯——个人自用的小工具走插件目录~/.hermes/plugins/不碰核心代码扩展的边界感在这里最重要。【免费下载链接】hermes-agentThe agent that grows with you项目地址: https://gitcode.com/GitHub_Trending/he/hermes-agent创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表