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
Features
- First-Class Bouncer Support -- Native Soju and Lurker integration: bouncer control connections (
soju.im/bouncer-networks), explicit network binding (BOUNCER BIND),CHATHISTORY TARGETSdiscovery, read-marker sync (MARKREAD),/bouncer,/bsearch,/bmeta,/bcert,/auth,/account,/upload(FILEHOST), WebPush, and SASLOAUTHBEARER. - 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,
MONITORnick 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–9window switching,Alt+Aunread activity jump,/bindcustom key sequences and highlight navigation,/bare(Alt+L) plain-text selection mode, and/wizardinteractive 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
SAFERATEoutbound 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
CHATHISTORYpaging and/bsearchfor 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]), bundledkeepnick.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
/wizardsettings 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.
