Here's a familiar scene: you're debugging a production issue. You SSH in, tail the logs, spot an error. Now you need to upload a patched config file — so you open FileZilla, navigate six folders deep to find the right path. Then you want to ask AI what that cryptic error means — so you copy-paste terminal output into a browser tab. Meanwhile your SSH key passphrase is in yet another tool.
Four windows. One task.
That exact frustration is why I spent the last few months building Sageport — an all-in-one SSH workbench that combines terminal + SFTP + credential manager + AI assistant into a single desktop app. It's built with Tauri 2 and React, fully open source under GPL-3.0, and the binary is under 10MB.
The Pitch
Instead of four tools that don't talk to each other, imagine this:
- Press ⌘ P, type a host name, hit Enter — you're connected
- Press ⌘ J — a dual-pane file browser slides up, one side local, one side remote. Drag files across
- Press ⌘ L — an AI panel opens. It can see your terminal output and propose fixes
- Press ⌘ N — add a new host. Assign it any credential you've already saved. Done
Everything lives in a local SQLite database. No cloud account required. No vendor lock-in. Your data stays on your machine.
What Makes It Different
There are plenty of SSH clients out there. Here's why I built another one:
1. The AI Actually Has Access to Your Terminal
This isn't a chat sidebar copy-pasted into your workflow. Sageport's AI assistant is wired into the app via a tool-calling loop — it can list your open SSH sessions, read what's on screen, and propose commands. The key design choice: every remote command requires your explicit approval before it runs. No YOLO rm -rf from a hallucinating model.
You bring your own API key — Anthropic, OpenAI, or any compatible endpoint (Ollama, OpenRouter, etc.). Conversations are stored locally. No telemetry. We never see your data.
2. Five Sync Backends, All End-to-End Encrypted
Most tools either force you into their cloud (Termius) or don't sync at all. Sageport encrypts everything with Argon2id + AES-256-GCM and lets you pick where the ciphertext lives:
| Provider | Best for |
|---|---|
| GitHub Gist (secret) | Developers — free, no setup if you have GitHub |
| Google Drive | Anyone with a Google account |
| OneDrive | Microsoft ecosystem |
| WebDAV | Self-hosted (Nextcloud, Synology NAS) |
| S3-compatible | Enterprise (AWS, MinIO, Cloudflare R2) |
Only encrypted blobs ever leave your device. The passphrase never touches the network. If you lose your passphrase, the data is gone — and that's the point.
3. Credentials Are First-Class Citizens
In Sageport, credentials (called "identities") are separate from hosts. Create one SSH key, reuse it across 50 servers. The built-in key manager generates Ed25519, RSA, and ECDSA keys, imports existing keys in OpenSSH format, and supports passphrase protection. No more copy-pasting ~/.ssh/id_* files between machines.
4. It's a Real Desktop App, Not a Web View in Disguise
Built on Tauri 2 with a Rust backend. The SSH engine, SFTP handler, and crypto all run natively. The terminal uses xterm.js with GPU-accelerated WebGL rendering — smooth even under heavy output. Compare that to an Electron app eating 500MB of RAM just to hold an SSH session open.
The Stack (For the Curious)
| Layer | Choice |
|---|---|
| Desktop shell | Tauri 2 (Rust) |
| UI | React 19 + TypeScript |
| Styling | Tailwind CSS 4 |
| Terminal | xterm.js 6 + WebGL |
| SSH/SFTP | libssh2 (vendored OpenSSL) |
| Crypto | Argon2id + AES-256-GCM (pure Rust) |
| State | Zustand 5 + TanStack Query 5 |
| Database | SQLite (via SQLx + migrations) |
Everything is typed end-to-end, including the IPC layer between React and Rust — ~60 typed Tauri commands with compile-time safety.
Why GPL-3.0, Not MIT
I chose GPL-3.0 intentionally. This is a tool for developers, and I want every improvement to flow back to the community. If a company wants to fork it and build something proprietary on top, they can reach out. Otherwise, the code is yours to use, modify, and contribute to — forever.
What's on the Roadmap
Sageport is at v0.3.0 and I use it daily. It's stable, but there's a lot I want to build:
- Terminal session sharing — share a read-only or interactive session via a link
- RDP / VNC support — because not everything is SSH
- Mobile companion app — view sessions and run snippets from your phone
- Deeper AI context — let the assistant correlate logs across multiple hosts
Try It Out
Downloads for macOS, Windows, and Linux are on the releases page. The app auto-updates, so you'll always have the latest version.
# macOS: .dmg (Apple Silicon + Intel, universal)
# Windows: .msi / .exe
# Linux: .deb / .rpm / .AppImage
Quick setup —
- ⌘ N to add a host
- ⌘ P to connect via command palette
- ⌘ , for settings (AI keys, sync, themes)
If you try Sageport and something breaks (or you have a feature idea), open an issue. I read every single one. This project exists because I scratched my own itch — odds are you have the same one.

Top comments (0)