通过 Hermes Agent Python SDK 直接实例化 AIAgent 若需将 Hermes Agent 深度集成至自有 Python 脚本,并希望完全掌控其生命周期,直接使用其 Python SDK 是最直接、最灵活的方式。该方法允许现场定义工具、管理会话状态,无需依赖外部服务进程。 具
若需将 Hermes Agent 深度集成至自有 Python 脚本,并希望完全掌控其生命周期,直接使用其 Python SDK 是最直接、最灵活的方式。该方法允许现场定义工具、管理会话状态,无需依赖外部服务进程。
具体操作步骤如下:
长期稳定更新的攒劲资源: >>>点此立即查看<<<
1. 确保环境已安装 Hermes Agent Python 包。通常可通过 pip 命令完成:pip install hermes-agent。
2. 在脚本中导入核心的 AIAgent 类并进行初始化。这相当于为自动化任务创建一个专属的“智能体”。

3. 构建“工具包”。创建一个工具列表,将希望 Agent 调用的本地功能(如使用 subprocess 执行系统命令、读写特定文件等)封装成符合规范的工具函数,并传入 Agent。
4. 调用 run_conversation 方法。使用自然语言发出指令,例如“帮我列出当前目录下所有的 .py 文件”。Agent 将理解意图并自动调用相应工具。
5. 从方法返回结果中,精准捕获 tool_result 字段。此字段包含本地工具执行后的原始输出,脚本可据此进行后续逻辑判断与处理。
若倾向于服务化架构,即让 Hermes Agent 作为独立的 HTTP 服务运行并通过 API 调用,此方式较为合适。其优势在于职责分离,主程序仅需关注发送请求与接收结果。
实现路径如下:
1. 将封装了本地操作的工具脚本(如 file_tools.py)放置到 Hermes Agent 指定的插件目录下,通常为 ~/.hermes/tools/。
2. 在工具脚本中,按规定格式定义函数。使用 @tool 装饰器,并清晰声明每个参数的名称、类型和描述。这相当于为每个工具制作详细“说明书”,便于 Agent 理解与调用。
3. 以启用插件扫描的模式启动 Hermes Agent API 服务。命令示例:hermes api serve --host 0.0.0.0 --port 8000 --enable-plugins。启动后,服务将自动加载所有已放置的工具插件。
4. 在客户端代码中,使用 requests 库或其他 HTTP 客户端,向服务的 /v1/chat/completions 端点发送 POST 请求。请求体中的 messages 字段应包含触发工具调用的自然语言指令。
5. 检查 API 返回的 JSON 响应。若一切顺利,响应中将包含 "tool_calls" 字段,表明 Agent 已识别指令并成功调度相应本地工具执行。
对于追求极致性能、需零网络延迟的本地集成场景(如嵌入 CI/CD 流水线或高频定时任务),通过 Unix Domain Socket 使用 ACP (Agent Communication Protocol) 协议是理想选择。此方式要求 Hermes Agent 进程已启动并加载了所需工具模块。
操作流程如下:
1. 确保 Hermes Agent 正以 ACP 模式运行。启动命令通常包含 --mode acp 参数。
2. 查看 Agent 启动时的日志输出,找到其创建的 socket 文件路径。此路径通常固定,例如 /tmp/hermes-acp.sock。
3. 在 Python 脚本中,使用标准 socket 模块连接至此 socket 文件路径。连接建立后,即可通过发送二进制协议帧与 Agent 通信。
4. 构造 ACP 协议帧时,需正确设置消息头。将 type 设置为 "tool_invoke",并在 payload 中完整提供工具名(tool_name)、调用参数(arguments)及会话ID(session_id)等信息。
5. 发送请求后,等待并接收 Agent 返回的响应帧。解析响应帧中的 status 字段,它将明确指示调用结果为 "success" 或 "error"。若成功,可从 result 字段提取工具执行的具体内容。
最后一种方式最为轻量,几乎无任何依赖。它不要求安装 SDK,也无需预先启动服务,非常适合执行一次性、低耦合的自动化任务。但其缺点是无法实时获取工具执行的中间状态,只能等待最终结果。
实施思路如下:
1. 准备一个临时的 YAML 配置文件片段。在文件中指定模型相关配置,例如将 model.provider 设为 ollama,model.name 指向本地已部署的模型(如 qwen2.5:7b)。
2. 将此配置文件保存为 temp_config.yaml,并通过环境变量 HERMES_CONFIG_PATH 让 Hermes Agent 在运行时加载它。
3. 构造一条完整的命令行指令。示例:hermes chat --session-id auto --message "执行命令:df -h"。此指令将触发一次完整的聊天会话并执行指定操作。
4. 在 Python 脚本中,使用 subprocess.run 执行此命令行。关键参数设置为:capture_output=True 和 text=True,以捕获命令执行后打印到标准输出(stdout)的所有文本。
5. 对捕获的输出文本进行正则表达式匹配,寻找以特定标记(例如 TOOL_RESULT:)开头的行。此行之后的内容即为本地工具执行后返回的最终结果,可提取用于后续处理。
侠游戏发布此文仅为了传递信息,不代表侠游戏网站认同其观点或证实其描述