博文

Hermes-agent 在Telegram group电报群组中 使用多Agent协同完成任务

图片
前言 与 openclaw 不同, hermes 在系统框架中没有设计agent 之间交流(往session里发消息)的方法. 正好  telegram 支持了 bot 之间发消息 . 那我们就让 hermes 的 多agent 团队利用 telegram 来沟通 思路 再加上之前已经实现了 多Agent 绑定telegram bot 我们尝试建立一个多Agent团队进行协作 部署 Hermes-agent 系统 完成 安装 Hermes-agent 设置了模型 设置了telegram渠道 设置了 允许哪个 telegram userid 使用 以上过程略. 建立 telegram group 和 bot 和 agent 参考 这一篇教程 , 把 telegram group, bot 都设置好, 并测试 bot 之间可以看到消息. 过程略. 假设 这个telegram group 的 id 是 -1003918964882 假设 这些bot 的username  和 token 是 @CrazyAgentWatchBot 1234567890:AAHkMpXv2nQrWsYd8bJtLfCeUo9GiN1KmZw @CrazyAgentDesignBot 2345678901:AABxRqNj5vTgKhEa3cWmYsPdFu7LiOz4Xbn @CrazyAgentCodeBot 3456789012:AAEvNuGz3tFwBqXk7yRmJcSh5OaDpI8LlTx @CrazyAgentTestBot 4567890123:AAHkMpXv2nQrWsYd8bJtLfCeUo9GiN1KmZw 参考 这一篇教程 , 把新的agent建立, 并和bot绑定. 过程略. 假设 这些agent是: agent-watch agent-design agent-code agent-test 建立多agent团队 和默认 agent hermes 对话 组建一个agent协作团队, 利用已经存在多个agent. 设置agent的配置文件, 以及agent之间的协作关系 组成团队的agent是: agent-watch, agent-design, agent-code, agent-test 1号 agent 名称 = agent-watch...

在 Hermes 多 Agent 协作任务时 telegram group 用 topic 限制 agent 接收消息

图片
前言 在 Hermes 多 Agent 协作任务时, 发现agent有可能在自言自语时, 写了其它agent的bot的username, 触发了其它agent的响应. 如下图所示 实践 我尝试了用负面 prompt 限制 但, 效果不好 我想到 openclaw 是把telegram group 的 topic 绑定到 agent 的. 这样 agent 在自己的 topic 里自言自语的内容 是不会干扰其它 agent 的. 所以, 我让 hermes 给自己开发这个功能 我有一个 telegram group, 建立了topic,  我希望这个 telegram group中, 只有 某个 topic 里的消息 被某个 agent 接收 在进一步的讨论中, 确认了一些细节 agent 与 topic 一对一 agent 的自言自语也输出到 指定的 topic 中 最终效果是 每个 agent 的 config.yaml 有如下 配置项 telegram:   topic_id: 100  # agent 只收发 topic 100 的消息 受波及的, 在agent团队的 prompt 中, 增加 发给其它agent的消息需要指定topic发送.

关于 Hermes 多 Agent 共用 Nous Portal 账号 引起 429 Too Many Requests 的问题

图片
前言 在 Hermes 多 Agent 协作任务时, 我只有一个Nous Portal 账号,  而这些 agent的 gateway 是独立的, 所以有可能在短时间内集中请求API, 被 Nous Portal 返回  429 Too Many Requests 错误码. 思路 在一个API请求完成后, 再开始下一个请求? 用一个单独进程控制 API 请求的速率? Hermes (via mimo-v2-pro model) 给了我一个更好的实施方案 用 flock 文件锁 + 状态文件就够了: ~/.hermes/api_rate_limit  →  内容: 上次请求的时间戳 Gateway 想调 API 时:   flock(api_rate_limit.lock)     read(last_time)     if now - last_time >= interval:       write(now)           ← 更新时间戳       unlock       → 发 API 请求     else:       wait_time = interval - (now - last_time)       unlock       sleep(wait_time)       → 重试 不需要额外进程,每个 gateway 自己在调 API 前检查就行。所有 agent 共享同一个文件,flock 保证互斥读写。 最终我用了上面这个方案. 效果不错. ====== 后记 对比 openclaw, 所有agent都在一个openclaw系统中, 你可以看到是在一个 config.json 中定了多个agent 的定义. 所以这些 agent 天生就接入同一个 model provider, 当使用同一个 OAuth 账号时, 当然就可以控制全局...

关于 Hermes 多 Agent 共用 auth.json 涉及 更新 api key 的问题

