Hermes Agent的安装、Profile与日常运维
Hermes Agent既可以在终端里交互,也可以通过Dashboard和消息网关长期运行。早期配置曾把安装、WebUI、机器人接入和多Agent配置混在一起,真正维护起来以后,最值得固定的是官方CLI和Profile:前者负责安装与诊断,后者把模型、密钥、记忆和会话分开。
这套配置基于Linux主机。第三方WebUI和直接修改Python依赖包的临时补丁没有纳入日常方案,官方Dashboard已经能够管理多个Profile,升级时也更容易保持一致。
安装与首次配置
官方提供了一键安装脚本:
1 | curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash |
安装完成后运行设置向导,再分别确认模型和工具:
1 | hermes setup |
hermes setup负责完整初始化,hermes model适合后来单独切换提供商或模型,hermes doctor用于检查配置和运行环境。APIKey、机器人Token和自定义服务地址都属于凭据,不应直接写进Shell历史、博客或Profile说明文件。
日常使用主要是这些命令:
1 | hermes # 进入交互界面 |
交互会话里常用/model切换模型、/tools查看工具、/status查看当前Profile和上下文、/sessions恢复历史会话。配置变更后最好开启新会话,避免旧会话继续带着修改前的状态。
用Profile隔离不同用途
Profile不是一个提示词别名,而是一套独立的Hermes主目录。每个Profile都有自己的config.yaml、.env、SOUL.md、技能、记忆、会话和网关状态。
创建一个研究Profile:
1 | hermes profile create research |
创建时会同时生成research命令别名,它等价于显式指定Profile:
1 | research chat |
需要临时把它设为默认入口时使用:
1 | hermes profile use research |
知识库整理、技术简报、代码辅助和深度研究应拆成不同Profile。拆分的理由不是角色名称听起来更专业,而是避免记忆、技能和密钥互相污染。两个Agent进程也不要同时使用同一个Profile目录,它们会共同写入状态和记忆。
Profile同样不等于文件系统沙箱。SOUL.md里写“只访问某个目录”只是行为说明,不能限制进程权限。需要固定命令起始位置时,应明确设置terminal.cwd:
1 | research config set terminal.cwd /srv/hermes/workspace |
真正需要隔离时,还要使用独立系统用户、容器或受限执行环境,不能把Profile当作权限边界。
克隆Profile时小心凭据
--clone可以复制现有Profile的配置、.env、SOUL.md和技能:
1 | hermes profile create writer --clone-from default |
这很方便,也意味着原Profile里的APIKey和机器人Token会一起复制。克隆后应立即检查新Profile的环境文件,删除不需要的凭据;如果两个Profile分别运行消息网关,还要给它们配置不同的机器人Token。
当前Hermes会对多个Profile复用同一消息平台Token进行锁定,避免两个Long Polling进程争抢消息。即便如此,也不能把Token共享当成正常配置。每个对外身份对应一个Profile,问题会少很多。
Profile可以导出为本地归档:
1 | hermes profile export research -o research-backup.tar.gz |
归档里可能包含.env、会话和记忆,应按密钥备份对待,不要发送到公共网盘或提交到代码仓库。
Dashboard保持本机监听
启动官方Dashboard:
1 | hermes dashboard |
默认地址是http://127.0.0.1:9119,可以在侧边栏切换并管理不同Profile,不需要为每个Profile再启动一套第三方WebUI。远程使用时,继续保留回环监听并通过SSH转发更稳妥:
1 | ssh -L 9119:127.0.0.1:9119 user@192.0.2.10 |
然后在本机浏览器打开http://127.0.0.1:9119。
旧配置中常见的--host 0.0.0.0 --insecure已经不适合作为无认证远程入口。Hermes在2026年6月强化了Dashboard认证:非回环地址会强制启用认证门,--insecure只为兼容旧命令而保留,不再关闭认证。即便配置了用户名和密码,也应优先放在HTTPS、VPN或SSH隧道之后。
消息网关按Profile管理
每个Profile的网关是独立进程,可以单独安装、启动和排查:
1 | research gateway install |
消息平台的允许名单、群组策略和Token保存在Profile自己的配置和.env中。接入完成后至少检查两件事:未授权的私聊或群组不能触发Agent;日志和诊断输出不能回显完整Token。
停用某个平台时,不仅要停止网关,还要撤销配对并删除对应凭据:
1 | hermes pairing list |
平台侧仍然有效的Token也应在平台控制台撤销或轮换,只删除本机文件并不能让泄露的Token失效。
更新、诊断与临时补丁
更新顺序保持简单:
1 | hermes update |
然后分别打开常用Profile的新会话,确认模型、工具和工作目录。网关正在运行时,还要检查它是否仍由对应Profile启动。
早期记录中曾有直接修改Hermes虚拟环境中OpenAI SDK解析代码的办法,用来绕过流式响应末尾output: null的问题。这种补丁会在升级后丢失,也可能掩盖上游已经修复或改变的数据结构,因此不再作为常规操作。遇到类似问题,优先更新Hermes和依赖、保留错误日志并核对官方Issue;确实必须临时修改时,也应保存补丁文件和版本信息,而不是只改site-packages。