Hermes Agent需配置守护进程实现自动拉起与崩溃恢复:Linux/macOS/WSL2用systemd,Windows用Task Scheduler或nssm封装为服务;关键点包括正确替换$USER、WorkingDirectory指向~/.hermes、管理员权限运行nssm。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

让Hermes Agent在系统重启后自动拉起、崩溃后自动恢复,避免每次手动启动或因断电/更新导致服务中断,必须配置守护进程。Windows原生不支持systemd,Linux/macOS/WSL2需用systemd,而Windows用户必须走Task Scheduler或Windows服务方案。
WSL2/Linux/macOS:用systemd托管Hermes服务
第一步:创建服务文件,路径为/etc/systemd/system/hermes.service,内容如下:
[Unit]<br>Description=Hermes Agent Service<br>After=network-online.target<br>Wants=network-online.target<br><br>[Service]<br>Type=simple<br>User=$USER<br>Group=$USER<br>WorkingDirectory=/home/$USER/.hermes<br>ExecStart=/home/$USER/.hermes/bin/hermes start<br>Restart=always<br>RestartSec=5<br>StartLimitInterval=60<br>StartLimitBurst=5<br>MemoryMax=2G<br>CPUQuota=200%<br>StandardOutput=journal<br>StandardError=journal<br>SyslogIdentifier=hermes-agent<br><br>[Install]<br>WantedBy=multi-user.target
第二步:重载systemd配置并启用服务:sudo systemctl daemon-reload && sudo systemctl enable hermes && sudo systemctl start hermes
第三步:验证服务状态:systemctl status hermes——看到active (running)且Loaded行显示enabled即成功。若报错Failed to start hermes.service: Unit not found,说明$USER变量未被正确替换,需手动填入真实用户名。
注意:【WorkingDirectory必须指向~/.hermes目录,而非项目源码根目录】,否则启动时会找不到config.yaml和.env,直接退出。
Windows原生系统:用Task Scheduler实现开机自启
方法一:任务计划程序(推荐,无需第三方工具)
① 按Win+R,输入taskschd.msc打开任务计划程序;
② 右侧点击“创建基本任务”,名称填Hermes Auto Start,描述可空;
③ 触发器选“计算机启动时”;
④ 操作选“启动程序”,程序填写powershell.exe,参数填-ExecutionPolicy Bypass -Command "Start-Process 'C:\Users\你的用户名\AppData\Local\Programs\Hermes\hermes.exe' -Verb RunAs";
⑤ 勾选“不管用户是否登录都要运行”,并勾选“不存储密码”下方的“只在本地运行”——否则会提示凭据错误。
方法二:封装为Windows服务(需额外工具)
下载nssm.exe(Non-Sucking Service Manager),解压后以管理员身份运行:nssm install HermesAgent → 在Path栏填入C:\Users\你的用户名\AppData\Local\Programs\Hermes\hermes.exe → Startup directory填C:\Users\你的用户名\AppData\Local\Programs\Hermes\ → Service name保持默认即可 → 点击Install service。
这一步操作起来很简单,直接把nssm拖进PowerShell窗口回车就行。但【必须用管理员权限运行nssm】,否则注册表写入失败,服务无法启动。
验证守护效果
执行kill -9 $(pgrep -f "hermes start")(Linux/macOS/WSL2)或在Windows任务管理器中结束hermes.exe进程;
等待10秒,再执行ps aux | grep hermes或tasklist | findstr hermes;
若进程已重新出现,说明守护生效。
若5秒内未恢复,检查systemd日志:journalctl -u hermes -n 50 --no-pager,常见错误是Permission denied(用户组权限不足)或env: can't execute 'python': No such file or directory(Python路径未加入PATH)。


















