SSH 配置文件的管理向来是开发者的一个隐性痛点。当 ~/.ssh/config 膨胀到数百行,主机名和密钥变得难以追踪时,我们往往只能依赖注释和记忆来定位目标服务器。

purple 试图用现代化的交互方式解决这个问题。这款基于 Rust + Ratatui 构建的 TUI 工具,不仅提供了模糊搜索、多云主机同步、文件传输等常规功能,还在最近引入了 MCP(Model Context Protocol)服务器支持——这意味着你的 AI 助手可以直接通过标准化的协议与它交互。

项目速览

属性内容
GitHuberickochen/purple
⭐ Stars152
🔧 语言Rust
⚡ 特点MCP 支持、16 云同步、Vault 集成
📅 更新1 天前(活跃开发中)

核心功能

1. 模糊搜索与快速连接

purple 的主界面是一个可交互的主机列表,支持实时模糊过滤。对于拥有大量服务器的基础设施工程师来说,这比在纯文本配置文件中 Ctrl+F 要高效得多。

# 启动后直接交互式选择
purple

2. 多云主机同步

支持从 16 个主流云平台自动导入主机配置,包括 AWS、Azure、GCP、DigitalOcean、Hetzner、Proxmox 等。对于混合云或多云架构的团队,这省去了手动维护主机清单的工作。

3. Vault SSH 证书签发

原生集成 HashiCorp Vault,支持自动签发短期有效的 SSH 证书。相比传统的密钥对管理,这种方式更符合安全最佳实践——证书有过期时间,减少了密钥泄露后的风险敞口。

4. 内置 SFTP 与容器管理

连接服务器后,可直接在 TUI 中浏览文件系统、上传下载文件,甚至管理远程的 Docker/Podman 容器。这种”一站式”的设计减少了在多个工具间切换的上下文开销。

5. MCP 服务器支持(关键差异点)

这是 purple 与其他 SSH 管理工具最显著的区别。通过 MCP 协议,Claude、Cursor 等 AI 助手可以直接查询你的主机列表、执行连接操作、获取服务器信息。

// MCP 配置示例
{
  "mcpServers": {
    "purple": {
      "command": "purple",
      "args": ["mcp"]
    }
  }
}

这意味着你可以让 AI 帮你完成这样的任务:

“连接到 staging 环境的 web 服务器,查看最近的 Nginx 错误日志”

而无需手动复制主机名、输入密码、切换终端标签页。

对比同类工具

工具Stars特点MCP 支持
Termius商业软件跨平台 GUI,云同步
Warp商业软件AI 原生终端部分
Tabby52k现代终端模拟器
purple152纯 TUI,Vault 集成✅ 原生

purple 的定位很清晰:它不是要取代功能完备的终端模拟器,而是专注于 SSH 配置管理和连接流程的优化。对于习惯在终端工作的开发者来说,这种”只做一件事但做好”的设计理念反而更有吸引力。

适用场景

  • 基础设施工程师:管理大量云主机,需要多云同步和 Vault 集成
  • DevOps 团队:希望标准化 SSH 访问流程,推行短期证书
  • AI 辅助工作流:正在使用支持 MCP 的编辑器(Claude Code、Cursor 等)
  • Homelab 玩家:有多台自建服务器需要管理

当前局限

作为刚发布两个月的新项目,purple 仍在快速迭代中:

  • 文档尚不完整,部分高级功能需要查看源码或 Issue
  • Windows 支持仍处于实验阶段
  • 插件生态尚未建立(但 MCP 接口为其提供了扩展可能性)

安装

# macOS / Linux (Homebrew)
brew tap erickochen/purple
brew install purple

# 或使用 cargo
cargo install purple

# 预编译二进制文件
curl -sSL https://getpurple.sh | sh

写在最后

purple 代表了一个有趣的信号:开发者工具正在从”人机交互”向”AI 可编程”演进。MCP 协议的出现,让工具不再是孤立的命令行程序,而是可以被 AI 助手理解和调用的能力单元。

对于管理大量服务器的开发者来说,即使不考虑 AI 集成,purple 本身也是一个值得尝试的现代化 SSH 管理方案。而如果你已经在使用 Claude Code 或 Cursor,它的 MCP 支持可能会成为效率提升的加速器。


项目信息

属性内容
仓库https://github.com/erickochen/purple
主页https://getpurple.sh
许可证MIT
维护者@erickochen