repartee

Nowoczesny terminalowy klient IRC zbudowany w oparciu o Ratatui, Tokio i Rust. Inspirowany irssi, zaprojektowany z myślą o przyszłości.

Note: Repartee 2.2.1 jest już dostępne. Najnowsze wydania dodają pierwszoklasową obsługę bouncerów Soju i Lurker, wspólny panel ustawień /wizard w TUI i webie, własne skróty klawiszowe /bind, tryb zaznaczania tekstu /bare, podgląd obrazków inline pod wiadomościami, trwałe ustawienia skryptów Lua oraz tłumaczenie AI na żywo dla języka włoskiego i fińskiego.

Demo

Repartee Demo

TUI (po lewej) | Mobilny web (na środku) | Desktopowy web (po prawej) -- pełna synchronizacja stanu 1:1 między wszystkimi interfejsami.

Funkcje

  • Pierwszoklasowa obsługa bouncerów -- Natywna integracja z Soju i Lurker: połączenia sterujące (soju.im/bouncer-networks), jawne bindowanie sieci (BOUNCER BIND), wykrywanie rozmów CHATHISTORY TARGETS, synchronizacja znaczników przeczytania (MARKREAD), /bouncer, /bsearch, /bmeta, /bcert, /auth, /account, /upload (FILEHOST), WebPush i SASL OAUTHBEARER.
  • Tłumaczenie AI na żywo -- Tłumacz ruch przychodzący i wychodzący niezależnie dla każdego kanału lub query w 8 językach. Kolejki zachowują kolejność, dane techniczne są maskowane, odpowiedzi przechodzą kontrolę jakości, nieudane tłumaczenie wychodzące nie zostaje wysłane, a kanały skonfigurujesz w kreatorze /wizard.
  • Pełna obsługa protokołu IRC -- Kanały, query, CTCP, TLS, tryby kanałów, listy banów, tematyzowany WHOIS, śledzenie nicków MONITOR, usuwanie wiadomości (/redact) oraz SASL (OAUTHBEARER, SCRAM-SHA-1/256/512, ECDSA-NIST256P-CHALLENGE, EXTERNAL, PLAIN).
  • Nawigacja w stylu irssi i własne skróty klawiszowe -- Przełączanie okien Alt+1–9, skok do aktywności Alt+A, własne sekwencje klawiszy i nawigacja po highlightach przez /bind, tryb zaznaczania /bare (Alt+L) oraz interaktywny panel ustawień /wizard.
  • Obsługa myszy -- Klikanie buforów i nicków, przeciąganie do zmiany rozmiaru paneli bocznych. Klient terminalowy, nowoczesna interakcja.
  • Wykrywanie netsplitów -- Grupowanie zalewów join/part w pojedyncze zdarzenia, żeby backlog pozostał czytelny.
  • Ochrona przed floodem -- Automatyczne blokowanie spamu CTCP i zalewów zmian nicków z botnetów oraz respektowanie limitów wysyłania SAFERATE dostawcy.
  • Trwałe logowanie i historia serwera -- SQLite z opcjonalnym szyfrowaniem AES-256-GCM i wyszukiwaniem pełnotekstowym FTS5 dla bezpośrednich połączeń IRC i DCC, oraz stronicowanie CHATHISTORY i wyszukiwanie /bsearch po stronie bouncera.
  • Kolorowanie nicków -- Deterministyczne kolory per nick (w stylu WeeChat). Koło barw HSL dla truecolor, z fallbackiem na 256 i 16 kolorów. Automatyczne wykrywanie możliwości terminala, konfigurowalne nasycenie/jasność.
  • Motywy -- Ciągi formatujące kompatybilne z irssi z obsługą kolorów 24-bitowych, własnymi abstrakcjami i konfigurowalnym obramowaniem paska statusu (statusbar.border).
  • Skrypty Lua -- Skrypty Lua 5.4 z magistralą zdarzeń (irc.ison, surowe zdarzenia IRC, hooki UI), własnymi poleceniami, trwałymi ustawieniami skryptów ([scripts.values]), dołączonym keepnick.lua i pełnym dostępem do IRC/stanu.
  • Sprawdzanie pisowni -- Wielojęzyczne sprawdzanie pisowni inline ze słownikami Hunspell i słownikiem komputerowym/IT o 7400 słowach. Tryby zamiany i podświetlania, Tab przełącza sugestie.
  • Możliwości IRCv3 -- Pełny zestaw IRCv3: server-time, echo-message, labeled-response, away-notify, account-tag, batch, draft/chathistory, draft/read-marker, draft/message-redaction, draft/account-registration, draft/metadata-2, extended-monitor, setname, +typing i więcej.
  • Rozszerzone bany -- Śledzenie kont WHOX i obsługa extbanów -- banowanie po nazwie konta za pomocą /ban -a accountname.
  • Podgląd obrazków -- Podgląd w oknie oraz miniaturki bezpośrednio pod wiadomościami (image_preview.inline) renderowane przez protokoły Kitty, iTerm2, Sixel lub Halfblocks.
  • Frontend webowy -- Wbudowany interfejs webowy HTTPS z obsługą mobilną, wspólnym panelem ustawień /wizard, powiadomieniami WebPush z bouncera i dwukierunkową synchronizacją w czasie rzeczywistym z terminalem.
  • DCC CHAT -- Bezpośrednia komunikacja klient-klient z połączeniami aktywnymi i pasywnymi (odwróconymi), maskami automatycznej akceptacji i śledzeniem nicków.
  • Wbudowana powłoka -- Pełny terminal PTY wewnątrz Repartee -- uruchamiaj vim, btop, irssi lub dowolne polecenie bez opuszczania klienta. Dostępny w TUI i web (renderer beamterm 1.0 WebGL2 z Nerd Font, zaznaczanie myszą, zmiana rozmiaru czcionki).
  • Odłączanie i ponowne dołączanie -- Odłącz się od terminala i dołącz później -- połączenia IRC pozostają aktywne. Jak tmux, wbudowane.
  • Pojedyncza binarka -- Kompiluje się do samodzielnego pliku wykonywalnego ~24MB z dołączonym frontendem webowym WASM. Zero zależności uruchomieniowych.
  • Napisany w Rust -- Bezpieczeństwo pamięci, abstrakcje bez kosztu, bezpieczna współbieżność. Zbudowany na asynchronicznym środowisku uruchomieniowym tokio i pokryty 3 043 testami.

Szybka instalacja

cargo install --locked repartee
repartee

To wszystko. Żadnych kroków budowania, żadnej wymaganej konfiguracji. Połącz się z serwerem za pomocą /server add i możesz rozmawiać.

Nowy użytkownik repartee? Zacznij od przewodnika instalacji.