之前一直用 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 提 issue。觉得有用的话点个 Star。