图片
前言 Hermes-agent 使用 Nous Portal 提供的免费 小米模型, 是用 OAuth 的方式登录的. 当我们 配置多agent , 又想使用同一份 OAuth 时, 会遇到 更新 api key 的问题 有2种解决方案 1.  默认 agent hermes 维护 auth.json,  profile下面的 agent 只管用 auth.json 详细描述如下: 把 默认 agent 的 auth.json 往 profile下面的 agent 都做一份软链接 symlink 默认 agent hermes 维护 auth.json, 如果快过期了,  hemres 去自动续期 profile下面的 agent 只读里面的 api key 来用, 也不管自动续期的事 * 要实现 不触发自动续期, 需要修改 hermes 的代码. (当然你可以让Ta自己改) 缺点是 默认 agent hermes 你过一会儿要用一下, 这样才能触发 auth.json 自动续期. 2. 每个 agent 的自动续期触发错开 把 默认 agent 的 auth.json 往 profile下面的 agent 都做一份软链接 symlink 每个 agent 维护 auth.json 自动续期的提前量 是可配置的 * 要实现 自动续期的提前量 写到环境变量中,  需要修改hermes代码 (当然你可以让Ta自己改) 所有agent ( 包括 默认 agent 和 profile 下面的 agent ) , 这个自动续期提前量都不同, 并错开一段时间.  如: 默认 agent 提前 1800 (30分钟) agent-watch 提前 1850  agent-design 提前 1900  agent-code 提前 1950  agent-test 提前 2000 

Hermes-agent 在Telegram 使用多Agent 绑定不同的telegram bot

图片
基础知识 openclaw 是整个系统用一份配置文件 config.json , 多 agent 是写在这份配置文件里面的. 官方文档 https://docs.openclaw.ai/concepts/multi-agent Hermes-agent 的多agent方案和 openclaw 不一样. 每个 agent 都有一份自己的 config.yaml 官方文档 https://hermes-agent.nousresearch.com/docs/user-guide/profiles openclaw 的 tui 里面可以用 /agent 命令切换 agent hermes 是为新agent直接生成了一个命令行的"命令", 就像原本的hermes 命令一样使用. 比如, 你建了一个新的 agent/profile hermes profile create agent-watch 那么: 你想配置模型 agent-watch model 你想设置 YOLO 模式 agent-watch config set approvals.mode off hermes 的每个agent (或者说 profile) 都有自己的 完整运行环境. TA们只共享代码逻辑. 每个agent 有自己的 .env, SOUL.md, config.yaml 所以, 每个agent 有自己的 telegram bot token 准备 telegram bot 需要(向 @botfather 申请)若干个 telegram bot (本文以4个bot为例) 注意, 不包括 hermes 默认 agent 绑定的那个 telegram bot (如果有的话) 以上过程略. 保存好这些bot 的username  和 token , 假设是 @CrazyAgentWatchBot 1234567890:AAHkMpXv2nQrWsYd8bJtLfCeUo9GiN1KmZw @CrazyAgentDesignBot 2345678901:AABxRqNj5vTgKhEa3cWmYsPdFu7LiOz4Xbn @CrazyAgentCodeBot 3456789012:AAEvNuGz3tFwBqXk7yRmJcSh5OaDpI8LlTx @CrazyAgentTes...

用 Hermes-agent 的 LLM WIKI 技能 做一个 233boy 脚本知识的 WIKI

图片
思路 用 Hermes-agent 的 LLM WIKI 技能 做一个 233boy 脚本知识的 WIKI  用 Hermes-agent 的 API Server 功能提供外部调用 用 telegram bot 在群组中工作 基础知识 Hermes-agent 的 LLM WIKI 技能 官方文档 https://hermes-agent.nousresearch.com/docs/reference/skills-catalog Hermes-agent 的 API Server 功能 官方文档 https://hermes-agent.nousresearch.com/docs/user-guide/features/api-server 基本框架 hermes 的 LLM WIKI 技能可以这样使用: /llm-wiki ingest <学习到WIKI中>   /llm-wiki query <分析什么问题> hermes 的 API Server 可以提供一个 OpenAI 接口. 那么上面的操作可以转换为这样: curl -s http://127.0.0.1:8642/v1/chat/completions \   -H "Content-Type: application/json" \   -d '{"messages": [{"role": "user", "content": " /llm-wiki ingest <学习到WIKI中> "}]}' curl -s http://127.0.0.1:8642/v1/chat/completions \   -H "Content-Type: application/json" \   -d '{"messages": [{"role": "user", "content": " /llm-wiki query <分析什么问题> "}]}' 接下来就是用 telegram bot 把 ...

Telegram group电报群组中 bot机器人 互相之间可以看到发言 setbot2bot ENABLED

图片
官方信息源 https://core.telegram.org/bots/features#bot-to-bot-communication @BotFather 创建 bot , 略 命令 /setbot2bot 选择 bot, 设置为 ENABLE 测试 建一个 group 把这些 bot 都加入这个 group  把这些 bot 都设置为 gropu 的 admin  找AI写一个测试程序 ( 蓝色 部分以你自己的实际情况为准) 生成一个测试程序, 测试 telegram bot 在 telegram group 中是否能看到互相之间发消息. 要测试 直接发消息 和 @ username 发消息 这2种用法 有几个 telegram bot, username 和 bot token 如下: @CrazyAgentWatchBot 3942075861:AAHkMpXv2nQrWsYd8bJtLfCeUo9GiN1KmZw @CrazyAgentDesignBot 7150283946:AABxRqNj5vTgKhEa3cWmYsPdFu7LiOz4Xbn @CrazyAgentCodeBot 5827364019:AAEvNuGz3tFwBqXk7yRmJcSh5OaDpI8LlTx @CrazyAgentTestBot 6038195274:AAHkMpXv2nQrWsYd8bJtLfCeUo9GiN1KmZw 有一个 telegram group, id如下: tg group id -1003918964882 如果你是找网页版的AI写的, 那么就自己保存程序文件了运行. 如果是找 openclaw / hermes 写的, 可以直接让TA帮你运行.

