czlterm:自己写的 XPipe 轻量替代,SSH/RDP/VNC 管理 + Vaultwarden 取凭据 + MCP(开源)

之前一直用 XPipe 管服务器,功能没什么问题,就是内存占用太高,它是 Java 写的,开着就是几百 MB。想找个替代品,要求列下来是这样:

  • 能 SSH、RDP、VNC
  • 有文件管理
  • 有 MCP,能让 AI 直接上服务器干活
  • 连接配置能多台电脑同步
  • 密码和私钥直接从自建的 Vaultwarden 里取
  • Windows 和 Mac 都要能用
  • 不要 Java,也不要 Electron

找了一圈,要么功能不全,要么就是 Electron,所以自己写了一个,叫 czlterm。

思路:终端和远程桌面都不自己做

最占内存、也最难做好的就是内置终端和 RDP/VNC 协议栈,而系统里本来就有好用的。所以 czlterm 不内置这些,连接时直接调起你习惯的程序:

类型 macOS Windows
SSH Terminal / iTerm2 / Ghostty / WezTerm / kitty Windows Terminal / PowerShell
RDP Windows App 系统远程桌面 mstsc
VNC 系统自带的屏幕共享 TigerVNC

czlterm 自己只负责管理连接、取凭据、文件管理和 MCP。用 Go + Wails 写的,界面跑在系统自带的 WebView 上,不打包浏览器内核。

凭据直接从 Vaultwarden 取

通过官方的 bw 命令行读取保险库。第一次在终端里 bw login 登录一次,之后在 czlterm 里输主密码解锁就行。

  • 私钥:解密后放进 czlterm 进程内给这条连接单独开的 ssh-agent,通过 SSH_AUTH_SOCK 交给系统 ssh。私钥不落盘,也不进系统 agent
  • 密码:系统 ssh 要密码时通过 SSH_ASKPASS 回调 czlterm 自动填,不会出现在命令行参数里
  • 跳板机:支持多级跳板,每一跳可以用不同的凭据
  • RDP:Windows 上临时写进凭据管理器,mstsc 读完就删;Mac 上的 Windows App 不接受外部传密码,只能复制到剪贴板,45 秒后自动清掉

锁定保险库或退出程序后,内存里的会话、ssh-agent 和连接全部清掉。

文件管理和机器信息

SFTP 浏览、上传、下载、重命名、删除都有。双击文件会用 VS Code(或者你设置的编辑器)打开,保存后自动传回服务器。

每次 SSH 连接后会在后台顺手采集系统、内核、CPU、内存、磁盘和运行时长,显示在概览页,左边列表也会换成对应的系统图标(Ubuntu、Debian、CentOS、Windows 这些)。

MCP

开启后在本机 127.0.0.1 上提供 MCP 端点,Claude Code 用 HTTP 连,Claude Desktop 这类只支持 stdio 的客户端用 czlterm mcp 桥接。工具有四个:列连接、列目录、读写文件、执行命令。

权限是一级一级开的:只开 MCP 时 AI 只能看到连接列表;再开"允许 AI 访问服务器"才能读文件;写文件和执行命令各有单独的开关。凭据始终留在 czlterm 进程里,AI 拿不到。

执行命令时,脚本是经标准输入整段交给 sh -s 的,多行脚本、heredoc、引号和 $ 都原样执行,不用转义。这是我当初在 XPipe 上很头疼的一点,它的 MCP 不支持多行。

同步

每条连接存成一个 JSON 文件,里面不含任何密码,用 git 推到你自己的私有仓库。仓库可以单独配用户名和密钥(HTTPS 填访问令牌,SSH 贴私钥,密钥存在系统钥匙串里);不配就用 git 默认的认证。

安装

在 Releases 下载:

  • Windows:czlterm-amd64-installer.exe,按用户安装到 %LOCALAPPDATA%\CZL\czlterm,不需要管理员权限
  • macOS:czlterm-darwin-universal.dmg,Intel 和 Apple Silicon 通用。没有 Apple 开发者签名,第一次打开如果提示"已损坏",在终端执行一次:
    xattr -dr com.apple.quarantine /Applications/czlterm.app
    

要用 Vaultwarden 的话,先装 bw 命令行(npm i -g @bitwarden/cli),再执行 bw config server https://你的地址 和 bw login。

程序内置在线更新,有新版本会提示,下载后先校验 SHA-256 再安装。

现在的情况

刚发第一个版本 v0.1.0,我主要在 Mac 上用,Windows 端实测还不多。已知的几个限制:

  • RDP 和 VNC 暂时不支持跳板机
  • Windows 10 自带的 OpenSSH 是 8.1,不支持自动填密码,需要先升级(winget install Microsoft.OpenSSH.Preview);私钥不受影响

代码完全开源:GitHub - woodchen-ink/czlterm: 轻量连接管理器:SSH / RDP / VNC 调起系统客户端,凭据来自 Vaultwarden,内置 SFTP 与 MCP。XPipe 的轻量替代 · GitHub

用着有问题可以直接在这里回帖,或者到 GitHub 提 issue。觉得有用的话点个 Star。