Slack
Integracja z platformą Slack umożliwia Speedwave wyszukiwanie użytkowników, odczyt historii konwersacji na kanałach publicznych i prywatnych, pobieranie plików oraz wysyłanie wiadomości z poziomu konta zalogowanego użytkownika.
Uwierzytelnianie i separacja poświadczeń
Dział zatytułowany „Uwierzytelnianie i separacja poświadczeń”Integracja wykorzystuje mechanizm autoryzacji OAuth z rozszerzeniem PKCE, obsługiwany lokalnie na Twoim komputerze (hoście). Długoterminowe tokeny odświeżania są zapisywane w pliku ~/.speedwave/oauth/<projekt>/slack.json i nie są montowane do kontenerów. Demon hosta automatycznie odświeża krótkoterminowe tokeny dostępu montowane pod ścieżką /tokens/access_token w trybie tylko do odczytu:
Folder~/.speedwave/
Folderoauth/<projekt>/
- slack.json (Token odświeżania na hoście)
Foldertokens/<projekt>/slack/
- access_token (Montowany do kontenera tylko do odczytu)
sequenceDiagram
participant Uzytkownik
participant Desktop as Aplikacja Desktop
participant Przegladarka
participant Slack
Uzytkownik->>Desktop: Kliknięcie "Sign in with Slack"
Desktop->>Przegladarka: Otwarcie ekranu autoryzacji Slack
Przegladarka->>Slack: Wybór obszaru roboczego i zgoda
Slack->>Przegladarka: Przekierowanie na localhost:41739/callback
Przegladarka->>Desktop: Przekazanie kodu autoryzacyjnego
Desktop->>Slack: Wymiana kodu na tokeny PKCE
Desktop->>Uzytkownik: Komunikat o połączeniu obszaru
Zestawienie narzędzi
Dział zatytułowany „Zestawienie narzędzi”Worker Slack udostępnia 10 operacji:
| Narzędzie | Zakres działania |
|---|---|
getChannelMessages | Pobieranie historii wiadomości z kanału lub DM z paginacją kursorową. |
getThreadMessages | Odczyt pełnego wątku dyskusyjnego w kolejności chronologicznej. |
sendChannel | Publikacja wiadomości na kanale lub w rozmowie prywatnej (wymaga zatwierdzenia). |
listChannelIds | Wykaz kanałów publicznych i prywatnych, do których należy użytkownik. |
listDirectMessages | Lista aktywnych konwersacji bezpośrednich i grupowych (DM). |
openDirectMessage | Inicjowanie konwersacji bezpośredniej z maksymalnie 8 użytkownikami po adresie e-mail lub ID. |
getFileContent | Odczyt tekstowych fragmentów kodu, plików markdown lub JSON ze Slacka (do 1 MB). |
downloadFile | Pobieranie załączników binarnych (PDF, obrazy) do katalogu /workspace/.speedwave/slack/ (do 50 MB). |
getUsers | Wyszukiwanie profilu użytkownika po dokładnym adresie e-mail. |
findUsers | Wyszukiwanie użytkowników w przestrzeni roboczej z tolerancją literówek i znaków diakrytycznych (fuzzy search). |
Metadane użytkowników i kanałów są buforowane lokalnie z godzinnym czasem ważności w celu optymalizacji liczby zapytań do API.
Konfiguracja
Dział zatytułowany „Konfiguracja”- W aplikacji Desktop przejdź do widoku Integracje -> Slack.
- Kliknij Sign in with Slack, aby otworzyć stronę logowania w domyślnej przeglądarce.
- Wybierz docelową przestrzeń roboczą i zaakceptuj wymagane uprawnienia.
- Po nawiązaniu połączenia zrestartuj kontenery, aby worker wczytał poświadczenia.
Bezpieczeństwo
Dział zatytułowany „Bezpieczeństwo”Aplikacja żąda wyłącznie uprawnień użytkownika (user scopes), uniemożliwiając administracyjne zmiany w przestrzeni (tworzenie i archiwizacja kanałów, zapraszanie użytkowników czy zmiana ustawień organizacji). Worker ma dostęp wyłącznie do wątków i kanałów, których członkiem jest zalogowany użytkownik. Szczegóły znajdziesz w rozdziale Zarządzanie poświadczeniami.