How an AI‑Built SSH Client Gained 1,000 GitHub Stars in Three Months
The author details how they built Netcatty, an Electron‑based SSH client with AI assistance, describing its multi‑view host management, split‑screen terminal, remote file editing, AI Agent capabilities, free cloud sync options, performance drawbacks, and the rapid community adoption that earned nearly 2 K stars on GitHub.
Technical Stack
Netcatty is built with Electron 40, React 19, TypeScript, xterm.js 5 and Tailwind CSS 4, and runs on macOS, Windows and Linux.
Host Management Views
Grid view shows large icons and auto‑detects the OS (e.g., Ubuntu vs. CentOS).
List view provides a compact layout with quick search for many hosts.
Tree view groups hosts by project or environment, reducing the need to remember host categories.
Split‑Screen Terminal
One pane can run tail -f to monitor logs while another pane runs vim to edit configuration files; a lower pane can host auxiliary commands such as htop. This eliminates the need to Alt‑Tab between separate windows.
Broadcast mode executes a single command on all selected hosts simultaneously, useful for batch updates or cluster checks.
Keyword highlighting automatically colors ERROR in red and WARNING in yellow, a feature absent in PuTTY and the free tier of Termius.
More than 50 built‑in themes are available; the author uses the Dracula theme (purple background, gray text).
Remote File Editing Without Download
The left pane displays local files, the right pane displays remote files. Drag‑and‑drop transfers files between panes.
Right‑click editing of a remote file writes changes back on Ctrl+S, avoiding a separate download‑edit‑upload cycle.
The built‑in editor provides syntax highlighting and indentation for YAML, JSON and CONF files, offering a smoother experience than using nano over SSH.
When editing privileged files such as /etc/nginx/nginx.conf, a sudo prompt requests the password and writes the file with elevated rights, removing the need to reconnect as root.
AI Agent "Catty"
Catty executes commands directly instead of acting as a chat interface. Example: ps aux --sort=-%mem | head -4 returns the top memory‑consuming processes and suggests which process to terminate.
For multi‑host orchestration, the user can request a Docker Swarm cluster on three machines; Catty runs docker swarm init on the manager, retrieves the join token, and runs the join command on the workers while the user watches.
Destructive actions such as rm, kill or file modifications trigger a confirmation dialog that must be explicitly approved.
Model back‑ends are pluggable: OpenAI, Anthropic Claude, OpenRouter, Codex CLI, or a local Ollama instance for sensitive data.
The author notes occasional AI missteps, such as looping ping and traceroute commands during complex network diagnostics.
Free Cloud Sync Back‑Ends
Six sync back‑ends are supported: GitHub Gist, Amazon S3, WebDAV, Google Drive, OneDrive and local file storage. All data—including host configurations, SSH keys and themes—is end‑to‑end encrypted.
WebDAV is highlighted as the most user‑friendly option for Chinese users who can host a self‑controlled NAS.
Real‑time sync initially caused excessive disk activity; switching to manual sync eliminated the issue.
Drawbacks
Electron incurs 300–500 MB RAM per session, rising to ~600 MB with multiple tabs, far higher than lightweight clients such as PuTTY.
No mobile client; Termius provides iOS and Android apps.
File transfer via Zmodem (sz/rz) is unsupported; users must rely on SFTP.
Port‑forwarding UI is nested and unintuitive; YubiKey FIDO2 authentication is not implemented.
On macOS the first launch may show a “cannot verify developer” warning, which can be cleared with xattr -cr /Applications/Netcatty.app.
Repository
GitHub: https://github.com/binaricat/Netcatty (GPL‑3.0 license).
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
