Skip to main content

设置团队 Telegram 助手

本教程会带你用 Hermes 搭一个可供整个团队共同使用的 Telegram 助手。搭好之后,团队成员可以通过私聊向它提问,获取代码帮助、技术调研、系统管理建议,或接收定时推送的团队摘要。

这篇指南聚焦在“当前 Hermes 怎么搭、怎么跑、怎么安全地给多人用”,不会再沿用旧版第三方样例站或过时的外部部署方式。


我们要构建什么?

目标是一台共享的 Telegram 助手,具备这些能力:

  • 多位团队成员都能和同一个机器人对话
  • 每个成员拥有各自独立的会话上下文
  • 机器人运行在你的服务器或 VPS 上
  • 只有白名单里的用户可以访问
  • 你可以继续为它打开终端、文件、搜索、代码执行等能力
  • 还能通过定时任务,把日报、站会摘要或巡检结果发回团队聊天

先决条件

开始前,请先准备好:

  • 一台长期在线的机器,例如 Linux 服务器、VPS 或家里一直开机的主机
  • 已安装 Hermes,并确认基础文本对话可用
  • 已配置至少一个可用的模型提供商
  • 一个 Telegram 账号,用来创建和管理机器人

如果你还没装 Hermes,先看 安装指南


第一步:通过 BotFather 创建机器人

每个 Telegram 机器人都需要先通过 @BotFather 创建。

  1. 打开 Telegram,搜索 @BotFather
  2. 发送 /newbot
  3. 按提示设置机器人显示名称
  4. 再设置机器人用户名,用户名必须以 bot 结尾
  5. 复制 BotFather 返回的 API Token

拿到的令牌通常长这样:

123456789:ABCdefGHIjklMNOpqrSTUvwxYZ
warning

请妥善保管机器人令牌。谁拿到这个令牌,谁就能控制你的机器人。如果怀疑泄露,请立刻回到 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 设置

warning

修改隐私模式之后,通常需要把机器人从群组里移除再重新加入,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


接下来可以读什么

tip

团队 Telegram 助手最好的上线方式,不是“一次把所有能力都打开”,而是先从私聊问答和几个低风险定时任务开始。等团队习惯之后,再逐步开启更强的工具能力。