一句话判断
Rocket.Chat 今天 GitHub 爆涨 4.5 万星,核心价值在于:可自托管的、端到端加密的企业级通信平台。但对我来说,真正值得开发者关注的,是它极其灵活的 Webhook 和机器人框架——配合 MCP 协议,可以零成本搭建一个受你控制的 AI 对话系统。
它能做什么
Rocket.Chat 不是新东西,2015 年就用 Meteor 写的。但到今天它依然是开源 IM 里功能最全的:
- 自部署,数据你管
- 端到端加密(E2EE)可选
- 丰富的 API 和集成机制(Incoming/Outgoing Webhook、Apps、Bot API)
- LDAP/OAuth 等企业认证
如果你需要 Slack 的体验,但不想把聊天记录送到第三方,Rocket.Chat 是第一选择。
核心收获:三步让 AI 接入你的群聊
1. 部署(踩坑跳过)
用官方 docker-compose 最稳:
git clone https://github.com/RocketChat/Rocket.Chat.git
docker-compose up -d
注意:必须用 MongoDB 副本集,否则消息记录功能受限。我踩过单节点 MongoDB 的坑,收不到历史消息提醒。
2. 配置 Outgoing Webhook
进入后台 → Integrations → New → Outgoing Webhook。关键字段:
- Event Trigger: Message Sent
- Trigger Word(s):
!ai - URLs: 你的服务端地址,比如
http://your-server:3000/rocket-hook - Post to Channel: 你想要的频道

3. 写一个极简 AI 助手
以下 Node.js 脚本接收 Rocket.Chat 的消息,调用 MCP Client(或任何 LLM API),并返回结果:
const express = require('express');
const app = express();
app.use(express.json());
app.post('/rocket-hook', async (req, res) => {
const text = req.body.text.replace('!ai ', '');
// 这里替换为你的 MCP Client 调用
const reply = await callMCP(text);
res.json({ text: reply });
});
function callMCP(query) {
// 示例:调用本地 MCP Server 查询数据库
return `MCP result for: ${query}`;
}
app.listen(3000);
部署后,在频道里发 !ai 查询用户数量,机器人就会回复 MCP 的执行结果。整个过程不需要任何第三方 SaaS,数据完全在自己服务器。
适用场景与局限
适合:
- 需要自建 AI 助手的内部团队(金融、医疗、政务)
- 数据隐私要求严格的场景
- 你想把 MCP Server 暴露给整个团队,通过聊天界面调用
局限:
- Outgoing Webhook 是同步的,超时 5 秒,不适合长时间任务。需要异步处理的话用 API 发消息。
- 机器人开发门槛比 Slack 稍高,没有官方 Bot Kit,需要自己写路由。但胜在完全可控。
与同类工具对比
| 特性 | Rocket.Chat | Slack | Mattermost |
|---|---|---|---|
| 自托管 | ✅ 完整 | ❌ 仅企业版有限 | ✅ 完整 |
| E2EE | ✅ 可选 | ❌ | ❌ |
| Outgoing Webhook | ✅ 免费 | ❌ 付费 | ✅ 免费 |
| MCP 直接集成 | 手动 | 通过 Zapier 等 | 手动 |
Rocket.Chat 是唯一一个同时提供 自托管、E2EE、免费 Webhook 的选择。对于想深度控制 AI 管线的团队,这是根本优势。
我的判断
别光关注 4.5 万星这种虚数字。真正有价值的是:Rocket.Chat 给你一个完全由你掌控的 AI 入口。如果你正在搭建企业内部 AI 工具链,花半天把 Rocket.Chat 的 Webhook 调通,比用 Slack 的付费功能实在得多。
下一步可以做的事:把你的 MCP Server 挂载到 Rocket.Chat 机器人上,然后用频道管理权限——让 AI 只能在私密频道里执行数据库写入,在公开频道只做查询。这才是安全且可控的 AI 协作方式。