將 Slack 橋接至工作區
你將打造什麼
標題為「你將打造什麼」的章節讀完這篇教學,你將擁有:
- 一個為你的工作區建立的 Slack 應用程式,權限與事件都已設定妥當
- Slack 與 Control Center 之間的一條即時連線
- 你自己的 Slack 帳戶已連結到你的 Control Center 使用者
- 一個在 Slack 討論串中回答你的代理,以及一張由斜線指令開立的工單
先決條件:
- 你的第一個工作區 與 派送你的第一個代理 已完成——沒有代理的工作區能收到 Slack 訊息,卻沒有人能回答它
- 工作區的 CEO 代理已在 設定 → 工作區 → 代理中設定好配接器與模型。橋接喚醒的是 CEO,而不是你在上一個教學中設定的代理;沒有配接器的代理會執行在內建迴圈上,並使用 Anthropic 的預設模型。
- 在 Control Center 工作區中擁有
owner或admin角色(連接聊天應用程式代表的是整個工作區) - 在你的 Slack 工作區中建立與安裝應用程式的權限
這裡不需要公開位址、通道或入站連接埠。Control Center 會透過 Socket Mode 向 Slack 主動外連,因此這在 NAT 後方的筆記型電腦上也能運作。
步驟 1:取得 Slack 應用程式設定 token
標題為「步驟 1:取得 Slack 應用程式設定 token」的章節這是唯一必須手動取得的密鑰。有了它,Control Center 才能替你建立這個應用程式,並在之後編輯它。
- 開啟 api.slack.com/apps
- 捲動到頁面底部的應用程式設定 token 區段
- 為你的 Slack 工作區產生一組 token
- 複製 refresh token——它以
xoxe-開頭
步驟 2:讓 Control Center 建立應用程式
標題為「步驟 2:讓 Control Center 建立應用程式」的章節- 在 Control Center 中,前往 設定 → 工作區 → 一般,找到 聊天橋接 卡片
- 在 Slack 區塊上,點擊 幫我建立應用程式
- 貼上應用程式設定 token
- 檢視機器人會呈現什麼樣子:
- 應用程式名稱:Slack 列出這個應用程式的方式,例如
Control Center · Acme - 機器人名稱:人們在
@之後輸入的名稱,例如control-center - 簡短描述與機器人自述的能力
- 斜線指令:預設為
cc,因此指令是/cc - 私訊:保持開啟,讓成員可以私訊機器人
- 應用程式名稱:Slack 列出這個應用程式的方式,例如
- 點擊 建立應用程式
Control Center 會組出完整的應用程式定義——開啟 Socket Mode、機器人所需的權限範圍與事件訂閱、斜線指令、Messages 分頁——並在 Slack 中建立它。
步驟 3:完成只有 Slack 能做的兩個步驟
標題為「步驟 3:完成只有 Slack 能做的兩個步驟」的章節Slack 沒有可用來產生應用程式層級 token 或安裝應用程式的 API,因此對話方塊會把這兩者都以連結的形式交給你:
- 產生應用程式層級 token——會開啟 Basic Information → App-Level Tokens。建立一個具有
connections:write範圍的 token 並複製它。它以xapp-開頭 - 安裝應用程式——會開啟 Install App。安裝到你的工作區,然後複製 Bot User OAuth Token。它以
xoxb-開頭
請保留這兩個值,下一步會用到。
步驟 4:連線
標題為「步驟 4:連線」的章節- 回到對話方塊中,點擊 貼上憑證
- 輸入 機器人 token(
xoxb-…)與 應用程式層級 token(xapp-…) - 將 應用程式設定 token 留空——步驟 1 的那個已經儲存好了(Slack 輪換了它,Control Center 存下了新的那個)
- 點擊 連線
Control Center 會在儲存任何東西之前先向 Slack 驗證機器人 token,然後開啟通訊端。這一列現在會顯示機器人名稱與你的 Slack 工作區名稱,並帶有 已上線 標籤。
步驟 5:連結你自己的 Slack 帳戶
標題為「步驟 5:連結你自己的 Slack 帳戶」的章節連線讓機器人可被觸達;連結則讓_你_被認得出來。在你的 Slack 身分完成連結之前,機器人不會對你的訊息採取行動——它絕不會把訊息歸到安裝應用程式的人身上。
連結屬於個人行為,因此它與整個工作區共用的連線位於不同的頁面。
- 前往 設定 → 工作區 → 個人資料與身分,找到 已連結的聊天帳戶 卡片
- 點擊 連結我的 Slack 帳戶
- 複製它顯示的指令,例如
/cc link K7M2QP - 在 Slack 中,透過私訊把該指令傳送給機器人
- 機器人會回答「已連結至 …」
該代碼只能使用一次,並在 15 分鐘後失效。如果你的 Slack 電子郵件與某位已經是此工作區成員的 Control Center 使用者相符,橋接會在你第一次與它交談時自動完成連結,你可以跳過這個步驟。
如果在此之前你就提及了機器人,它會拒絕並說明原因。這三種拒絕各不相同,因此請看清你遇到的是哪一種:
- 未連結的傳送者:機器人會告訴你如何連結。請回到這個步驟。
- 已連結,但不是此工作區的成員:請管理員邀請你。
- 角色為唯讀的成員(viewer 或 guest):機器人不會代表你開始工作。
步驟 6:讓代理著手某件事
標題為「步驟 6:讓代理著手某件事」的章節-
在 Slack 中,把機器人邀請進某個頻道:
/invite @control-center -
用一個真實的請求提及它:
@control-center 總結一下 api 儲存庫上所有開啟的 PR
橋接會:
- 為該 Slack 討論串建立一個 Control Center 空間,並以 Slack 頻道和你的請求命名
- 喚醒工作區的入口代理(有 CEO 代理時就是 CEO,否則就是第一個代理)
- 在代理的回答寫出的同時,將它串流回該 Slack 討論串
在同一個 Slack 討論串中回覆即可繼續——不需要再次提及,因為該 Slack 討論串現在已經橋接。或者不用頻道,改為私訊機器人;每個私訊對話都會驅動它自己的 Control Center 空間,並帶有標題,以及代理工作期間顯示「正在思考…」的狀態列。
串流需要 Slack 的串流 API,而並非每個方案都有。如果你的應用程式被它拒絕,橋接會在這條連線的整個生命週期內停止嘗試,改為將每則回覆以單一訊息張貼,而 聊天橋接 卡片會顯示「此 Slack 應用程式已關閉即時串流——回覆會以單一訊息送達。」其他一切照舊。
步驟 7:不必離開 Slack 就能開立工單
標題為「步驟 7:不必離開 Slack 就能開立工單」的章節/cc ticket Fix the flaky login test | It fails on CI about once a day.機器人會以它開立的工單鍵作答。該工單是一張普通的本機 Control Center 工單,由你回報,隨時可以指派給代理。/cc help 會列出這個指令能做的所有事。
你從 Control Center 建立了 Slack 應用程式,透過對外通訊端連接它,把你的 Slack 身分連結到你的 Control Center 使用者,並從一個 Slack 討論串驅動代理。Slack 中發生的一切在 Control Center 裡同樣存在:Slack 討論串是一個空間,回覆是一份對話紀錄,工單就是一張工單。
下一步: 設定 Slack 整合 涵蓋手動操作路徑、輪換 token 與疑難排解。若要了解其背後的模型,請閱讀 聊天橋接。