设置团队 Telegram 助手
本教程会带你用 Hermes 搭一个可供整个团队共同使用的 Telegram 助手。搭好之后,团队成员可以通过私聊向它提问,获取代码帮助、技术调研、系统管理建议,或接收定时推送的团队摘要。
这篇指南聚焦在“当前 Hermes 怎么搭、怎么跑、怎么安全地给多人用”,不会再沿用旧版第三方样例站或过时的外部部署方式。
我们要构建什么?
目标是一台共享的 Telegram 助手,具备这些能力:
- 多位团队成员都能和同一个机器人对话
- 每个成员拥有各自独立的会话上下文
- 机器人运行在你的服务器或 VPS 上
- 只有白名单里的用户可以访问
- 你可以继续为它打开终端、文件、搜索、代码执行等能力
- 还能通过定时任务,把日报、站会摘要或巡检结果发回团队聊天
先决条件
开始前,请先准备好:
- 一台长期在线的机器,例如 Linux 服务器、VPS 或家里一直开机的主机
- 已安装 Hermes,并确认基础文本对话可用
- 已配置至少一个可用的模型提供商
- 一个 Telegram 账号,用来创建和管理机器人
如果你还没装 Hermes,先看 安装指南。
第一步:通过 BotFather 创建机器人
每个 Telegram 机器人都需要先通过 @BotFather 创建。
- 打开 Telegram,搜索
@BotFather - 发送
/newbot - 按提示设置机器人显示名称
- 再设置机器人用户名,用户名必须以
bot结尾 - 复制 BotFather 返回的 API Token
拿到的令牌通常长这样:
123456789:ABCdefGHIjklMNOpqrSTUvwxYZ
请妥善保管机器人令牌。谁拿到这个令牌,谁就能控制你的机器人。如果怀疑泄露,请立刻回到 BotFather 使用 /revoke 重新生成。
第二步:找出团队成员的 Telegram 用户 ID
Hermes 的 Telegram 白名单依赖 数字型用户 ID,不是用户名。
最简单的做法是让团队成员分别给 @userinfobot 发一条消息,读取各自的 Telegram 用户 ID。你也可以使用 @get_id_bot。
把你希望放行的成员 ID 收集起来,后面会写进 TELEGRAM_ALLOWED_USERS。
第三步:配置 Hermes 的 Telegram 网关
方式 A:使用交互式向导
最省心的方式是直接跑:
hermes gateway setup
选择 Telegram 后,向导会依次要求你输入:
- 机器人令牌
- 允许访问的 Telegram 用户 ID
- 其他网关相关配置
方式 B:手动写入环境变量
如果你更习惯自己维护配置,可以把下面这些值写进 ~/.hermes/.env:
TELEGRAM_BOT_TOKEN=123456789:ABCdefGHIjklMNOpqrSTUvwxYZ
TELEGRAM_ALLOWED_USERS=123456789,987654321
多个用户 ID 用逗号分隔。
第四步:启动网关
完成配置后,直接启动:
hermes gateway
几秒钟内,机器人就应该在 Telegram 上线。你可以让白名单里的成员分别给它发一条私信,确认它是否能正常响应。
如果你希望网关长期稳定运行,建议把它装成后台服务:
hermes gateway install
在 Linux 服务器上,也可以使用系统级安装:
sudo hermes gateway install --system
第五步:团队使用时的安全建议
团队机器人和个人机器人最大的区别,不是“能不能用”,而是“默认要更稳、更克制”。
建议你至少做到下面几件事:
- 先只放行明确需要使用它的人
- 在共享环境里谨慎开启终端或文件写入能力
- 把高风险操作放到 Docker 或其他隔离后端里
- 把机器人先跑在私聊模式里,再逐步扩展到群组
如果你需要更细的授权策略、审批或配对流程,可以继续阅读 安全性。
第六步:如果要把机器人加进群组
团队一开始通常会先在私聊中使用机器人,因为更容易控制权限和上下文。
如果后续要把它加进群组,还要额外注意 Telegram 的隐私模式。
默认情况下,Telegram 机器人启用 隐私模式。开启时,它只能看到:
- 斜杠命令
- 回复给机器人的消息
- 系统消息
如果你希望机器人读取群组中的普通消息,需要去 BotFather 中关闭群组隐私模式,或者把机器人提为群管理员。更完整的说明可参考 Telegram 设置。
修改隐私模式之后,通常需要把机器人从群组里移除再重新加入,Telegram 才会刷新这项设置。
第七步:给团队成员一个明确的使用方式
如果这是团队第一次用共享助手,建议你直接给大家一段可复制的说明,例如:
请直接私聊这个机器人提问。它适合:
- 解释代码和报错
- 调研技术方案
- 起草文档或总结会议内容
- 协助排查系统问题
不要把密钥、生产数据库口令或敏感客户数据直接发给它。
一开始把使用边界说清楚,通常比后面补救要省心得多。
第八步:为团队加上定时摘要
Hermes 的 Telegram 网关和定时任务可以自然组合起来,特别适合团队场景。
例如,每个工作日早上 9 点发送站会摘要:
/cron add "0 9 * * 1-5" "Generate a short engineering standup briefing. Summarize important GitHub activity, ongoing issues, and anything the team should notice today. Keep it concise and action-oriented." --name "Engineering standup" --deliver telegram
又或者做一个巡检任务:
/cron add "every 6h" "Check system health, summarize anything unusual, and report only actionable issues. If everything looks normal, return [SILENT]." --name "Infra health check" --deliver telegram
如果你是在某个团队聊天里创建任务,也可以考虑使用 origin 交付,让结果直接回到创建任务的那个对话里。
第九步:推荐的生产环境配置
如果你的团队助手会使用终端、Shell、文件系统或其他高权限工具,建议至少做下面这些加固:
使用 Docker 作为终端后端
在 ~/.hermes/config.yaml 中:
terminal:
backend: docker
container_cpu: 1
container_memory: 5120
container_persistent: true
或者使用环境变量:
TERMINAL_BACKEND=docker
TERMINAL_DOCKER_IMAGE=nikolaik/python-nodejs:python3.11-nodejs20
监控网关状态
hermes gateway status
在 Linux 上查看实时日志:
journalctl --user -u hermes-gateway -f
在 macOS 或普通日志文件模式下:
tail -f ~/.hermes/logs/gateway.log
第十步:常见的团队使用模式
这个机器人最常见的几种用途通常是:
- 代码解释和报错排查
- 技术方案对比
- 运维指令建议和系统诊断
- 日志分析
- 团队日报、站会摘要和巡检报告
如果你发现大家已经稳定在某一类任务上重复使用它,下一步就很适合加上 技能、上下文文件 或 个性与 SOUL.md。
接下来可以读什么
团队 Telegram 助手最好的上线方式,不是“一次把所有能力都打开”,而是先从私聊问答和几个低风险定时任务开始。等团队习惯之后,再逐步开启更强的工具能力。