项目链接: weidu12123/vps-switch: Rust + GPUI 原生的轻量级 VPS 管理器与面向 AI Agent 远程操控 VPS 的 MCP Server。
一、VPS Switch 是什么?
VPS Switch 是一个本地优先的轻量级主机管理器。采用 Rust + GPUI 原生构建,集成了终端、文件管理与系统探针等核心功能,并通过开放MCP供AI Agent(Claude Code、Codex 等)提供直接操控多台 VPS
同时提供 Windows / macOS 原生桌面端,以及可部署在云服务器上的 Linux 单文件无头服务(内嵌 Web 控制台)。
二、为什么要写它?
我日常手里有着多台VPS(横跨Debian、Ubuntu、Alpine,还有 Windows 云电脑),平时重度使用 Claude Code 配合服务器干活。
在此之前,我用 Node + Electron 写过上一代工具,当时往里塞了内置 AI 对话、远端常驻 Agent、脚本库等各种功能,最后膨胀到 8 万行代码,内存动辄三四百 MB;加上当时经验不足,架构复杂导致小 bug 频出。痛定思痛,决定用 Rust 彻底推倒重构。
三、核心设计原则:轻量化
vps-switch的核心思路为做减法,保留核心的功能,只做为一个vps管理器与一个供ai agent使用的mcp server,不内置其他如内置ai等功能。
1. VPS 管理器的轻量化
只保留日常操控服务器最核心的板块:
- 主机仓库:支持按主机名直达、SSH 跳板机穿透,以及无需开全局 TUN 的本机代理端口直连(SOCKS5 / HTTP)。
- 状态保活终端:Rust 侧
alacritty_terminal持有网格状态,切页与闪断瞬间恢复,支持一键抽离为独立桌面窗口。 - 文件管理与高速传输:高并发 SFTP 目录浏览、内置语法高亮编辑器,以及带断点续传与 SHA-256 校验的独立流式传输引擎。
- 按需轻量探针:纯内核指标差分计算,打开面板时才实时刷新,后台零轮询打扰。
2. MCP 的轻量化
不给 Agent 另起炉灶,直接复用上面的底层连接池,仅保留 7 个最核心的工具供 AI Agent 操控服务器:
| 工具 | 作用 |
|---|---|
vps_list |
查询已配置的主机列表与在线状态(支持直接用主机名寻址) |
vps_inspect |
获取一台或多台主机的实时 CPU、内存、磁盘、网速与负载 |
vps_exec |
多机并发执行命令;底层自动识别 Linux Shell 与 Windows PowerShell(自动 Base64 UTF-16LE 转译 + 清洗 CLIXML 噪音) |
vps_task |
查询或取消长耗时后台任务,支持 wait_seconds 阻塞等待,根治大模型无脑轮询 |
vps_fs |
远程目录浏览、文本读写、改名、删除与压缩解压 |
vps_transfer |
复用流式传输引擎,传 {host, local_path, remote_path} 一次调用跑满带宽,带断点续传与 SHA-256 校验 |
vps_terminal |
操控交互式终端(支持 OSC 133 截获真实退出码);遇到 sudo 密码或高危交互时,支持 reveal_ui: true 直接唤醒桌面窗口让人介入 |
3. 实际测试的数据
- Windows GPUI 原生桌面版:客户端 + 后端守护进程一共 2 个进程,零 Chromium / WebView2 依赖。管理 29 台 VPS 时常驻内存合计约 100 MB。
- Linux 无头服务版:单二进制文件,空闲常驻 RSS 仅 9.7 MB。
欢迎各位佬使用反馈。



