【开源】vps-switch:Rust + GPUI 原生的轻量级 VPS 管理器与面向 AI Agent 远程操控 VPS 的 MCP Server

,

项目链接: 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。

欢迎各位佬使用反馈。



7 个赞

感謝您的無私分享~點讚支持~xhj15

2 个赞

那和NL有什么关系呢。

1 个赞

忘记删了,那边发帖需要加友链的

看了 README,MCP 有鉴权和调用记录。想问下,能不能给某个 Agent 单独限定主机范围、只开放查询工具?比如桌面端照常管理全部机器,但交给 Agent 的连接只能看测试机状态,不能用 exec、文件写入或终端。这个权限目前是在服务端限制,还是要靠客户端少暴露几个工具?

ixijxjgxidj-cmd/GPU-Server-Management-MCP-Skill-可以看看我部署在cloudflare 的mcp

确实是很需要的一个功能,我下一个版本更新吧,感谢反馈

1 个赞

好的佬,我研究一下

补个后续:看到 v0.1.1 的发布说明已经加了 MCP 主机范围和工具开关,还写明未暴露的主机会从列表隐藏并拒绝调用。之前问的“只给 Agent 看测试机”有对应配置了,感谢这么快补上,也给后面有同样需求的人留个版本链接。

这内存占用可以啊

Rust + GPUI 的组合挺有意思,轻量管理器加 MCP Server,等于能让 AI 帮你管小鸡了。支持多台批量操作吗?

支持,不过一般情况下是一台,制作的时候试过,放开并发容易让ai停不下来,而且说实话一次操控多台对ai注意力不太友好,有些危险