repartee

A modern terminal IRC client built with Ratatui, Tokio, and Rust. Inspired by irssi, designed for the future.

Note: Repartee 2.2.1 is available. Recent releases add first-class Soju and Lurker bouncer support, a shared /wizard Settings UI across TUI and web, /bind custom key bindings, /bare plain-text selection mode, inline terminal image previews, persistent Lua script settings, and Italian/Finnish live AI translation.

Demo

Repartee Demo

TUI (left) | Mobile web (center) | Desktop web (right) -- 1:1 state sync across all interfaces.

Features

  • First-Class Bouncer Support -- Native Soju and Lurker integration: bouncer control connections (soju.im/bouncer-networks), explicit network binding (BOUNCER BIND), CHATHISTORY TARGETS discovery, read-marker sync (MARKREAD), /bouncer, /bsearch, /bmeta, /bcert, /auth, /account, /upload (FILEHOST), WebPush, and SASL OAUTHBEARER.
  • Live AI Translation -- Translate incoming and outgoing traffic independently per channel or query across 8 languages. Ordered queues, privacy masking, quality checks, provider fallbacks, fail-closed outgoing delivery, and an interactive channel wizard (/wizard).
  • Full IRC Protocol -- Channels, queries, CTCP, TLS, channel modes, ban lists, themed WHOIS, MONITOR nick watching, message redaction (/redact), and SASL (OAUTHBEARER, SCRAM-SHA-1/256/512, ECDSA-NIST256P-CHALLENGE, EXTERNAL, PLAIN).
  • irssi-style Navigation & Custom Key Bindings -- Alt+1–9 window switching, Alt+A unread activity jump, /bind custom key sequences and highlight navigation, /bare (Alt+L) plain-text selection mode, and /wizard interactive settings UI.
  • Mouse Support -- Click buffers and nicks, drag to resize side panels. Terminal client, modern interaction.
  • Netsplit Detection -- Batches join/part floods into single events so your scrollback stays readable.
  • Flood Protection -- Blocks CTCP spam and nick-change floods from botnets automatically, and honors provider SAFERATE outbound rate limits.
  • Persistent Logging & Server History -- SQLite with optional AES-256-GCM encryption and FTS5 full-text search for direct IRC and DCC logs, plus server-owned CHATHISTORY paging and /bsearch for bouncer connections.
  • Nick Coloring -- Deterministic per-nick colors (WeeChat-style). HSL hue wheel for truecolor, 256-color and 16-color fallbacks. Auto-detected terminal capability, configurable saturation/lightness.
  • Theming -- irssi-compatible format strings with 24-bit color support, custom abstracts, and configurable status borders (statusbar.border).
  • Lua Scripting -- Lua 5.4 scripts with an event bus (irc.ison, raw IRC, UI hooks), custom commands, persistent per-script settings ([scripts.values]), bundled keepnick.lua, and full IRC/state access.
  • Spell Checking -- Multilingual inline spell checking with Hunspell dictionaries and a 7,400-word computing/IT dictionary. Replace and highlight modes, Tab cycles suggestions.
  • IRCv3 Capabilities -- Comprehensive IRCv3 suite: 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, and more.
  • Extended Bans -- WHOX account tracking and extban support -- ban by account name with /ban -a accountname.
  • Image Previews -- Popup and inline chat image thumbnails (image_preview.inline) rendered via Kitty, iTerm2, Sixel, or Halfblocks protocols.
  • Web Frontend -- Built-in HTTPS web UI with mobile support, shared /wizard settings panel, bouncer WebPush notifications, and real-time bidirectional sync with the terminal.
  • DCC CHAT -- Direct client-to-client messaging with active and passive (reverse) connections, auto-accept masks, and nick tracking.
  • Embedded Shell -- Full PTY terminal inside Repartee -- run vim, btop, irssi, or any command without leaving the client. Available in TUI and web (beamterm 1.0 WebGL2 renderer with Nerd Font, mouse selection, font resize).
  • Detach & Reattach -- Detach from your terminal and reattach later -- IRC connections stay alive. Like tmux, built in.
  • Single Binary -- Compiles to a ~24MB standalone executable with WASM web frontend bundled. Zero runtime dependencies.
  • Written in Rust -- Memory-safe, zero-cost abstractions, fearless concurrency. Built on tokio async runtime and backed by 3,043 tests.

Quick Install

cargo install --locked repartee
repartee

That's it. No build steps, no configuration required. Connect to a server with /server add and you're chatting.

New to repartee? Start with the Installation guide.