VibeShell
第一个为AI代理构建的SSH客户端。让Claude Code、Codex和其他CLI代理管理您的服务器。
   
______________________________________________________________________
为什么选择VibeShell · 特性 · AI集成 · 安装 · 发展
为什么选择VibeShell
大多数SSH客户端都是在人工智能出现之前的时代构建的。它们的界面笨拙,自动化程度为零,并且将每个会话都视为纯粹的人类活动。
VibeShell则不同。 它是一个现代化的终端,对AI编码代理提供一流的支持——Claude Code、OpenAI Codex、Cursor、Windsurf和任何兼容MCP的工具。通过内置的MCP服务器和可自动安装的技能系统,您的AI代理可以SSH到服务器、执行命令、传输文件和管理基础设施——所有这些都可以在您在漂亮的UI中观看或让它自主运行。
把它看作是终端客户端,你们俩 *和* 你的AI真的很喜欢使用。
特性
🤖 AI代理集成
杀手特征。VibeShell内置 MCP(模型上下文协议)服务器 以及a 技能安装人员 它教人工智能代理如何使用它。
| 你的AI能做什么 | MCP工具 |
|---|---|
| 列出并管理服务器 | server_list, server_add, server_get |
| 打开SSH会话 | session_create, session_attach |
| 执行远程命令 | exec |
| 浏览和传输文件 | sftp_ls, sftp_upload, sftp_download |
| 创建目录,移动/删除文件 | sftp_mkdir, sftp_mv, sftp_rm |
一键安装 --VibeShell会自动检测您机器上的Claude Code、Codex CLI、Cursor、Windsurf和其他MCP兼容工具,然后安装其技能(SKILL.md +MCP配置),以便您的代理确切地知道如何以及何时使用SSH。
You: "Deploy the latest build to production"
Agent: [Uses VibeShell] → connects to prod server → pulls code → restarts service → confirms deployment🖥️ 终端
- 多标签会话 --同时连接到多个服务器
- WebGL渲染 --通过Xterm.js实现黄油般光滑的终端
- 本地 shell --SSH会话旁边的内置本地终端
- Ghost文本补全 --鱼壳风格内联建议
- 键盘快捷键 —
Ctrl+N新服务器,Ctrl+K快速命令,Ctrl+W关闭标签
🔐 SSH和安全
- SSH隧道 --本地转发、远程转发和SOCKS5动态转发
- 跳转主机(ProxyJump) --通过堡垒/跳转服务器连接
- SSH代理转发 --将本地SSH代理转发到远程主机
- 主机密钥验证 --具有SHA-256指纹管理的TOFU
- 加密凭证存储 --AES加密密码和密钥短语
📁 文件管理
- 正在完成。。。 --内置文件管理器,可上传、下载、预览、编辑
- 拖放 --通过拖动到SFTP面板上传文件
- 压缩 --压缩/提取远程服务器上的存档
- 文件预览 --通过语法高亮显示查看文本文件、图像和代码
⚡ 生产力
- 命令片段 --保存、标记和重用常用命令
- 会话录制 --记录终端会话以供回放和审核
- 登录后命令 --SSH连接后自动执行命令
- 快速命令面板 —
Ctrl+K搜索和运行任何东西 - 服务器组和标签 --轻松组织数百台服务器
🎨 设计
- 东京之夜主题 --一个漂亮的深色主题,而不是通用的UI
- 国际化 — English and 简体中文
- 本地性能 --Rust后端,约8 MB二进制文件,即时启动
- 跨平台 --具有原生外观和感觉的Windows、macOS、Linux
安装
下载
从源代码构建
# 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建筑
┌──────────────────────────────────────────────────────┐
│ 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 · ... │┘ │
│ └──────────────────────────────────────────┘ │
└──────────────────────────────────────────────────────┘- 前端 --React处理UI,Zustand管理状态,Xterm.js渲染终端
- 后端 --Rust通过以下方式提供本机SSH/SFTP
russhSQLite用于持久化 - MCP服务器 --为AI代理提供16个工具来管理服务器、会话和文件
- 技能安装人员 --自动检测AI工具并配置VibeShell MCP技能
发展
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项目结构
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贡献
欢迎投稿!
- 分叉存储库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
