OmniAgent多渠道部署实战:飞书、Telegram、Discord一键接入,AI助手随时随地随叫随到
【免费下载链接】OmniAgentAn agent capable of self-evolving and dynamically hardening security项目地址: https://gitcode.com/gh_mirrors/om/OmniAgent
OmniAgent 是一个可自我进化、动态加固安全的开源 AI Agent 框架,它的多渠道消息网关让 AI 助手能一键接入飞书、Telegram、Discord 和 Webhook——你在手机上发条消息,Agent 就在服务器上帮你跑任务。本文将带你完成一次真实的多渠道部署。
为什么要把 AI 助手装进你的聊天软件?
传统用法里,Agent 只能在终端或网页里调用。而 OmniAgent 的 Gateway 内置了统一的渠道系统:所有消息(来自 Web UI、飞书、Telegram、Discord、Webhook)都汇聚到同一条消息总线,由同一个 Agent 处理,会话状态跨渠道保持一致。
也就是说:手机、电脑、群聊里 @ 一下,随叫随到,而且它记得你之前聊过什么 📱
渠道的核心编排逻辑在 omniagent/channels/manager.py,它负责发现已启用的渠道、统一启动,并带 1s/2s/4s 三级退避的发送重试,消息不会轻易丢失。
部署前 3 步准备
1️⃣安装 OmniAgent(需要 Python 3.11+):
pip install -e .2️⃣交互式初始化:选择 LLM 提供商(DeepSeek / OpenAI / Anthropic / Ollama 等),填入 API Key:
omniagent onboard3️⃣安装对应渠道 SDK(按需选择):
pip install lark-oapi python-telegram-bot discord.py每个渠道都是可选的——缺哪个 SDK 就跳过哪个,互不影响。SDK 探测逻辑见 omniagent/channels/registry.py。
飞书渠道:无需公网 IP 的免隧道方案
飞书是本文推荐的首发渠道,因为它采用WebSocket 长连接(由 omniagent/channels/feishu.py 实现),你的服务器主动连出到飞书服务器,不需要公网 IP、不需要配置 Webhook 回调,家庭宽带或内网机器也能跑。
第 1 步:在飞书开放平台创建应用
- 进入开放平台 → 创建企业自建应用,记下
App ID和App Secret - 为应用开通「机器人」能力,并授予消息收发相关权限
- 开启「事件订阅」时选择长连接方式
- 发布应用版本
第 2 步:在~/.omniagent/config.yaml中写入渠道配置
channels: feishu: enabled: true app_id: "cli_xxxxxxxx" app_secret: "你的app_secret" encrypt_key: "" # 事件订阅的 Encrypt Key verification_token: "" # 事件订阅的 Verification Token allow_from: ["*"] # 白名单:允许谁与机器人对话 group_policy: mention # 群聊中仅 @机器人 时响应(open = 全部响应)第 3 步:启动 Gateway
omniagent serve启动后在飞书里私聊机器人,或在群里 @它,即可收到 AI 回复。飞书渠道还支持收图片(自动下载到~/.omniagent/media)和回传图片消息 🖼️
Telegram 与 Discord:一分钟接入
这两个渠道走 Bot Token 模式,配置结构几乎一样,只需替换渠道名和 SDK 凭据。
Telegram 接入步骤
- 在 Telegram 中找
@BotFather→/newbot创建机器人,拿到 Bot Token - 给机器人发一条消息(否则无法主动拉取你的 ID),把 ID 加入白名单
channels: telegram: enabled: true bot_token: "123456:ABC-DEF..." allow_from: ["你的数字ID"] # 或 ["*"] 允许所有人 group_policy: mentionDiscord 接入步骤
- 在 Discord 开发者门户创建 Application → Bot,开启 Message Content Intent,复制 Token
- 通过邀请链接把 Bot 拉进服务器
channels: discord: enabled: true bot_token: "你的bot_token" allow_from: ["*"] group_policy: mention实现分别位于 omniagent/channels/telegram.py 和 omniagent/channels/discord.py。多个渠道可以同时启用,Gateway 会并行拉起它们。
自定义扩展:Webhook 渠道
除了三大 IM,OmniAgent 还内置了通用 Webhook 渠道(omniagent/channels/webhook.py),方便接入企业微信自建脚本、内部系统或任意 HTTP 来源:
channels: webhook: enabled: true inbound_path: /webhook/in # 接收消息的 HTTP 端点 inbound_secret: "" # 配置后启用 HMAC-SHA256 签名校验 outbound_url: "" # 回复消息要 POST 到的地址 allow_from: ["*"]配置inbound_secret后,所有入站请求必须携带X-Signature-256签名,防伪造、防重放 ✅
关键配置项速查
| 配置项 | 说明 |
|---|---|
enabled | 渠道开关,true才会被 Gateway 拉起 |
allow_from | 用户白名单。⚠️ 留空[]会拒绝所有人,允许所有人请写["*"] |
group_policy | 群聊策略:mention仅 @ 时响应(默认,更安静),open全量响应 |
gateway.port | Gateway 端口,默认18790 |
白名单校验统一在渠道基类中执行,见 omniagent/channels/base.py。
验证部署是否成功
omniagent serve启动后,做两件事:
- 浏览器打开
http://127.0.0.1:18790,进入 Web UI 确认 Agent 本体工作正常 - 访问健康检查
http://127.0.0.1:18790/health,返回的 JSON 中会包含channels字段,列出每个渠道的enabled/running状态:
{ "status": "healthy", "channels": { "feishu": {"enabled": true, "running": true}, "telegram": {"enabled": true, "running": true} } }看到"running": true,就说明机器人已经在线,掏出手机试试吧 🚀
写在最后
到这里,你的 OmniAgent 已经同时活在了飞书、Telegram、Discord 和自己的服务器上。得益于它的自进化能力,这些渠道上沉淀的对话还会持续反哺记忆与技能——用得越久,助手越懂你。后续 Roadmap 中还规划了微信、企业微信、钉钉等渠道扩展,关注仓库动态即可第一时间尝鲜。
【免费下载链接】OmniAgentAn agent capable of self-evolving and dynamically hardening security项目地址: https://gitcode.com/gh_mirrors/om/OmniAgent
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考