將 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 應用程式設定權杖
標題為「步驟 1:取得 Slack 應用程式設定權杖」的章節這是唯一一個你必須親手取得的機密。它讓 Control Center 可以代你建立,並在日後編輯該應用程式。
- 開啟 api.slack.com/apps
- 捲到頁面底部的應用程式設定權杖區段
- 為你的 Slack 工作區產生一組權杖對
- 複製更新權杖——它以
xoxe-開頭
步驟 2:讓 Control Center 建立應用程式
標題為「步驟 2:讓 Control Center 建立應用程式」的章節- 在 Control Center 中,前往設定 → 工作區 → 一般,找到聊天橋接卡片
- 在 Slack 區塊上,按一下為我建立應用程式
- 貼上應用程式設定權杖
- 檢視機械人將會呈現的樣貌:
- 應用程式名稱:Slack 列出該應用程式時顯示的名稱,例如
Control Center · Acme - 機械人名稱:人們在
@後輸入的內容,例如control-center - 簡短描述與機械人自述的能力
- 斜線指令:預設為
cc,因此指令是/cc - 私訊:保持開啟,讓成員可以私訊機械人
- 應用程式名稱:Slack 列出該應用程式時顯示的名稱,例如
- 按一下建立應用程式
Control Center 會組合出完整的應用程式定義——開啟 Socket Mode、機械人所需的權限範圍與事件訂閱、斜線指令、Messages 分頁——然後在 Slack 中建立它。
步驟 3:完成只有 Slack 才能完成的兩個步驟
標題為「步驟 3:完成只有 Slack 才能完成的兩個步驟」的章節Slack 沒有 API 可以產生應用程式層級權杖或安裝應用程式,因此對話框會以連結形式把這兩件事交給你:
- 產生應用程式層級權杖——開啟 Basic Information → App-Level Tokens。建立一個具有
connections:write權限範圍的權杖並複製它。它以xapp-開頭 - 安裝應用程式——開啟 Install App。安裝到你的工作區,然後複製 Bot User OAuth Token。它以
xoxb-開頭
請保留這兩個值,下一步會用到。
步驟 4:連接
標題為「步驟 4:連接」的章節- 回到對話框,按一下貼上憑證
- 輸入機械人權杖(
xoxb-…)與應用程式層級權杖(xapp-…) - 把應用程式設定權杖留空——步驟 1 取得的那個已經儲存好(Slack 輪換了它,Control Center 已儲存新的那個)
- 按一下連接
Control Center 會先向 Slack 驗證機械人權杖,之後才儲存任何內容,然後開啟通訊端。該列現在會顯示機械人的名稱與你的 Slack 工作區名稱,並附上已連接標籤。
步驟 5:連結你自己的 Slack 帳戶
標題為「步驟 5:連結你自己的 Slack 帳戶」的章節連接讓機械人能夠被觸達;連結則讓_你_能夠被辨識。在你的 Slack 身分連結之前,機械人不會對你的訊息採取行動——它從不把訊息歸屬於安裝應用程式的那個人。
連結屬於個人,因此它與涵蓋整個工作區的連接位於不同頁面。
- 前往設定 → 工作區 → 個人資料與身分,找到已連結的聊天帳戶卡片
- 按一下連結我的 Slack 帳戶
- 複製它顯示的指令,例如
/cc link K7M2QP - 在 Slack 中,以私訊把該指令傳送給機械人
- 機械人會回答「已連結——你是……」
該代碼只能使用一次,並在 15 分鐘後過期。如果你的 Slack 電郵符合某位已是本工作區成員的 Control Center 使用者,橋接會在你第一次與它對話時自動把你連結起來,你可以略過這一步。
若你在完成這一步之前提及機械人,它會拒絕並說明原因。這三種拒絕各不相同,請看清你遇到的是哪一種:
- 未連結的傳送者:機械人會告訴你如何連結。請回到這一步。
- 已連結,但不是本工作區的成員:請要求管理員邀請你。
- 具有唯讀角色的成員(檢視者或訪客):機械人不會代你展開工作。
步驟 6:讓代理接手某件事
標題為「步驟 6:讓代理接手某件事」的章節-
在 Slack 中,把機械人邀請到某個頻道:
/invite @control-center -
以一個真實的請求提及它:
@control-center 總結 api 程式庫上開啟中的 PR
橋接會:
- 為該 Slack 討論串建立一個 Control Center 空間,並以 Slack 頻道與你的請求命名
- 喚醒工作區的入口代理(有 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 整合涵蓋手動路徑、輪換權杖與疑難排解。若想了解背後的模型,請閱讀聊天橋接。