用途:为已接入 Telegram 的环境增加 Agent Teams(Swarm)能力,使团队中的每个子智能体在 Telegram 群组里拥有独立机器人身份,用户能直观看出是哪位智能体在发言。
前提条件:必须先用 /add-telegram 完成 Telegram 配置;若 src/telegram.ts 不存在或未配置 TELEGRAM_BOT_TOKEN,需先运行 /add-telegram。
主要能力与流程:
- 检测既有 swarm(通过 sqlite3 查询 store/messages.db 中带 webhookUrl 的 tg:/dc: 组),如有则询问新增、替换或更新。
- 始终展示资源提示:每个 swarm 独享容器 VM,约占 1GB 内存,默认并发上限 5 个容器,可用环境下 .env 中的 MAX_CONCURRENT_CONTAINERS 调整。
- 命名:要求提供主题名,群组文件夹为 telegram-{theme},不允许默认 telegram-main。
- 创建或选择 Telegram 群组,并给出安全提示(群内任何人可命令机器人;建议保持群私有,不分享邀请链接;共享访问可另建组并设置 requiresTrigger: true)。
- 需在 BotFather 中为主机器人和每个池机器人关闭 Group Privacy,添加后可能需移除再重新加入才生效。
- 创建 3-5 个池机器人并把 token 提供给技能。
- 如团队包含视觉角色,可选配置 GEMINI_API_KEY,并需将其加入 src/container-runner.ts 的 allowedVars 白名单。
实现要点:在 src/config.ts 增加 TELEGRAM_BOT_POOL;在 src/telegram.ts 增加 initBotPool 与 sendPoolMessage(池机器人为仅发送的 Grammy Api 实例,不轮询,按 sender 轮询分配并 setMyName 重命名);在 MCP 工具 send_message 增加可选 sender 参数;在 src/ipc.ts 中将以 tg: 开头且带 sender 的消息路由到 sendPoolMessage;在 src/index.ts 中初始化池。另需更新 groups/global/CLAUDE.md 的消息格式规则,并为相关群组补充 Agent Teams 说明。
限制:资料未提供该技能的费用、支持平台范围、效果保证或完整代码;以上仅为资料中明确描述的内容,其余暂未提供。