logo
icon

OpenAB MS Teams Bundle

一鍵部署的 Microsoft Teams Bot,整合 OpenAB + Kiro。同時部署 OAB agent 與 Teams gateway,只需在 Azure 註冊 Bot Framework app、貼 messaging endpoint 即可使用。無需另外部署 gateway、無需手動修改 config.toml。 來源:https://github.com/openabdev/openab

template cover
部署次數0
發布者zeaburZeabur
建立於2026-05-21
最低規格2 核心4 GB
推薦規格4 核心8 GB
標籤
AIDeveloper ToolsMS TeamsMicrosoft Teams

OpenAB MS Teams Bundle

一鍵部署的 OpenAB Microsoft Teams bot — bot agent 與 Bot Framework gateway 打包在一起,在 Azure 註冊 bot、貼 messaging endpoint 即可。

前置需求:擁有可註冊 Bot Service / App Registrations 的 Azure 帳號,以及可 sideload 或發佈 Teams app 的 Microsoft 365 tenant。個人 Microsoft 帳號(Hotmail / Live)通常無法註冊 Azure Bot Service,請使用 Azure AD 工作 / 學校帳號。

部署內容

服務用途公開
openab執行 Kiro CLI 的 OAB agent
openab-gatewayTeams Bot Framework → WebSocket 橋接是(自動 HTTPS)

無需共用 PVC、無需手動修改 config.toml。Agent 的 config.toml 在首次啟動時自動生成,gateway URL 已預先設為 ws://openab-gateway:8080/wsplatform = "teams"

設定步驟

1. 在 Azure 建立 Bot

  1. Azure Portal建立資源 → 搜 Azure Bot → 建立。
  2. Bot handle:填一個唯一名稱。Subscription / Resource group 自選。Pricing tier:dev 用 F0 (免費)。
  3. Microsoft App ID:選 Type → Multi Tenant(或單一 tenant,視需求)→ Creation type → Create new Microsoft App ID
  4. Review + create → Create。等部署完成。
  5. 打開新建立的 Azure Bot 資源 → Configuration
    • Microsoft App ID → 複製 → 貼到 Teams App ID
    • Messaging endpoint → 先留空(部署後再填)
  6. 同 Configuration 頁 → 點 Manage Password(或 app credentials 下的 Manage)→ 開啟 App Registration → Certificates & secretsNew client secret → 複製 Value(不是 ID)→ 貼到 Teams App Secret

2. (選填)取得 Kiro API Key

如果你有付費的 Kiro 訂閱,前往 kiro.dev → Settings → API Keys 建立 key,填入 KIRO_API_KEY。免費方案跳過此步驟,於步驟 5 部署後再認證。

3. 部署

確認 App ID 與 App Secret 都填好 → 點部署。系統會自動分配公開 HTTPS 網域給 gateway 服務。

4. 設定 Messaging Endpoint

Bot Framework 沒有 setEndpoint API——必須在 Azure Portal 手動貼 URL。

  1. 打開 openab-gateway 服務頁面 → 查自動分配的網域。
  2. 完整 messaging endpoint:https://<你的_GATEWAY_網域>/webhook/teams
  3. 回 Azure Portal → 你的 Azure Bot 資源 → ConfigurationMessaging endpoint → 貼上 → Apply

openab-gateway 服務 Instructions 區會顯示已自動填好的完整 endpoint,可直接複製。

5. 透過 Device Flow 認證 Kiro(僅免費方案)

若步驟 2 已填入 KIRO_API_KEY,跳過此步驟。

openab 服務啟動後,於 Zeabur Dashboard 開啟該服務的終端機,執行:

runuser -u agent -- kiro-cli login --use-device-flow

依照畫面顯示的 URL 與 code 完成瀏覽器授權。

6. 把 Bot 加進 Teams

  1. Azure Bot 資源 → ChannelsMicrosoft Teams → 同意 channel 條款。
  2. Teams Developer PortalApps+ New app → 填基本資料 → App featuresBot → 選剛剛建立的 bot。
  3. 設定 scope(Personal / Team / Group chat),下載或發布 app manifest。Dev 階段可用:Preview in Teams → 安裝到 chat / channel。

詳細指南:docs/msteams-selfhosted.md

7. 測試

開 Teams → DM bot 或在 app 安裝過的 channel @mention。Gateway 收到 activity → 透過 WebSocket 轉發給 OAB → OAB 回覆透過 Bot Framework reply API 送回。

自訂設定

  • /home/agent/.config/openab/config.toml — OAB 設定(sessions、reactions 等)。首次啟動時從內建範本建立,[gateway] 區塊已預先設好。如需重建,刪除檔案後重啟服務。
  • 映像標籤 — bot 追蹤 floating stable 標籤(ghcr.io/openabdev/openab:stable),OpenAB 推出新穩定版時自動更新。Gateway 目前 pin 在 ghcr.io/openabdev/openab-gateway:0.5.1(尚未發布 :stable 標籤)。可至 Zeabur Dashboard → 服務 → 設定修改映像標籤。
  • Tenant 限制 — 在 openab-gatewayTEAMS_ALLOWED_TENANTS=<tenant-id-1>,<tenant-id-2>,只接受特定 Microsoft 365 tenants 的 activity(在 multi-tenant App ID 之上的縱深防禦)。

為什麼 endpoint 沒有自動註冊?

Bot Framework 規定 messaging endpoint 在 Azure Portal 手動設定,沒有 API。Bundle 在 gateway 的 Instructions 區預填了完整 URL 方便複製,只需要做一次。

想換不同的 agent 後端?

本 bundle 預設使用 Kiro。若想用 Claude / Codex / Cursor / Gemini / OpenCode / Hermes / Grok,請改部署對應的 bot template 搭配獨立的 OpenAB Gateway

想用其他通訊平台?

請參考 OpenAB Telegram Bundle / Feishu Bundle / LINE Bundle / WeCom Bundle 或獨立的 OpenAB Gateway,支援 Google Chat。

連結