Alert Message Center 是一个现代化、企业级的告警路由与分发中心。它旨在将纷繁复杂的告警源(Prometheus, Grafana, 自建脚本等)与最终接收人解耦,通过 飞书机器人私聊 实现告警的精准触达。
支持通过 Topic (主题) 订阅模式分发告警,同时也提供 Personal Inbox (个人信箱) 功能,无需创建话题即可快速给自己推送消息。

除了个人订阅外,您可以将 Topic 绑定至多个飞书群聊。
Tip
群聊发现:请先将机器人邀请进入目标群聊。机器人入群后会触发自动感应,此时刷新管理页面即可在下拉菜单中看到并绑定该群组。
支持将机器人加入飞书群聊,并将话题绑定到群聊中,实现告警的群组广播。

- 🚀 极简推送 (Personal Inbox): 每个用户拥有专属的 Webhook Token,直接向
/dm接口发送即可在飞书收到私聊,零配置成本。 - 📢 主题订阅 (Topic Model): 灵活的“发布-订阅”机制。告警发送至 Topic,系统自动分发给所有订阅成员。
- 👥 群聊分发 (Group Support): 告警可同步分发至绑定的飞书群聊,支持机器人自动发现与解绑。
- 🛡️ 权限与审计:
- 话题创建需经过管理员审批。
- 记录完整的
Alert Task日志,实现发送链路可追溯。
- 📊 实时看板: Grafana 风格的监控界面,直观展示系统运行健壮性。
- 🔌 长连接模式 (WebSocket): 支持飞书开放平台长连接,无需公网 IP 或域名即可在内网环境接收事件回调。
- ⚡ 高性能架构: 基于 Bun + Hono 的全异步架构,毫秒级分发延迟。
- Runtime: Bun (高性能 TS 运行时)
- Backend: Hono (Web Standards Based)
- Frontend: React + Vite + Tailwind CSS
- Database: PostgreSQL + Drizzle ORM
- Messaging: Feishu (Lark) Open Platform
- 登录 飞书开放平台 创建一个 企业自建应用。
- 在“应用能力”中开启 机器人。
- 在“权限管理”中申请
im:message:send_as_bot(以应用身份发送消息)。 - 获取
App ID和App Secret。
# 安装依赖
bun install
# 配置环境变量 (apps/server/.env)
DATABASE_URL="postgresql://user:pass@localhost:5432/db"
FEISHU_APP_ID="cli_xxx"
FEISHU_APP_SECRET="xxx"
ADMIN_EMAILS="user1@example.com,user2@example.com" # 管理员列表
# 数据库推送/迁移
cd apps/server && bun run db:migrate:deploy
# 启动开发环境
bun run dev项目支持使用 Docker Compose 快速部署,且数据库会自动进行初始化与迁移:
# 复制并填写环境变量
cp apps/server/.env.example .env
# 启动所有服务 (Postgres + Server + Web)
docker-compose up -d项目通过 GitHub Actions 实现了自动化流水线:
- 自动化构建: 每次推送至
main分支或提交 Pull Request 时,会自动触发 Docker 镜像构建。 - 镜像仓库: 构建生成的镜像会同步推送到 GitHub Container Registry (GHCR)。
- 镜像路径:
ghcr.io/${USER}/alert-message-center(包含前后端的统一镜像)
所有版本的详细变更记录请查看 CHANGELOG.md。
URL: POST /api/webhook/:your_token/dm
Body:
{
"msg_type": "text",
"content": { "text": "这是一条私有告警" }
}URL: POST /api/webhook/:your_token/topic/:topic_slug
Body: 同上。系统会自动根据该 Topic 的订阅列表进行广播。
apps/server: 核心 API 服务,处理 OAuth、Webhook 解析与飞书分发。apps/web: 响应式管理后台。docs/copilot-context.md: 为 AI 辅助编程提供的深层架构背景。
Created with ❤️ by the Alert Message Center Team.
