Join the Agent Deck Discord Server!
Check out the Agent Deck community on Discord – hang out with 357 other members and enjoy free voice and text chat.
ttyak — a native Slack client for the terminal, in Rust
SocialRust · PythonGitHub @dmytrobspOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗A Slack client for the terminal, written in Rust.
ttyak.sh — the site and the downloads · The wiki — the manual
ttyak does in a terminal what Slack's desktop app does in a window: messages and threads, reactions, search, pictures and video, desktop notifications, and huddles (calls) with audio, cameras and screen sharing. How it differs from the official app:
ttyak was called klack until 0.9 (and slacktui before that); folders of the old names are not read.
What it shows and how to use it: The screen, Keys, Huddles and the rest of the wiki.
Read this first: signing in is not as smooth as in Slack's own app. ttyak is not an official app and not a desktop
app with windows of its own, so it can't take the "open in Slack" (slack://) link that Slack's sign-in ends with, and
it doesn't use Slack's sign-in for apps. It uses a browser session instead (an xoxc-… token plus the d cookie),
which it gets in one of three ways:
d cookie from a browser's developer tools.Workspaces that require SSO or two-factor sign-in can't use the email code (ttyak shows them dim); sign in to those in
your browser (not tried yet with such a workspace). ttyak auth login, or plain ttyak the first time, guides you.
All of it, step by step: Signing in.
Linux and macOS:
curl -fsSL https://ttyak.sh/install.sh | sh
Windows (PowerShell):
irm https://ttyak.sh/install.ps1 | iex
The script puts the latest release in ~/.local/bin (Windows: %LOCALAPPDATA%\Programs\ttyak) and on your PATH,
after checking it against the release's SHA256SUMS. ttyak.exe is not code-signed yet: if SmartScreen warns, More
info → Run anyway. Or with a package manager:
| Package manager | |
|---|---|
| Homebrew (macOS, Linux) | brew install dmytrobsp/ttyak/ttyak |
| Scoop | scoop bucket add ttyak https://github.com/dmytrobsp/scoop-ttyak, then scoop install ttyak |
| Chocolatey | choco install ttyak |
| winget | not listed yet (its first version is waiting for review); then: winget install dmytrobsp.ttyak |
| Debian, Ubuntu · Fedora, RHEL | the release's .deb · .rpm |
| Arch | not in the AUR yet: makepkg -si with the release's recipes zip |
Or unzip a release's zip by hand. Every way, in full: Install.
libasound.so.2, on every desktop Linux): ttyak plays sound and huddle audio through it
and doesn't start without it;ffmpeg / ffprobe (optional): video, cameras and screen sharing (on Wayland, screen sharing goes through
GStreamer with the PipeWire plugin instead);ttyak ctl check tells you what your terminal and system offer. The fonts to install, per system, and the rest:
Requirements.
Each release file has its line in the release's SHA256SUMS and a GitHub attestation:
Verifying downloads.
ttyak tells you when a new version is out, and F6 → Updates shows what to run for the way you installed it (for the install script, an Update now in ttyak itself): Update.
ttyak uninstall for the install script, your package manager's remove otherwise; ttyak purge deletes your ttyak
data: Uninstall.
With a recent stable Rust toolchain, a C/C++ compiler, pkg-config, cmake and (on Linux) the ALSA headers:
cargo build --release
./target/release/ttyak
The packages per system: Building from source. How to work on ttyak (tests, logs, a test workspace): CONTRIBUTING.md. Bugs and ideas go to the issues.
crates/slack-core — sessions and signing in, the Web API client, real-time events, message formattingcrates/huddle — huddles: signaling, WebRTC audio and video, audio devices, cameras and screen capturecrates/ttyak — the program: the terminal UI and the ctl, auth and other commandsvendor/rtc-turn, vendor/crossterm — two patched dependencies (each folder's TTYAK-PATCH.md says why)The whole map: Project layout.
ttyak is licensed under either of the Apache License, Version 2.0 or the
MIT licence, at your option. Unless you say otherwise, any contribution you submit
for inclusion in ttyak is licensed the same way, without any additional terms or conditions.
vendor/rtc-turn is webrtc-rs' code (MIT or Apache-2.0, its licence files are in that folder) and vendor/crossterm
crossterm's (MIT).