Sediakan integrasi Slack
Panduan ini menunjukkan cara menyambungkan Slack ke ruang kerja Control Center, sama ada dengan membenarkan Control Center mencipta apl itu atau dengan membinanya sendiri.
Untuk permulaan pertama yang berpandukan, lihat Jambatkan Slack ke ruang kerja anda.
Prasyarat
Bahagian bertajuk “Prasyarat”- Peranan
owneratauadmindalam ruang kerja Control Center — menyambungkan apl sembang ialah perubahan tetapan ruang kerja - Kebenaran untuk mencipta dan memasang apl dalam ruang kerja Slack
- Tiada apa-apa yang boleh dicapai secara awam: sambungan ini keluar (Socket Mode), jadi pelayan tidak memerlukan port masuk, terowong atau domain
Tiga cara untuk mendapatkan apl
Bahagian bertajuk “Tiga cara untuk mendapatkan apl”| Laluan | Anda sediakan | Control Center lakukan |
|---|---|---|
| Berpandukan | Token konfigurasi apl (xoxe-…) |
Mencipta apl dengan skop, peristiwa, Socket Mode dan perintah slash yang betul; menyerahkan kepada anda dua langkah yang tiada API pada Slack |
| Cipta dalam Slack | Tiada apa-apa | Membuka Slack dengan konfigurasi yang sama telah diisi; anda pilih ruang kerja dan sahkan |
| Secara manual | Token apl yang sudah siap | Mengesahkannya dan menyambung |
Laluan berpandukan ialah satu-satunya laluan yang juga membolehkan apl itu diurus dari Control Center, dan itulah yang membolehkan Sesuaikan bot sembang. Apl Cipta dalam Slack boleh dinaikkan taraf menjadi apl terurus kemudian dengan menampal token konfigurasi dalam dialog sambungan.
Tiada butang “pasang apl Slack Control Center” secara sengaja. Memasang apl Slack teragih memerlukan rahsia klien yang dikongsi (Slack tiada PKCE) dan Socket Mode mengagihkan peristiwa sesuatu apl secara rawak merentas sambungannya — jadi satu apl yang dikongsi akan menghantar mesej ruang kerja anda kepada pelayan orang lain. Oleh itu setiap ruang kerja memiliki aplnya sendiri dan tiga laluan ini adalah tentang betapa sedikit kerja yang diperlukan daripada anda.
Pilihan A: biarkan Control Center mencipta apl
Bahagian bertajuk “Pilihan A: biarkan Control Center mencipta apl”- Jana pasangan token konfigurasi apl di api.slack.com/apps dan salin token muat semula (
xoxe-…) - Dalam Control Center, pergi ke Tetapan → Ruang kerja → Umum dan tatal ke kad Jambatan sembang
- Pada blok Slack, klik Cipta apl untuk saya
- Tampal token itu, laraskan nama apl, nama bot, perihalan dan perintah slash, kemudian klik Cipta apl
- Ikut dua langkah yang tinggal yang ditunjukkan oleh dialog, setiap satu sebagai pautan ke Slack:
- Basic Information → App-Level Tokens: jana token dengan skop
connections:write(xapp-…) - Install App: pasang ke ruang kerja dan salin Bot User OAuth Token (
xoxb-…)
- Basic Information → App-Level Tokens: jana token dengan skop
- Klik Tampal kelayakan dan teruskan dengan Sambung
Token konfigurasi diputarkan pada setiap penggunaan. Control Center menyimpan nilai yang diputarkan itu semasa ia berjalan, jadi anda tidak perlu menampalnya lagi.
Pilihan B: cipta dalam Slack, telah diisi
Bahagian bertajuk “Pilihan B: cipta dalam Slack, telah diisi”Apl yang sama, tanpa token konfigurasi — Slack menyerahkan skrin ciptaannya sendiri dengan keseluruhan manifes sudah diisi.
- Dalam Control Center, pergi ke Tetapan → Ruang kerja → Umum dan tatal ke kad Jambatan sembang
- Pada blok Slack, klik Cipta apl untuk saya
- Laraskan nama apl, nama bot, perihalan dan perintah slash — semuanya ikut bersama pautan itu
- Klik Cipta dalam Slack. Penyemak imbas anda membuka halaman penciptaan apl Slack dengan konfigurasi telah diisi
- Pilih ruang kerja Slack dan sahkan. Skop, peristiwa, Socket Mode dan perintah slash sudah betul
- Kembali dalam Control Center, ikut dua langkah yang tinggal yang ditunjukkan oleh dialog:
- Basic Information → App-Level Tokens: jana token dengan skop
connections:write(xapp-…) - Install App: pasang ke ruang kerja dan salin Bot User OAuth Token (
xoxb-…)
- Basic Information → App-Level Tokens: jana token dengan skop
- Klik Tampal kelayakan dan teruskan dengan Sambung
Slack tidak melaporkan apl mana yang diciptanya, jadi Control Center tidak mengetahui id apl itu dan pautan dalam langkah 6 menuju ke senarai apl anda dan bukan terus ke apl tersebut. Sesuaikan bot memerlukan token konfigurasi.
Pilihan C: bina apl sendiri
Bahagian bertajuk “Pilihan C: bina apl sendiri”Cipta apl di api.slack.com/apps, kemudian sediakannya seperti berikut.
Socket Mode: dayakannya dan biarkan setiap URL permintaan kosong. Slack menolak manifes yang meminta kedua-dua Socket Mode dan penghantaran webhook.
Skop token bot (OAuth & Permissions):
app_mentions:readassistant:writechannels:historychat:writecommandsgroups:historyim:historyusers:readusers:read.emailLangganan peristiwa (peristiwa bot):
app_home_openedapp_mentionmessage.channelsmessage.groupsmessage.immessage.channels dan message.groups itulah yang membolehkan balasan dalam utas Slack yang sudah dijambatkan berfungsi. Tanpanya, hanya sebutan pertama sahaja yang tiba.
Perintah slash: /cc (apa-apa nama pun boleh — jambatan menggunakan apa-apa perintah yang terakhir digunakan untuk memanggilnya).
App Home: dayakan tab Messages dan biarkan ia boleh ditulis, supaya ahli boleh menghantar DM kepada bot.
Token: jana token peringkat apl dengan connections:write, kemudian pasang apl dan salin token OAuth pengguna bot.
Sambung
Bahagian bertajuk “Sambung”- Pergi ke Tetapan → Ruang kerja → Umum dan tatal ke kad Jambatan sembang
- Pada blok Slack, klik Sambung Slack
- Isikan medan-medan berikut:
| Medan | Nilai | Tempatnya dalam Slack |
|---|---|---|
| Token OAuth pengguna bot | xoxb-… |
OAuth & Permissions → Bot User OAuth Token |
| Token peringkat apl | xapp-… |
Basic Information → App-Level Tokens (connections:write) |
| Token muat semula konfigurasi apl (pilihan) | xoxe-… |
Pasangan token konfigurasi apl di api.slack.com/apps |
Awalan setiap nilai disemak pada kedua-dua pihak sebelum apa-apa dihantar, jadi nilai yang ditampal ke dalam kotak yang salah ditolak dengan ayat yang sama sama ada.
- Klik Sambung
Control Center mengesahkan token bot dengan auth.test Slack sebelum menyimpan apa-apa, jadi salah taip dilaporkan kepada anda dan bukan menjadi soket yang diam-diam tidak pernah berfungsi. Token peringkat apl hanya dapat dibuktikan dengan membuka soket, jadi token yang buruk muncul seketika kemudian sebagai ralat sambungan pada baris yang sama.
Tanpa token konfigurasi apl yang pilihan, sambungan itu berfungsi dengan baik — anda hanya tidak boleh menyunting bot dari Control Center.
Apa yang berlaku apabila menyambung
Bahagian bertajuk “Apa yang berlaku apabila menyambung”- Menyimpan kelayakan dalam direktori ruang kerja itu sendiri, di sebelah pangkalan datanya, boleh dibaca oleh pemilik sahaja. Ia tidak pernah kembali kepada klien
- Membuka satu sambungan Socket Mode untuk ruang kerja ini dan mula menerima sebutan, balasan utas Slack, DM dan perintah slash
- Menyediakan semula setiap utas Slack yang telah dijambatkan sebelum ini, jadi sambungan semula meneruskan perbualan sedia ada dan bukan meninggalkannya tergantung
- Tiada kos untuk ruang kerja yang tiada apl sembang: tiada soket, tiada pemasa, tiada trafik
Baris Slack menunjukkan teg status: Langsung, Menyambung…, Ralat sambungan (dengan ralat Slack sendiri di sebelahnya), atau Tidak disambungkan. Untuk menyemak dari hujung ke hujung:
- Dalam Slack, jemput bot ke saluran:
/invite @your-bot-name - Sebut bot itu dengan sesuatu permintaan
- Balasan utas Slack muncul dan ruang yang sepadan muncul dalam Control Center
Setiap ahli yang ingin menggunakan jambatan ini kemudian memautkan akaunnya sendiri — lihat Pautkan akaun Slack anda.
Rupa balasan dalam Slack
Bahagian bertajuk “Rupa balasan dalam Slack”Di atas perkataan yang distrim terletak satu kad berkumpulan dengan satu baris bagi setiap langkah. Persediaan ialah satu baris yang tajuknya berubah daripada Working on it… kepada Cloning … kepada Starting the agent…. Penaakulan menambah baris Thinking…; apabila langkah itu selesai, satu pemikiran pendek boleh muncul padanya. Setiap alat mempunyai barisnya sendiri (Read lib/main.dart). Jawapan tiba sebagai teks biasa di bawah kad. Kad menjadi lengkap apabila giliran selesai dan menjadi ralat apabila larian gagal, terganggu, atau mencapai had gilirannya.
Kad bermula sebaik sahaja bot menerima sebutan itu — Working on it… — jadi utas Slack tidak senyap semasa ruang kerja masih dibina. Sebutan pertama anda dalam saluran Slack mencipta perbualan itu, yang mengklon repositori tempat ejen bekerja, jadi baris persediaan itu kemudian berbunyi Cloning acme/widgets…, kemudian Setting up Reviewer…, kemudian Starting the agent…, kemudian baris Thinking… sebaik sahaja ejen benar-benar menaakul. Pada repositori besar, persediaan pertama itu mengambil masa; kad itulah cara anda tahu ia sedang berfungsi dan bukan mengabaikan anda. Sebutan kemudian dalam utas Slack yang sama tetap dibuka dengan Working on it…, kemudian melangkau langkah klon kerana ruang kerja sudah wujud.
Penaakulan sebagai dinding teks dan output alat tidak pernah meninggalkan Control Center — pemikiran pada baris Thinking… ialah satu baris pendek, bukan transkrip. View in Control Center pada kad membuka perbualan penuh dalam apl desktop — pautan itu menuju ke pelayan Control Center anda sendiri, yang menyerahkan penyemak imbas kepada apl tersebut.
Jika tiada apa-apa berlaku apabila anda mengkliknya, pelayan yang menghantar mesej itu tidak dapat dicapai dari mesin yang anda klik (contohnya pelayan loopback sahaja yang diklik dari telefon), atau Control Center tidak berjalan di situ. Pelayan yang tiada alamat boleh dicapai menghantar kad tanpa butang dan bukannya butang yang menuju ke tempat kosong.
Putarkan token
Bahagian bertajuk “Putarkan token”Tampal semula nilai baharu dalam dialog sambungan dan klik Sambung. Menyambung menggantikan apa-apa sambungan yang sedang berjalan untuk ruang kerja ini, jadi soket didail semula dengan kelayakan baharu.
Dua token yang diperlukan mesti ada pada setiap sambungan. Token konfigurasi apl yang pilihan mengekalkan nilai tersimpannya apabila anda membiarkan kotak itu kosong, jadi memutarkan token bot tidak pernah menghilangkan keupayaan anda untuk menyunting apl.
Putuskan
Bahagian bertajuk “Putuskan”Klik Putuskan pada baris Slack (pentadbir sahaja). Soket ditutup dan kelayakan dilupakan.
Pautan ruang dan pengguna sengaja dikekalkan: menyambung semula apl yang sama memulihkan setiap utas Slack yang dijambatkan. Ia baris berskop ruang kerja, jadi memadam ruang kerja tetap membuangnya.
Penyelesaian masalah
Bahagian bertajuk “Penyelesaian masalah”Baris itu menyatakan “Ralat sambungan”
Bahagian bertajuk “Baris itu menyatakan “Ralat sambungan””Baca ralat yang dipaparkan di sebelah teg itu. Kelayakan yang ditolak (invalid_auth, not_authed, token_revoked, account_inactive) bersifat muktamad — jambatan berhenti mencuba semula dan menunggu token baharu, kerana mencuba semula token yang telah dibatalkan selama-lamanya hanya mengenakan had kadar kepada anda. Tampal semula token itu dalam dialog sambungan.
Ralat missing_scope bermakna apl dipasang dengan lebih sedikit skop daripada yang diperlukan oleh jambatan. Tambah skop yang hilang, pasang semula apl dalam Slack, kemudian sambung semula.
Apa-apa yang bersifat sementara (soket terputus, gangguan kecil Slack) akan bersambung semula dengan sendirinya menggunakan backoff eksponen yang dihadkan pada 30 saat dan putaran soket rutin Slack tidak meningkatkan backoff itu.
Bot tidak menjawab sebutan
Bahagian bertajuk “Bot tidak menjawab sebutan”- Adakah bot berada dalam saluran itu? Slack hanya menghantar mesej saluran kepada apl yang menjadi ahli. Jalankan
/invite @your-bot-name - Adakah anda telah dipautkan? Ahli yang belum dipautkan menerima balasan dalam utas Slack itu yang menerangkan cara memautkan. Lihat Pautkan akaun Slack anda
- Adakah anda ahli ruang kerja dengan peranan menulis?
vieweratauguestdiberitahu bahawa peranannya baca sahaja. Jambatan tidak pernah memulakan kerja bagi pihak seseorang yang tidak dapat diatributkannya - Adakah ruang kerja itu mempunyai ejen? Tanpa ejen, mesej itu disimpan tetapi tiada sesiapa untuk menjawabnya
Ia menjawab dalam saluran tetapi mengabaikan mesej biasa
Bahagian bertajuk “Ia menjawab dalam saluran tetapi mengabaikan mesej biasa”Itu memang disengajakan. Di luar DM, jambatan hanya bertindak ke atas mesej yang menyebut bot, atau balasan dalam utas Slack yang sudah dimilikinya. Selebihnya ialah perbualan orang lain.
Balasan tiba sebagai satu mesej besar dan bukannya distrim
Bahagian bertajuk “Balasan tiba sebagai satu mesej besar dan bukannya distrim”Baris itu menyatakan “Penstriman langsung dimatikan untuk apl Slack ini — balasan tiba sebagai satu mesej.” Balasan strim Slack memerlukan ciri Agents & AI Apps pada pelan berbayar; apabila Slack menolaknya, jambatan berhenti memintanya sepanjang hayat sambungan itu dan menyiarkan balasan penuh sebaliknya. Tiada apa yang hilang — transkrip penuh sentiasa ada dalam Control Center.
Penstriman juga memerlukan penambat utas Slack, jadi balasan yang tiada utas Slack untuk berkembang di dalamnya disiarkan sepenuhnya. Kad tugasan tetap tiba sama ada: pada balasan penuh ia menaiki mesej yang sama, sudah lengkap.
Balasan tiada kad di atasnya
Bahagian bertajuk “Balasan tiada kad di atasnya”Kad tugasan Slack ialah sebahagian daripada permukaan Agents & AI Apps baharu yang sama seperti penstriman dan Slack hanya menolaknya pada masa panggilan. Apabila ia berbuat demikian, Control Center mengekalkan balasan dan menggugurkan kad itu sepanjang hayat sambungan tersebut — jawapan tanpa baris status lebih baik daripada baris status tanpa jawapan.
“Control Center memerlukan token konfigurasi apl untuk menyunting bot”
Bahagian bertajuk ““Control Center memerlukan token konfigurasi apl untuk menyunting bot””Baris Sesuaikan bot dilumpuhkan kerana sambungan itu tiada token konfigurasi apl. Ini dijangka bagi apl yang dibuat secara manual atau melalui Cipta dalam Slack — Slack tidak pernah memberitahu Control Center apl mana itu. Jana pasangan token di api.slack.com/apps dan sambung semula dengan token muat semula diisi.
Jawapan panjang dipotong
Bahagian bertajuk “Jawapan panjang dipotong”Slack mengehadkan satu mesej pada 40,000 aksara, jadi jambatan memotong pada 39,000 dan menambah penunjuk ke Control Center — balasan yang dipendekkan lebih baik daripada balasan yang ditolak terus oleh Slack. Teks penuh sentiasa ada dalam transkrip ruang.