一句话答案
Hermes Agent 的 Bot Mode 把每个 Hermes profile 变成一位有名有姓的 AI Bot——自带角色、模型、记忆、技能和头像,能跑定时例行任务、在群聊里互相讨论、并直接互发消息,而这一切底层仍是 profile,所以命令行里也完全可见。 它是把「一个开源 Agent」升级成「一整个 AI 团队」的最省事方式。
在上一篇 Hermes 介绍里,我们把 Hermes 讲成一个跑在你机器上、能连 Telegram/WhatsApp、会存记忆和技能的 Agent。Bot Mode 是它的下一个台阶:不再只有一个 Agent,而是一排各司其职的 Bot。
问题:一个 Agent 不够用
你让一个 Agent 同时做这些事时,很快会发现冲突:
- 它既要回客户消息,又要写代码,还要盯市场动态;
- 不同任务要不同的语气、不同的记忆、不同的工具;
- 你希望一个 Bot 每天早晨自动汇总,另一个专注某个项目——但不想让它们互相干扰。
最朴素的做法是开多个 Hermes 实例,分别配置。麻烦在于:没有统一的地方管理它们,也看不出谁在忙、谁在跑什么任务。
Bot Mode 就是来解决这个的。
Bot Mode 是什么
Bot Mode 把每个 Hermes profile 变成一位 Bot,并内建于桌面应用、默认开启。它出现在侧边栏 Sessions 旁边的 Bots 标签页,每个 Bot 一行,显示头像、最新消息预览和时间戳。旁边还钉着一个 Routines(例行任务)面板。
关键设计:没有新的抽象要学。 一个 Bot 就是一个 profile——独立的配置、记忆、技能、凭据和聊天历史,都存在 ~/.hermes/profiles/<name>/ 下。Bot Mode 只是给这个原始能力套了一层界面。所以你在图形界面里做的一切,命令行里同样可见:
| 在 Bot Mode | 从终端 |
| --- | --- |
| 与某个 Bot 聊天 | hermes -p <bot> chat |
| Bot 的文件、技能、记忆 | ~/.hermes/profiles/<bot>/ |
| 例行任务 | hermes cron list(任务名带 [bot:<name>] 前缀) |
| 创建 / 查看 profile | hermes profile create / hermes profile list |
没有核心补丁,没有后台守护进程,没有额外存储。它只渲染数据,从不「拥有」你的数据——所以关掉插件,你的 profile、会话和定时任务都不受影响。
创建一位 Bot
在 Bots 标签页点 New Agent。快速路径只有三个字段——名字、职位、描述——几秒钟就建好,Bot 会用新 Bot Chat 的第一条消息自我介绍。
Advanced(高级) 展开后是完整的能力面板:
- 从现有 profile 克隆——继承配置、技能、SOUL 和记忆;或选 Fresh profile 从零开始。
- Create empty——完全跳过内置技能,得到极简 profile。
- 模型与提供商固定——给 Bot 指定自己的模型。不同的 Bot 可以并行跑在不同模型上;不设就继承启动 profile。
- 自定义 SOUL.md——Bot 的人设和长期指令。
- 按技能、按工具集、按 MCP 服务器逐项启用——只勾这位专家需要的。
- 共享密钥——默认新 Bot 与主 profile 共享同一个 OAuth/令牌池,凭据刷新不会互相失效。
创建后,右键 Edit Profile 随时改回这个界面;Duplicate 完整克隆一位 Bot;Delete Profile 永久删除(默认 profile 不能删)。
头像:每位 Bot 都有一张脸
- Blob 脸(默认)——由名字确定性生成的软体脸:同名同脸,永远不变。输入名字时脸会跟着变,可 Randomize 重掷、Lock face 锁定。
- 几何脸——经典的 7 形状 × 10 颜色,工作时眼睛会眨会扫。
- 上传图片——任何你喜欢的图。
- AI 生成头像——配了图像后端时,就地生成。
- 像素宠物——从 petdex 画廊挑一个,Bot 忙的时候在旁边蹦跳。
一位 Bot 的样貌、职位和描述存在后端 profile 元数据里,所以同一个 Bot 在连接同一后端的任何桌面上看起来都一样。
Routines:让 Bot 自己干活
Routines 面板把重复任务挂到负责它的那个 Bot 上——「每天早晨汇总收件箱」就放在负责这事的 Bot 旁边。结构化调度器先选频率,再填细节,Advanced 字段暴露原始 Hermes 调度串。
Routines 本质是 Hermes cron 定时任务,任务名带 [bot:<name>] 前缀,同样出现在 hermes cron list 和核心 Cron 页面里。运行结果落在该 Bot 自己的聊天历史——所以结果就在你本来就找它说话的地方。
群聊:让 Bot 们互相讨论
右键本地 Bot → Manage groups,把它加进任意数量的群聊。一个群里 2–6 位 Bot 协同:
- 你发一条消息,触发最多三轮成员轮流发言。被 @ 的 Bot 回应(没人被点名时全体回应);每位 Bot 简短回应或跳过,一整轮没人说话就结束。
- Bot 之间用
@名字互相拉入,需要你拍板时用@user升级——群里出现 needs you 徽标。 - 硬上限(每次发送 10 条消息、最多 3 轮)防止群聊失控。
- 每位成员有自己的持久
Group: <name>会话,群聊上下文像任何对话一样保留。 - 不是每个 Bot 都回每条消息。 发言是成员自己的选择——有新内容才回,没内容就跳过。
群聊还能跨机器:New Group Chat 可以把任何已连接设备的 Bot 拉进来,每位成员在自己的机器上、自己的会话里运行,并带设备徽标。
Bot 之间互发消息
Bot 能直接互相发消息,且带归属:
- @提及——在任何聊天里输入
@researcher 看一下这个,composer 的 @ 自动补全会帮你选 Bot。Bot 用自己的话组织一条消息,用message_agent发出去——你的原文绝不会被逐字转发,回复会标注是哪个 Agent 发的。 - 直接消息——每个 Bot Chat 都带
message_agent工具:Bot 调用message_agent(target="researcher", message="…")给队友发消息。工具会校验目标、自动加上「Message from 🤖 <发送者>」的归属前缀,投递到队友的 canonical Bot Chat。投递是即发即忘:发送方收到确认、结束本轮,回复稍后作为后台完成通知到达。 - 改名同步——给 Bot 起友好名后,它就能用那个名字被 @(比如
@research-buddy),旧 profile 名也继续有效。
每个 Bot Chat 的系统提示里都带着队友名单(名字和职责),所以 Bot 在选收件人之前就知道谁负责什么。
跨机器:在桌面注册多个连接(本地、远程 URL、SSH、Hermes Cloud、docker)后,Bot 名单会自动传播,message_agent 可以直接触达另一台机器上的 Bot。更彻底的无桌面方案是 hermes peer——把另一台机器的 gateway 注册为对等节点,然后 hermes peer dm spark/researcher 就能跨设备投递并跑一轮回复。
谁该用 Bot Mode
- 个人知识工作者:一个 Bot 管研究、一个管写作、一个管项目盯梢,各跑各的例行任务。
- 小团队 / 自由职业者:把重复的客户跟进、内容排期、数据汇总交给专门 Bot。
- 喜欢多智能体的玩家:让不同 Bot 跑不同模型,在群聊里互相质询。
在下一篇之前,先想想你日常有哪些固定套路可以交给一位「专职 Bot」——从最简单的单个 Routine 开始。
重点整理
- Bot 就是 profile。 没有新抽象:Bot Mode 只是给 profile 加了一层界面,命令行完全可见。
- 开箱即用。 内建于桌面应用,默认开启,不用额外安装或付费。
- 各司其职。 每位 Bot 有自己的角色、模型、记忆、技能和头像;不同 Bot 可跑不同模型。
- 能跑能聊。 Routines 让 Bot 定时干活;群聊让它们互相讨论;
message_agent让它们直接互发消息,还能跨机器。 - 可逆、无侵入。 关掉插件只隐藏界面,你的 profile、会话、定时任务全部保留。
想先了解 Hermes 的基础,从这篇介绍开始。想深入 harness 的视角,看用 Hermes 做 Harness Engineering。




