Skip to content

The first SSH client built for AI agents. Let Claude Code, Codex, and other CLI agents manage your servers through MCP skills. Beautiful UI, native performance.

Notifications You must be signed in to change notification settings

veithly/vibeshell

Repository files navigation

VibeShell Logo

VibeShell

The first SSH client built for AI agents. Let Claude Code, Codex, and other CLI agents manage your servers.

Release License CI Platform


Built with Tauri 2 · React 18 · Xterm.js · russh


Why VibeShell · Features · AI Integration · Installation · Development


Why VibeShell

Most SSH clients were built in an era before AI. They have clunky interfaces, zero automation, and treat every session as a purely human activity.

VibeShell is different. It's a modern terminal with first-class support for AI coding agents — Claude Code, OpenAI Codex, Cursor, Windsurf, and any MCP-compatible tool. Through a built-in MCP server and auto-installable skill system, your AI agents can SSH into servers, execute commands, transfer files, and manage infrastructure — all while you watch in a beautiful UI or let it run autonomously.

Think of it as the terminal client that both you and your AI actually enjoy using.


Features

🤖 AI Agent Integration

The killer feature. VibeShell ships with a built-in MCP (Model Context Protocol) server and a skill installer that teaches AI agents how to use it.

What your AI can do MCP Tool
List & manage servers server_list, server_add, server_get
Open SSH sessions session_create, session_attach
Execute remote commands exec
Browse & transfer files sftp_ls, sftp_upload, sftp_download
Create directories, move/delete files sftp_mkdir, sftp_mv, sftp_rm

One-click install — VibeShell auto-detects Claude Code, Codex CLI, Cursor, Windsurf, and other MCP-compatible tools on your machine, then installs its skill (SKILL.md + MCP config) so your agent knows exactly how and when to use SSH.

You: "Deploy the latest build to production"
Agent: [Uses VibeShell] → connects to prod server → pulls code → restarts service → confirms deployment

🖥️ Terminal

  • Multi-tab sessions — Connect to multiple servers simultaneously
  • WebGL rendering — Buttery-smooth terminal via Xterm.js
  • Local shell — Built-in local terminal alongside SSH sessions
  • Ghost text completions — Fish-shell-style inline suggestions
  • Keyboard shortcutsCtrl+N new server, Ctrl+K quick command, Ctrl+W close tab

🔐 SSH & Security

  • SSH tunneling — Local forward, remote forward, and SOCKS5 dynamic forwarding
  • Jump host (ProxyJump) — Connect through bastion/jump servers
  • SSH agent forwarding — Forward local SSH agent to remote hosts
  • Host key verification — TOFU with SHA-256 fingerprint management
  • Encrypted credential storage — AES-encrypted passwords and key passphrases

📁 File Management

  • SFTP browser — Built-in file manager with upload, download, preview, edit
  • Drag & drop — Upload files by dragging into the SFTP panel
  • Compression — Compress/extract archives on remote servers
  • File preview — View text files, images, and code with syntax highlighting

⚡ Productivity

  • Command snippets — Save, tag, and reuse frequently used commands
  • Session recording — Record terminal sessions for playback and audit
  • Post-login commands — Auto-execute commands after SSH connection
  • Quick command paletteCtrl+K to search and run anything
  • Server groups & tags — Organize hundreds of servers effortlessly

🎨 Design

  • Tokyo Night theme — A beautiful dark theme, not a generic UI
  • Internationalization — English and 简体中文
  • Native performance — Rust backend, ~8 MB binary, instant startup
  • Cross-platform — Windows, macOS, Linux with native look and feel

Installation

Download

Platform Download
Windows x64 .exe installer · .msi
macOS Apple Silicon .dmg
macOS Intel .dmg
Linux x64 .deb · .AppImage · .rpm

Build from Source

# Prerequisites: Node.js 18+, Rust 1.70+, Tauri prerequisites
git clone https://github.com/veithly/vibeshell.git
cd vibeshell
npm install
npx tauri dev      # Development mode with hot reload
npx tauri build    # Build release binary

Architecture

┌──────────────────────────────────────────────────────┐
│                     Frontend                          │
│     React 18 + Zustand + Xterm.js + Tailwind CSS     │
├──────────────────────────────────────────────────────┤
│                  Tauri IPC Bridge                     │
├──────────────────────────────────────────────────────┤
│                      Backend                          │
│         Rust + russh + rusqlite + tokio               │
│  ┌──────┐ ┌──────┐ ┌────────┐ ┌─────────┐ ┌─────┐  │
│  │ SSH  │ │ SFTP │ │ Tunnel │ │ Storage │ │ MCP │  │
│  └──────┘ └──────┘ └────────┘ └─────────┘ └─────┘  │
│                                              ▲       │
│  ┌──────────────────────────────────────────┐│       │
│  │        Skill Installer & Detector        ││       │
│  │  Claude Code · Codex · Cursor · ...      │┘       │
│  └──────────────────────────────────────────┘        │
└──────────────────────────────────────────────────────┘
  • Frontend — React handles UI, Zustand manages state, Xterm.js renders terminals
  • Backend — Rust provides native SSH/SFTP via russh, SQLite for persistence
  • MCP Server — Exposes 16 tools for AI agents to manage servers, sessions, and files
  • Skill Installer — Auto-detects AI tools and configures the VibeShell MCP skill

Development

npx tauri dev                                      # Dev server with hot reload
npx tsc --noEmit                                   # Type-check frontend
cargo check --manifest-path src-tauri/Cargo.toml   # Check Rust backend
cargo test --manifest-path src-tauri/Cargo.toml    # Run Rust tests

Project Structure

vibeshell/
├── src/                    # React frontend
│   ├── components/         # UI components (Terminal, SFTP, Settings, ...)
│   ├── stores/             # Zustand state stores
│   ├── i18n/               # Internationalization (en, zh)
│   └── lib/                # Utilities (tauri.ts, utils.ts)
├── src-tauri/              # Rust backend
│   └── src/
│       ├── commands/       # Tauri command handlers (60+ commands)
│       ├── ssh/            # SSH client & fingerprints (russh)
│       ├── sftp/           # SFTP operations
│       ├── tunnel/         # SSH tunneling engine
│       ├── mcp/            # MCP server & 16 tool definitions
│       ├── install/        # AI tool detector & skill installer
│       ├── storage/        # SQLite database & encrypted credentials
│       └── logging/        # Session recording
├── cli/                    # CLI companion tool
└── .github/workflows/      # CI + auto-release pipeline

Contributing

Contributions are welcome!

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

MIT — Made with care by veithly.

About

The first SSH client built for AI agents. Let Claude Code, Codex, and other CLI agents manage your servers through MCP skills. Beautiful UI, native performance.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •