OpenAB 獨立 Webhook Gateway — 透過 WebSocket 將 Telegram、LINE、Feishu/Lark、Google Chat、MS Teams 橋接到任何正在運行的 OAB 實例。部署於現有 OpenAB 服務旁即可啟用對應通訊平台。至少須設定一個平台。 來源:https://github.com/openabdev/openab

OpenAB Gateway 是獨立的 Webhook 橋接服務,透過 WebSocket 將通訊平台連接到任何正在運行的 OpenAB 實例。
Telegram ──POST──▶ ┌──────────────────┐
LINE ──POST──▶ │ │
Feishu/Lark ──POST──▶ │ OpenAB Gateway │ ◀──WebSocket── OAB Pod
Google Chat ──POST──▶ │ :8080 │ (OAB 主動對外連線)
MS Teams ──POST──▶ │ │
└──────────────────┘
將此 template 部署於現有 OpenAB 服務(Claude、Cursor、Codex 等)旁,無需重新部署 OAB 即可新增通訊平台支援。可同時啟用一或多個平台,未填寫的留空即可停用。
| 平台 | 設定章節 | 必填變數 |
|---|---|---|
| Telegram | #telegram | TELEGRAM_BOT_TOKEN |
| LINE | #line | LINE_CHANNEL_SECRET、LINE_CHANNEL_ACCESS_TOKEN |
| Feishu / Lark | #feishu | FEISHU_APP_ID、FEISHU_APP_SECRET |
| Google Chat | #google-chat | GOOGLE_CHAT_ENABLED=true、GOOGLE_CHAT_SA_KEY_JSON |
| MS Teams | #teams | TEAMS_APP_ID、TEAMS_APP_SECRET |
/newbot 並依照提示操作123456:ABC-DEF...)→ 貼到 Telegram Bot Token/setprivacy → Disable,讓 Bot 可以看到群組中所有訊息填入想啟用平台的 Token 後點擊部署。系統會自動分配公開 HTTPS 網域。可以只啟用 Telegram、只啟用 LINE,或兩者同時啟用。
部署完成後,向 Telegram 註冊你的 Gateway URL(替換 YOUR_TOKEN、YOUR_DOMAIN,選填 YOUR_SECRET):
# 不帶 webhook secret(較簡單)
curl "https://api.telegram.org/botYOUR_TOKEN/setWebhook?url=https://YOUR_DOMAIN/webhook/telegram"
# 帶 webhook secret(建議 — 與 TELEGRAM_SECRET_TOKEN 一致)
curl "https://api.telegram.org/botYOUR_TOKEN/setWebhook?url=https://YOUR_DOMAIN/webhook/telegram&secret_token=YOUR_SECRET"
預期回應:{"ok":true,"result":true,"description":"Webhook was set"}
在同一個 Zeabur 專案的 OpenAB 服務中,編輯 /home/agent/.config/openab/config.toml 並加入:
[gateway]
url = "ws://openab-gateway:8080/ws"
儲存後重啟 OpenAB 服務。OAB 會主動對外連線到 Gateway,OAB 本身不需要開放任何 inbound 連接埠。
內部 Hostname:
openab-gateway在同一個 Zeabur 專案內透過內部 DNS 解析。若你的 Gateway 服務名稱不同,請改用對應名稱。
向你的 Telegram Bot 發送訊息。Gateway 收到後透過 WebSocket 轉發給 OAB,OAB 處理後透過 Gateway 回覆。
在 LINE Developers Console → Messaging API 頁籤:
https://YOUR_DOMAIN/webhook/line在 config.toml 的 gateway 區塊加入 platform = "line":
[gateway]
url = "ws://openab-gateway:8080/ws"
platform = "line"
儲存後重啟 OpenAB 服務。
im.message.receive_v1 事件。im:message、im:message:send_as_bot、contact:user.base:readonly。FEISHU_APP_ID、App Secret → FEISHU_APP_SECRET。FEISHU_DOMAIN 設為 lark;中國版飛書保持 feishu。預設使用 WebSocket 連線模式,Gateway 會主動對外連線到 Feishu,不需要 公開 webhook URL。
接著設定 OAB 使用 Gateway,並指定 platform = "feishu":
[gateway]
url = "ws://openab-gateway:8080/ws"
platform = "feishu"
完整指南:docs/feishu.md
需要 Google Workspace 付費帳號(Business / Enterprise)。一般
@gmail.com個人帳號無法建立 Google Chat 應用。
https://YOUR_DOMAIN/webhook/googlechatGOOGLE_CHAT_ENABLED=trueGOOGLE_CHAT_SA_KEY_JSON → 貼上完整的 Service Account JSON(單行)GOOGLE_CHAT_AUDIENCE → https://YOUR_DOMAIN/webhook/googlechat(建議填入以驗證 JWT)OAB 端設定 platform = "googlechat"。完整指南:docs/google-chat.md
https://YOUR_DOMAIN/webhook/teams。TEAMS_APP_ID,建立 client secret → TEAMS_APP_SECRET。OAB 端設定 platform = "teams"。完整指南:docs/msteams-selfhosted.md
| 路徑 | 平台 |
|---|---|
POST /webhook/telegram | Telegram |
POST /webhook/line | LINE |
POST /webhook/feishu | Feishu/Lark(僅 webhook 模式;預設使用 WebSocket) |
POST /webhook/googlechat | Google Chat |
POST /webhook/teams | MS Teams |
GET /ws | OAB WebSocket(內部使用) |
GET /health | 健康檢查 |