hermes agent生成本地执行脚本需通过五种方式:一、自然语言触发python脚本生成;二、模板填充式生成shell部署脚本;三、结合requirements.txt等上下文注入生成带依赖约束脚本;四、调用rest api批量生成yaml skill;五、通过acp协议生成定时任务脚本。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您希望 Hermes Agent 生成可用于本地执行的自动化脚本(如 Shell、Python 或 YAML 格式),则可能是由于需要将自然语言意图快速转为可复用、可调度的程序代码。Hermes Agent 不直接输出裸脚本文件,而是通过多种接口路径触发结构化脚本生成逻辑。以下是实现该目标的具体方法:
一、使用自然语言指令触发 Python 脚本生成
该方式依赖 Hermes Agent 对明确任务描述的理解能力,要求输入包含函数名、参数类型、输入输出行为及边界条件,模型据此生成语法合法、可直接保存运行的 Python 代码。
1、在 Hermes Agent 支持的交互界面中输入:“请生成一个 Python 脚本,接收命令行参数 --input-dir 和 --ext,遍历目录下所有指定扩展名的文件,统计每种扩展名的文件数量,并将结果写入 summary.json”
2、确认指令中不含模糊词汇(如“大概”“类似”),且明确指定输出格式为 JSON 文件
3、等待返回完整代码块,检查是否包含 if __name__ == "__main__": 及 argparse.ArgumentParser 初始化
4、将输出内容保存为 count_files.py,执行 python3 count_files.py --input-dir /tmp --ext .log 验证功能
二、基于模板填充式生成 Shell 自动化部署脚本
该方式利用预设的 Shell 脚本骨架,将用户提供的变量(如版本号、安装路径、端口)注入固定位置,确保生成脚本具备执行权限校验、依赖检测与错误退出机制。
1、向 Hermes Agent 提供模板定义:#!/bin/bash set -e # Hermes Agent 部署脚本 VERSION="{{ version }}"\nINSTALL_DIR="{{ install_dir }}"\nPORT="{{ port }}"
2、传入填充参数:version=v0.8.3, install_dir=/opt/hermes-agent, port=8081
3、接收输出后验证脚本是否包含 chmod +x 判断、curl 下载逻辑、tar -xzf 解压命令及 systemctl enable 启用语句
4、执行生成脚本前,必须手动检查其是否包含对 root 权限的显式校验(如 [ "$(id -u)" != "0" ])
三、结合上下文文件注入生成带依赖约束的脚本
该方式适用于已有项目结构的场景,Hermes Agent 读取当前目录下的 requirements.txt、Dockerfile 或配置样例,推断技术栈并生成兼容的自动化脚本。
1、确保工作目录中存在 requirements.txt,内容含 flask>=2.3.0 和 pandas>=1.5.0
2、输入指令:“参考当前目录 requirements.txt,生成一个 Python 脚本,每小时从 http://api.example.com/data 获取 JSON,用 pandas 清洗后存入 /data/output.csv”
3、检查生成脚本是否在开头包含 import pandas as pd 和 import requests,并调用 pd.DataFrame.from_dict()
4、确认脚本中无硬编码 URL,而是通过 os.getenv("API_ENDPOINT", "http://api.example.com/data") 获取地址
四、通过 CLI 调用 REST API 批量生成 YAML Skill 脚本
该方式将 Hermes Agent 启动为 HTTP 服务,外部程序通过 POST 请求提交多轮对话上下文,驱动其批量生成符合 Skill 规范的 YAML 文件,适用于 CI/CD 流水线集成。
1、启动 API 服务:hermes api serve --port 8000 --enable-plugins
2、构造请求 body,messages 字段包含:“你是一个 Skill 脚本生成器。请为‘每日抓取官网新闻并摘要’任务生成一个 YAML Skill,使用 browser 工具抓取,summary 工具生成摘要,output 字段返回 title 和 summary”
3、发送 POST 请求至 http://localhost:8000/v1/chat/completions,设置 Content-Type: application/json
4、解析响应中 content 字段,提取 YAML 内容并保存为 daily_news_summary.yaml,需人工验证 steps 列表中每个 step 是否包含 tool 和 input 字段
五、使用 ACP 协议通过 Unix Domain Socket 生成定时任务脚本
该方式面向高性能本地集成,Hermes Agent 进程已加载 cron 插件,外部程序通过 ACP 协议发送结构化指令,由 Agent 动态生成并注册系统级定时脚本(如 crontab 条目或 systemd timer 文件)。
1、确认 Hermes Agent 正在运行且启用 ACP:hermes run --mode acp --plugins=cron
2、查看日志获取 socket 路径,通常为 /tmp/hermes-acp.sock
3、构建 ACP 消息体,type 字段设为 "generate_cron_script",payload 包含 schedule: "0 9 * * 1-5", task: "hermes skill run send_daily_report"
4、发送消息后,检查 ~/.hermes/generated/ 目录下是否生成 cron-daily-report.sh 文件,并确认其首行包含 #!/bin/bash











