跳至內容

將 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 可以代你建立,並在日後編輯該應用程式。

  1. 開啟 api.slack.com/apps
  2. 捲到頁面底部的應用程式設定權杖區段
  3. 為你的 Slack 工作區產生一組權杖對
  4. 複製更新權杖——它以 xoxe- 開頭

步驟 2:讓 Control Center 建立應用程式

標題為「步驟 2:讓 Control Center 建立應用程式」的章節
  1. 在 Control Center 中,前往設定 → 工作區 → 一般,找到聊天橋接卡片
  2. 在 Slack 區塊上,按一下為我建立應用程式
  3. 貼上應用程式設定權杖
  4. 檢視機械人將會呈現的樣貌:
    • 應用程式名稱:Slack 列出該應用程式時顯示的名稱,例如 Control Center · Acme
    • 機械人名稱:人們在 @ 後輸入的內容,例如 control-center
    • 簡短描述與機械人自述的能力
    • 斜線指令:預設為 cc,因此指令是 /cc
    • 私訊:保持開啟,讓成員可以私訊機械人
  5. 按一下建立應用程式

Control Center 會組合出完整的應用程式定義——開啟 Socket Mode、機械人所需的權限範圍與事件訂閱、斜線指令、Messages 分頁——然後在 Slack 中建立它。

步驟 3:完成只有 Slack 才能完成的兩個步驟

標題為「步驟 3:完成只有 Slack 才能完成的兩個步驟」的章節

Slack 沒有 API 可以產生應用程式層級權杖或安裝應用程式,因此對話框會以連結形式把這兩件事交給你:

  1. 產生應用程式層級權杖——開啟 Basic Information → App-Level Tokens。建立一個具有 connections:write 權限範圍的權杖並複製它。它以 xapp- 開頭
  2. 安裝應用程式——開啟 Install App。安裝到你的工作區,然後複製 Bot User OAuth Token。它以 xoxb- 開頭

請保留這兩個值,下一步會用到。

  1. 回到對話框,按一下貼上憑證
  2. 輸入機械人權杖(xoxb-…)與應用程式層級權杖(xapp-…)
  3. 把應用程式設定權杖留空——步驟 1 取得的那個已經儲存好(Slack 輪換了它,Control Center 已儲存新的那個)
  4. 按一下連接

Control Center 會先向 Slack 驗證機械人權杖,之後才儲存任何內容,然後開啟通訊端。該列現在會顯示機械人的名稱與你的 Slack 工作區名稱,並附上已連接標籤。

連接讓機械人能夠被觸達;連結則讓_你_能夠被辨識。在你的 Slack 身分連結之前,機械人不會對你的訊息採取行動——它從不把訊息歸屬於安裝應用程式的那個人。

連結屬於個人,因此它與涵蓋整個工作區的連接位於不同頁面。

  1. 前往設定 → 工作區 → 個人資料與身分,找到已連結的聊天帳戶卡片
  2. 按一下連結我的 Slack 帳戶
  3. 複製它顯示的指令,例如 /cc link K7M2QP
  4. 在 Slack 中,以私訊把該指令傳送給機械人
  5. 機械人會回答「已連結——你是……」

該代碼只能使用一次,並在 15 分鐘後過期。如果你的 Slack 電郵符合某位已是本工作區成員的 Control Center 使用者,橋接會在你第一次與它對話時自動把你連結起來,你可以略過這一步。

若你在完成這一步之前提及機械人,它會拒絕並說明原因。這三種拒絕各不相同,請看清你遇到的是哪一種:

  • 未連結的傳送者:機械人會告訴你如何連結。請回到這一步。
  • 已連結,但不是本工作區的成員:請要求管理員邀請你。
  • 具有唯讀角色的成員(檢視者或訪客):機械人不會代你展開工作。
  1. 在 Slack 中,把機械人邀請到某個頻道:/invite @control-center

  2. 以一個真實的請求提及它:

    @control-center 總結 api 程式庫上開啟中的 PR

橋接會:

  1. 為該 Slack 討論串建立一個 Control Center 空間,並以 Slack 頻道與你的請求命名
  2. 喚醒工作區的入口代理(有 CEO 代理時就是它,否則就是第一個代理)
  3. 隨着代理寫出答案,把它串流回該 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 整合涵蓋手動路徑、輪換權杖與疑難排解。若想了解背後的模型,請閱讀聊天橋接。