讓 AI 員工有自己的 Telegram Bot 與 Google Chat 應用程式
預設所有 AI 員工都透過公司共用的通道對外(一個 Telegram Bot、一個 Google Chat 應用程式)。照這份說明設定之後,大家可以直接找某一位員工專屬的 Bot 或應用程式說話,回答的就是那位員工。
位置:AI 員工 → 點進員工 → 整合 → 專屬通道。
| Telegram Bot | Google Chat 應用程式 | |
|---|---|---|
| 誰可以設定 | 只有管理員(員工負責人看得到狀態) | 只有管理員(員工負責人看得到狀態) |
| 要準備什麼 | @BotFather 給的 Token | 一個 Google Cloud 專案、一個 Chat 應用程式、服務帳戶 JSON 金鑰,以及 Google 連得到的 HTTPS 網址 |
| 要不要重新啟動 | 不用 | 不用 |
| 沒設定時 | 走共用的 Telegram Bot | 走共用的 Google Chat 應用程式 |
一個 Bot 或一個 Chat 應用程式只能給一位員工。已經被別的員工用掉的,存檔時會被拒絕。
Telegram
Section titled “Telegram”- 在 Telegram 搜尋 @BotFather,傳
/newbot,照指示取名字和帳號。 - BotFather 會回一串 Token,像
123456789:AAE…,整串複製。 - 貼到 專屬通道 → Telegram,按 連線。
存檔前會先問 Telegram 這個 Bot 是誰。Telegram 不認的 Token 不會存;當下連不到 Telegram 的話會先存起來,Bot 自己會一直重試。存好後卡片會顯示 已連線,Bot 是 @你的bot,或是沒連上的原因(例如在 BotFather 撤銷 Token 之後會顯示「Bot Token 無效」,把新的 Token 貼上即可)。
實際運作:
- 私訊和群組都可以。群組裡只有被提及(
@你的bot)、被回覆或收到指令時才回答;每個群組可以在通道的行為設定裡改。 - 傳給這個 Bot 的訊息都由這位員工回答。用
@叫其他員工只在共用 Bot 有效。 - 同一個人也在跟其他員工的 Bot 聊天時,每位員工的對話紀錄各自分開。
- 誰可以跟這個 Bot 說話,照 Telegram 通道的存取規則(允許/封鎖名單、配對),和共用 Bot 一樣。
- 「思考中…」狀態訊息和共用 Bot 相同。
- 如果共用 Bot 用的是同一個 Token,這位員工的 Bot 會接手;移除員工的 Bot 後還給共用設定。
Google Chat
Section titled “Google Chat”每位員工要有自己的 Google Cloud 專案和自己的 Chat 應用程式(Google 規定一個專案一個 Chat 應用程式)。
- 替這位員工開一個 Google Cloud 專案,啟用 Google Chat API。記下專案編號(專案資訊卡上的一串數字,不是英文的專案 ID)。
- 在同一個專案建立服務帳戶,下載 JSON 金鑰。
- 到 Chat API 的**設定(Configuration)**頁建立應用程式:開啟互動功能、允許一對一訊息和聊天室,連線方式選 HTTP 端點網址,填員工卡片上顯示的網址:
https://<你的公開網域>/webhook/googlechat/agents/<員工代號>。驗證對象(Authentication Audience)選專案編號。 - 由管理員把專案編號和整份 JSON 金鑰貼到 專屬通道 → Google Chat,按 連線。系統會用金鑰向 Google 要一次存取權杖來確認,卡片會顯示用的是哪個服務帳戶。
- 在 Google Chat 把應用程式加進聊天室,或直接私訊它。
實際運作:
- Google 送到這個網址的每個請求,都先用這位員工的專案編號驗證,通過才讀內容。替別的應用程式簽的請求、驗證對象不對、沒有或偽造的權杖,一律拒絕(HTTP 401)。沒有設定應用程式的員工、或不存在的代號,也一樣回 401,網址不會透露哪些員工有應用程式。同一個來源位址每分鐘被拒絕超過 120 次後,沒有合理權杖的請求會收到 HTTP 429;驗證通過的請求不計入。
- 回覆(以及這位員工之後轉送到聊天室的訊息)用這個應用程式的身分送出,所以應用程式必須在那個聊天室裡。
- 只改專案編號的話,金鑰欄留空即可,原本的金鑰會保留。
- 移除應用程式後,這個網址立刻關閉。
之後的訊息從哪裡送出
Section titled “之後的訊息從哪裡送出”之後回到這段對話的訊息,都從這段對話進來的那個 Bot 或應用程式送出:
- 這位員工交辦給其他 AI 員工後,對方的回覆;
- 員工設在這個聊天室的提醒、員工自己傳回這個聊天室的訊息;
- 這個聊天室的審批請求、
/goal進度和其他通知。
Telegram 用的是員工自己的 Bot;如果那個 Bot 在這期間被移除,訊息會送失敗,不會改用別的 Bot。Google Chat 用的是最近從那個聊天室收到訊息的應用程式;如果 Google 因為那個應用程式已經離開聊天室而拒絕,就把它從紀錄移除,下一次改用聊天室裡另一個應用程式。
- Token 和金鑰加密存在員工的
agent.toml(bot_token_enc、service_account_json_enc)。本機加密金鑰無法使用時,存檔會被拒絕,不會改存明文。 - 狀態只顯示 Bot 帳號和服務帳戶 email,不會顯示 Token 或金鑰。
- 每次設定和移除都寫進安全稽核紀錄(
agent_channel_bound、agent_channel_removed)。
- 這一版之前建立的提醒仍然由共用 Bot 送出。
- Google Chat 應用程式只支援「專案編號」驗證對象,不支援「HTTP 端點網址」。
- Discord、Slack 的員工專屬 Bot 照舊在同一頁用「新增通道」(管理員)設定。