Hermes 快速体验:比「小龙虾」更透明、更可控的本地 Agent

前阵子龙虾特别火,几乎人手一个,我也装了一个。但是小龙虾有一些比较坑的地方,比如稳定性特别差,比如我不知道AI到底做了什么,我很担心它会不会把我的文件给删了等等。

当时我想的是小龙虾还不成熟,或许等它版本更新了以后就会慢慢成熟,所以我也一直在紧跟着升级小龙虾版本。

但是没想到最近又出来一个叫Hermes的Agent,还挺火的,所以花了点时间去试了一下,发现确实挺好用的。

安装配置

安装方式很简单,官方就有文档,一条命令就能安装上去。

https://github.com/nousresearch/hermes-agent

安装后主要配置两个东西,一个是大模型,一个是通道(Channel)。

运行 hermes model 可以配置大模型,Hermes里的大模型预设没有OpenClaw那么多,但是这不重要,因为可以选择自定义模型,先输入Base URL和API Key,然后它会调用接口加载出可选模型列表,选择你要的模型就可以了。

运行 hermes gateway setup 就可以设置Channel,Channel原生就带了飞书、微信,不需要单独安装插件。受限于微信本身的支持,微信通道还是用的原先OpenClaw的接口。如果你把微信绑定到Hermes上面,原先的OpenClaw就会被挤掉。它这个设置Channel的界面比小龙虾做的要友好一点,会告诉你大概有哪几步操作,不过我觉得如果他直接给出一个更详细的文档链接就更好了,特别是飞书的机器人权限设置还是挺费劲的,我又找了一遍OpenClaw的文章参考才设置上。

另外hermes还有个WebUI项目在这里,需要单独安装,类似OpenClaw的Control UI。通过WebUI也可以直接和Hermes聊天。

https://github.com/nesquena/hermes-webui

这个WebUI安装后默认在8787端口,为了安全只能本机访问,其他设备上无法访问,这个和OpenClaw类似。如果你需要在局域网内访问,可以让你的Bot直接运行我这个项目,把这个端口转发到本机的另一个端口:

https://github.com/Xiaoming-Team/flux-port

如果你需要在外网访问这个界面,还可以使用我另一个项目,这个项目用于管理子域名到内网设备的转发,可以在网页里动态配置子域名和局域网内的设备端口绑定(需要配合Cloudflare和自己的域名使用):

https://github.com/Xiaoming-Team/flux-gate

Hermes还可以直接从OpenClaw导入内容(运行 hermes claw migrate)。但是我想体验全新的Hermes到底是怎么工作的,所以我并没有选择导入,后续我可以自己导入我想要的东西。

体验总结

用了一下午之后,我简单总结一下目前感受到的Hermes和OpenClaw的区别。总的来说,我感觉体验提升很多

首先是网上说的Hermes用Python写的,上下文管理比小龙虾做得更好,这个我暂时还没法清晰的辨别,也没有实际去看代码。这种我就不讲了,主要讲我实际的体验。

实时显示AI执行过程。

最直接的一个感受就是,它在操作的过程中,会实时地把它做的事情给列出来,一目了然。这个非常有用,因为之前我不知道小龙虾卡在那很久到底是在做什么,而且很担心它会把我的东西给删掉之类的。

而且它长时间不回应,我担心它是不是又卡死了,所以我经常会跑到它的ControlUI里面去看它到底在干什么。但是ControlUI bug也很多,比如它到现在还是需要手动刷新聊天记录,不能自动刷新。

随时追加发送消息。

在小龙虾里面,你给它发一个比较费时的任务,它就会开始执行任务。但是在任务执行结束之前,你给它发消息都是完全不会有反应的。并且这些消息不仅是当时没有反应,当它完成任务以后,这些之前发送的消息也会直接被无视,完全不会得到处理。

有时候我同时想到好几件事要让它处理,就不得不让它去开子任务处理。但是尽管我把“耗时操作要开子任务”的规则写到了Memory里面,它还是经常会忽略这个规则,而且子任务会有失败的时候。

更重要的是,有时候我可能会一句话没有描述清楚我的要求,又想到了新的要求或者想更正。在小龙虾里面,如果它发现子任务做的事情需要更新或者更正,它就会直接把现有的子任务全部关掉,重新开一个完整的子任务去处理。

但是在Hermes里面并没有这样的问题。无论什么时候我给它发消息,无论它在处理什么,它都会马上给我回复一个OK的Reaction表情,表明它收到了消息,而且它会及时地帮我处理我补充的内容。在所有的任务都处理完成后,它会给出一个完整的总结,告诉我做了什么事情。详见截图。

危险操作会让用户确认。

这一点也是让我感觉非常安心的一个设计。在之前用小龙虾的时候,为了方便,我几乎把所有的能开的权限都给它开通了。但是我一直担心他会不会哪天就把我的文件给删了,实际上也确实出现过几次这样的事情。

而这个Hermes它在执行命令行或者各种特殊操作时,会让用户确认。并且它确认的方式有只批准此次操作、当前会话都批准,和永远同意三种选项。所以对于一些不危险的操作,例如CURL,我就是直接回复 /approve always,对于一些很危险的操作,例如 rm 删除,我会回复 /approve 只批准当前这次操作。

不过要提出来的是,它在飞书上面给出来的界面是有bug的。如果我直接点图中这四个按钮,飞书会报错。我还没有仔细去研究,有可能是飞书的权限问题,也可能是它本身发送的信息有问题。所以暂时我是直接回复命令来确认的。

另外我还注意到,当它的这个上下文快满了的时候,它会显示出来告诉我。当它更新Memory的时候,也会显示出来。它还会自动创建一些skill,我没有做任何提示。

总的来说,Hermes给我的感受就是更加稳定、可控、透明。后续我会继续使用这个东西,OpenClaw可能就不再用了。大家感兴趣的也可以迁移到Hermes试一下。

如果觉得文章有帮助,欢迎分享转发,也欢迎关注我的公众号“搬砖的小明”,及时获取更新

公众号:搬砖的小明