让 Hermes 在不同飞书群里自动切换模型
最近用 Hermes 时,我想到个问题:是不是所有工作都需要用最强的模型?
复杂分析、写文章、改代码,交给能力强的模型比较放心。但像添加日程、查询行程、整理书签这类事情,任务明确,流程也比较固定,用便宜一点的模型完全够了。如果不管什么活都用同一个强模型,多少有点浪费。
我一开始想给 Hermes 新建一个 Profile,专门使用便宜模型。后来发现这条路有点“重”:Profile 并不只是 “换一个模型”,而是相当于新建了一个独立的 Hermes 助手。配置、会话、记忆、技能和 Gateway 都可以分开。如果只是想省一点模型费用,没必要把整套环境再复制一份。
Hermes 有个更顺手的办法:按聊天群指定默认模型。
我是怎么设置的
我继续使用原来的 default Profile,全局默认模型也不变:
model:
default: gpt-5.6-sol
provider: openai-codex
在此基础上,我给两个有需要的飞书群单独设置了模型:
- 日历行程管理群使用
gpt-5.6-luna - 书签管理群使用
gpt-5.6-luna - 其他群继续使用
gpt-5.6-sol
配置大致如下:
platforms:
feishu:
channel_overrides:
日历群的Chat_ID:
model: gpt-5.6-luna
provider: openai-codex
书签群的Chat_ID:
model: gpt-5.6-luna
provider: openai-codex
这里的 Chat_ID,就是每个飞书群的唯一编号。
Hermes 收到消息后,会先看这条消息来自哪个群。如果这个群在 channel_overrides 里有单独配置,就使用指定的模型;没有单独配置,则使用全局默认模型。这样,同一个 Profile 就能在不同飞书群里使用不同模型。日历和书签这些简单事务交给 Luna,其他工作继续由 Sol 处理。原来的记忆、技能和各种工具都不用动。
为什么不直接用 /model
在群里执行 /model,也可以切换模型。不过这种设置只对当前 Session 有效。
我的 Hermes 会在闲置满 24 小时后自动创建新的 Session。Session 重置以后,之前手动选择的模型也会被清除。具体使用中:明明已经切换到 Luna,过了一段时间再看,又变回了 Sol。因为原来的 Session 已经重置,Hermes 又读回了全局默认模型。
群级配置不会受这个影响。它写在 config.yaml 里,每次新 Session 创建后,Hermes 都会重新根据群 ID 选择模型。所以即使每天自动重置,日历群和书签群还是会继续使用 Luna。
模型的选择顺序是:
当前 Session 临时指定的模型
群级默认模型
全局默认模型
比如,日历群平时默认使用 Luna。碰到稍微复杂一点的任务,可以通过 /model 临时切换到 Sol。等 Session 重置后,它又会回到日历群原来设置的 Luna。
这个办法更适合我的用法
新建 Profile 更适合真正需要一个独立助手的场景。比如需要另一套记忆、另一组技能、独立账号,或者单独运行一个 Gateway。
我现在只是想让不同难度的工作使用不同模型,并不想把日历、书签和已有工具拆成几套。用群级模型配置,改动小,也不用改变原来的使用习惯。
现在的效果就是:我只管在对应的群里发消息,Hermes 自己决定该用 Luna 还是 Sol。简单任务少花一点,复杂任务也没有降级。
这比专门再养一个 Profile 省事多了。