papr
A fast, native RSS reader — and a CLI your AI agent can actually drive. Papr is two front-ends over one local database: A desktop reader — fast, native, offline-first. No account, no cloud.
A terminal workbench in pure Rust: shells, persistent sessions, SSH, coding agents. GPU-rendered on Zed's gpui, VT core from Alacritty.
$ npx -y skills add l0ng-ai/tty7 --agent claude-code
Run the curl in your terminal, the rest in Claude Code.
What's inside
A terminal workbench: persistent sessions, remote work, agents.
Pure Rust · GPU rendering on Zed's gpui · VT core from Alacritty
English · 简体中文
Native builds for each platform on Releases:
| macOS | …-macos-arm64.dmg · …-x86_64.dmg | drag into Applications |
| Windows | …-setup.exe · portable ….zip | |
| Linux | …-x86_64.AppImage | chmod +x and run — X11/Wayland libraries bundled |
| Editor-grade input | ghost suggestions from history · explained tab completion · syntax highlighting · multi-line editing · click places the caret · ⌃ R fuzzy history |
| Window | tabs & splits · ⌘ P palette · ⌘ F scrollback search · nine themes · IME |
| Agent-aware | per-pane detection (18 CLIs): status dot · notifications · branch + diff · resume after reboot · tray icon when input is needed |
| Remote workspaces | remote files, repos, changes, diffs, worktrees, tabs, and panes · reconnect from any client and continue where you left off |
| CLI + Skills | bundled tty7 CLI · agent skill · pane/workspace control · real PTY commands · output, process, port, and agent status |
| SSH | native russh stack: profiles with keychain secrets · SFTP panel · port forwarding · jump hosts · one-time, unprivileged tty7-server install |
Terminal and keybinding reference: docs/features.md. The agent-facing CLI interface is documented in skills/tty7/SKILL.md.
Install the skill with:
npx skills add l0ng-ai/tty7
Same machine, same day, same 155×40 grid — Apple M1 Pro, macOS 26.3.1, five-run averages (2026-07-04):
| tty7 | Alacritty | Ghostty | Kitty | |
|---|---|---|---|---|
Plaintext I/O — 11 MB cat (lower = better) | 95 ms | 239 ms | 179 ms | 185 ms |
| DOOM-fire frame rate (higher = better) | 888 fps | 485 fps | 552 fps | 617 fps |
| Cold-launch memory | 116 MB¹ | 105 MB | 128 MB | 130 MB |
¹ GUI 105 MB + the persistent server 11 MB.
Methodology and one-command reproduction: scripts/bench/.
Built on gpui and alacritty_terminal · Apache-2.0 · Discord · Changelog
.cargo/
config.toml
.gitattributes
.github/
dependabot.yml
ISSUE_TEMPLATE/
config.yml
issue.yml
scripts/
assert-static.sh
bundle-appimage.sh
bundle-linux.sh
bundle-macos.sh
bundle-windows.ps1
check-host-boundary.sh
stamp-version.sh
verify-windows-package.ps1
windows-installer.iss
workflows/
ci.yml
nightly.yml
release.yml
.gitignore
assets/
app-icon.png
app-icon.svg
completions/
ansible.json
apt.json
bat.json
brew.json
bun.json
bundle.json
cargo.json
cmake.json
code.json
composer.json
conda.json
curl.json
dart.json
deno.json
docker-compose.json
docker.json
doctl.json
dotnet.json
emacs.json
esbuild.json
eslint.json
fd.json
flutter.json
flyctl.json
fzf.json
gem.json
gh.json
git.json
go.json
gradle.json
helm.json
htop.json
jest.json
jq.json
k9s.json
kind.json
kubectl.json
kubectx.json
kubens.json
make.json
minikube.json
mongosh.json
mvn.json
mysql.json
netlify.json
next.json
ng.json
node.json
npm.json
nvim.json
nx.json
php.json
pip.json
pip3.json
pipx.json
playwright.json
pnpm.json
podman.json
poetry.json
prettier.json
psql.json
pulumi.json
pytest.json
python.json
python3.json
rails.json
railway.json
rake.json
rg.json
rsync.json
ruby.json
ruff.json
rustc.json
rustup.json
scp.json
sed.json
sftp.json
sqlite3.json
ssh.json
sudo.json
supabase.json
systemctl.json
tar.json
terraform.json
tmux.json
tree.json
tsc.json
turbo.json
uv.json
vercel.json
vim.json
vite.json
vue.json
webpack.json
wget.json
wrangler.json
yarn.json
favicon.ico
fonts/
hack/
Hack-Bold.ttf
Hack-BoldItalic.ttf
Hack-Italic.ttf
Hack-Regular.ttf
LICENSE.md
icons/
agents/
amp.svg
claude.svg
codex.svg
copilot.svg
cursor.svg
droid.svg
gemini.svg
goose.svg
grok.svg
omp.svg
opencode.svg
pi.svg
chevrons-up-down.svg
circle-info.svg
copy.svg
ellipsis.svg
eye.svg
file.svg
folder-closed.svg
folder-open.svg
folder.svg
git-branch.svg
info.svg
machine-local.svg
machine-remote.svg
panel-left.svg
panel-right.svg
plus.svg
refresh.svg
search.svg
terminal.svg
logo.png
logo.svg
logo@256.png
social-preview.png
tray.svg
tty7.icns
windows/
conpty/
LICENSE.txt
README.md
x64/
conpty.dll
OpenConsole.exe
build.rs
Cargo.lock
Cargo.toml
CHANGELOG.md
crates/
tty7-cli/
Cargo.toml
src/
address.rs
backend/
backend.rs
real.rs
cli.rs
commands.rs
gui.rs
main.rs
output.rs
resolve.rs
screen.rs
server.rs
stdio.rs
testbed.rs
tests/
cli_e2e.rs
tty7-core/
Cargo.toml
src/
client/
control.rs
mod.rs
pane.rs
core/
agent_hooks.rs
cli_agent.rs
codename.rs
config.rs
crash.rs
git.rs
gitignore.rs
keychain.rs
kitty_graphics.rs
logfile.rs
machine.rs
mod.rs
osc.rs
proc.rs
session.rs
shells.rs
ssh_profile.rs
tab_view.rs
threads.rs
window_state.rs
worktree.rs
daemon/
control.rs
duplex.rs
install/
asset.rs
checksums.rs
download.rs
mod.rs
proxy.rs
ssh_ops.rs
tests.rs
wsl.rs
mod.rs
pane.rs
pidfile.rs
procinfo.rs
protocol.rs
remote_link.rs
remote.rs
router.rs
server.rs
shell_integration.rs
singleton.rs
spawn/
spawn.rs
windows.rs
ssh/
auth.rs
broker.rs
connect.rs
forward.rs
handler.rs
known_hosts.rs
mod.rs
session.rs
sftp.rs
workspace.rs
transport.rs
update_guard.rs
windows_env.rs
winproc.rs
host/
conformance.rs
local.rs
mod.rs
remote.rs
server.rs
lib.rs
tty7-server/
Cargo.toml
src/
main.rs
tests/
cli.rs
client_lib.rs
machine_tree.rs
pane_send_input.rs
remote_router.rs
routed_pane.rs
stdio_conformance.rs
docs/
features.md
features.zh-CN.md
LICENSE
README.md
README.zh-CN.md
scripts/
bench/
doom-fire-fps.patch
fire.sh
io.sh
mem.sh
README.md
run_one.sh
setup.sh
fig-convert/
.gitignore
convert.mjs
README.md
skills/
tty7/
references/
commands.md
SKILL.md
src/
bin/
tty7-updater.rs
core/
actions.rs
agent_prompt.rs
aumid.rs
cli_install.rs
config.rs
explorer_context_menu.rs
keychain.rs
mod.rs
session.rs
ssh_config.rs
update.rs
window_state.rs
daemon.rs
main.rs
terminal/
boxdraw.rs
cmd_editor.rs
completion.rs
element.rs
fps.rs
fuzzy.rs
generator.rs
git_diff.rs
git_status.rs
highlight.rs
history.rs
hold.rs
images.rs
input.rs
loopback.rs
mod.rs
palette.rs
pane_liveness.rs
parked_cursor.rs
remote.rs
reverse_search.rs
search.rs
signature.rs
size.rs
smart_select.rs
typeahead.rs
view.rs
ui/
app.rs
assets.rs
code_editor.rs
diff_overlay.rs
file_tree.rs
forwards.rs
hints.rs
home.rs
host_ops.rs
host_registry.rs
i18n/
en.rs
ja.rs
mod.rs
zh.rs
keymap.rs
local_link.rs
machine_mirror.rs
mod.rs
palette.rs
pane_drag.rs
pane.rs
pending_pane.rs
perf.rs
prefill.rs
presets.rs
remote_connect.rs
remote_workspace.rs
reorder.rs
right_panel.rs
rounding.rs
scrollbar.rs
settings.rs
sftp.rs
ssh_connect.rs
ssh_prompt.rs
switcher.rs
tab_sidebar.rs
... 10 moreA fast, native RSS reader — and a CLI your AI agent can actually drive. Papr is two front-ends over one local database: A desktop reader — fast, native, offline-first. No account, no cloud.
FAQ
tty7 is a Claude Code plugin with 1 hand-picked skill for development work, indexed on Flowy. Install it with the command on its page. It includes tty7. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.