一、通过 Hermes Agent 的 Python SDK 直接实例化 AIAgent 若需将 Hermes Agent 深度内嵌至你的 Python 项
若需将 Hermes Agent 深度内嵌至你的 Python 项目,并希望全权管理其运行周期,直接调用其 Python SDK 是实现最高控制权和灵活性的首选方案。此方法让你能够在代码中现场定义工具、维护会话上下文,无需依赖外部独立服务。
免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈
具体实施流程如下:
1、首先,通过 pip 安装 Hermes Agent 核心包以准备开发环境:pip install hermes-agent。
2、在脚本中导入 AIAgent 核心类并完成初始化。这一步相当于为你的自动化流程创建一个具备决策能力的智能体实例。

3、核心配置:构建你的专属工具集。你需要将希望 Agent 调用的本地功能(例如通过 subprocess 执行 Shell 命令、操作特定文件等)封装成符合接口规范的工具函数,并将其列表传入 Agent。
4、配置完成后,即可调用 run_conversation 方法。直接使用自然语言下达指令,例如“扫描并汇总当前目录下所有 .log 文件的大小”。Agent 将解析你的意图,并自动调度匹配的工具执行。
5、从方法返回对象中,准确提取 tool_result 字段。该字段包含了本地工具执行后返回的原始数据,你的脚本可基于此进行后续的数据处理或逻辑分支判断。
若你倾向于微服务架构,希望 Hermes Agent 以独立 HTTP 服务形式运行并通过 API 交互,此方案能实现清晰的职责分离。你的主程序仅需关注请求构造与响应解析。
部署与调用路径如下:
1、将封装了本地操作的工具模块(如 custom_file_ops.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、在你的客户端应用中,使用 HTTP 客户端库(如 requests)向服务的 /v1/chat/completions 端点发起 POST 请求。请求体中的 messages 字段应包含旨在触发工具调用的自然语言指令。
5、解析 API 返回的 JSON 响应。若调用成功,响应中将包含 "tool_calls" 字段,这明确指示 Agent 已识别你的指令并成功调度了相应的本地工具执行任务。
对于追求极致性能、需要零网络开销的本地集成场景,例如嵌入 CI/CD 流水线或高频定时任务,通过 Unix Domain Socket 采用 ACP 协议进行通信是理想选择。前提是 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,以确保能完整捕获命令执行后输出的所有文本。
5、进行结果提取。对捕获的标准输出文本使用正则表达式进行匹配,定位以特定标记(例如 TOOL_RESULT:)起始的行。该行之后的内容即为本地工具执行后返回的最终结果数据,可供后续处理使用。
菜鸟下载发布此文仅为传递信息,不代表菜鸟下载认同其观点或证实其描述。