Hermes-agent 修改自己代码的能动性挺强的

图片
openclaw 是自带的功能,  agent 绑定 telegram group topic hermes 没这个功能 我问 能不能让 agent 只处理自己对应的 topic 的消息, hermes 就把自己的代码改了. 当我问到hermes的一些功能时, TA有能力找到源代码中对应的位置. 果然 代码行数少还是有好处的呀. 上半张图是 openclaw https://api.codetabs.com/v1/loc?github=openclaw/openclaw 下半张图是 hermes-agent https://api.codetabs.com/v1/loc?github=nousresearch/hermes-agent

白嫖 免费的 小米 xiaomi/mimo-v2-pro xiaomi/mimo-v2-omni 用于 Hermess-agent 需要绑卡

图片
TL;DR 小米XIAOMI 提供 xiaomi/mimo-v2-pro xiaomi/mimo-v2-omni 给 Hermess-agent 免费使用2周 4 月 8 日 - 4 月 22 日 24:00(北京时间,UTC+8) 实践 0. 升级 Hermes-agent 到最新版 hermes update * 当然, 如果你是 新安装 , 就没这回事. 1. 设置模型 hermes model 第一项 Nous Portal 提示验证. 在你自己的浏览器中打开终端提示的url 会开始注册账号之类的操作 (如果你还没有 nousresearch 账号的话) 开通订阅 会要求 Stripe 绑卡 操作完之后, 会提示验证 然后SSH终端会自动继续 选择 xiaomi 模型 * 如果你要用多模态 看图, 那么这里 选第二项, 再输入 xiaomi/mimo-v2-omni  好了. 现在可以用你习惯的方式使用 hermes 调用 xiaomi/mimo-v2-pro xiaomi/mimo-v2-omni 模型了. 最后, 附一张 用量费用 图

DediRock VPS 年付$6.45 2.5G内存 LA机房 2T流量 15G存储 可以玩 OpenClaw / Hermes-agent 兼顾翻墙

图片
DediRock VPS 年付$6.45 2.5G内存 LA机房 2T流量 15G存储 内存2.5G可以玩 OpenClaw / Hermes-agent  LA 机房 美西可以兼顾翻墙 https://1ladder.eu.org/drla645 https://billing.dedirock.com/aff.php?aff=92&pid=216 同参数 但是 NY 机房 美东  翻墙的话肯定要套CF CDN了 玩 OpenClaw / Hermes-agent 没什么影响 https://1ladder.eu.org/drny645 https://billing.dedirock.com/aff.php?aff=92&pid=217 DediRock 没有选机房的选项, 不同的购买链接有可能是不同的机房. 自己注意看. 付款页面选 PayPal Basic 万一开了订阅也不要紧, 去PayPal里面可以找到订阅再取消. ipinfo.io 检测页面

部署Hermes-agent 甲骨文Oracle VPS Ubuntu系统 用非root用户 不用 sudo -i 可以用官方安装脚本

图片
官方安装脚本 curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash 设置模型 输入你的CPA的 base url 输入你的CPA的 api key 正常情况下, 应该列出 你的CPA 支持的模型 * 如果你的CPA有问题, 那么可以手动输入模型名称 上下文窗口大小 设置消息渠道 telegram为例 tg bot token 用来与tg bot对话的tg账户(你自己的tg账户) 的 userid Gateway root用户安装, 可以选 System service * 如果是非root用户安装, 推荐选 User service 完成 看到上面信息的时候, telegram bot 也可以使用了. ======== 后记 我用的 VPS 是 DediRock VPS 2.5G内存 年付$6.45 LA 机房 美西 可以兼顾翻墙 https://1ladder.eu.org/drla645 https://billing.dedirock.com/aff.php?aff=92&pid=216 NY机房 美东 翻墙的话肯定要套CF CDN了, 玩 Openclaw / Hermes-agent 没影响 https://1ladder.eu.org/drny645 https://billing.dedirock.com/aff.php?aff=92&pid=217 Oracle 甲骨文 VPS Ubuntu系统, 用非root用户, 不用 sudo -i, 可以用官方安装脚本完成整个安装流程. 如果因为 api key 和 tg bot token 不显示, 你输入的时候输错了. 那么, 在安装过程完成后, 你可以自己修改配置文件 ~/.hermes/config.yaml ~/.hermes/.env

The Hot3 in Last 7 Days

酒馆SillyTavern 玩英文角色卡 也能以中文输出 设置世界书Lorebooks

酒馆SillyTavern 用中文讲故事 修改角色卡 修改AI生成的历史记录

搭 Docker版 Sub-Store订阅转换专家 带 http-meta 实现 集合订阅 测延迟 排序 筛选 生成新订阅 定时任务上传Gist