项目简介

vssh(AI-Friendly SSH Proxy for AI agents)是一款专为AI智能体设计的SSH代理工具。它将复杂的SSH命令执行、文件传输、Docker管理、Grafana监控等操作封装为AI可调用的标准化工具(MCP Tools),并内置多层安全防护,防止潜在的破坏性操作。vssh通过Model Context Protocol (MCP) 与LLM客户端通信,使其能够以自然语言指令高效、安全地与远程服务器交互。

主要功能点

  • MCP原生支持: 自动将所有核心功能和插件功能暴露为AI可调用的MCP工具,实现与LLM客户端的无缝集成。
  • SSH命令代理: 简化远程命令执行,AI无需处理复杂的SSH语法或引号转义问题,直接通过自然语言指令操作。
  • 插件系统: 高度可扩展,内置文件传输、Docker管理、Coolify(自托管平台)、Grafana监控、文件编辑器等丰富插件,持续扩展AI的能力边界。
  • AI安全防护: 内置多层命令防护机制,自动拦截删除根目录、格式化磁盘、大规模Docker清理等危险操作,确保AI操作的安全性。
  • 本地/远程模式切换: 支持命令在本地或远程服务器上执行,提供灵活的操作环境。
  • 审计追踪: 记录所有执行命令和输出,便于审计、回溯和调试,增强操作的可追溯性。
  • 文件传输: 支持文件和目录的上传下载,目录自动压缩解压缩,简化AI进行文件操作的流程。

安装步骤

  1. 安装Node.js: 确保您的系统已安装Node.js 14.0.0或更高版本。
  2. 全局安装vssh: 打开终端,运行以下命令:
    npm install -g @light-merlin-dark/vssh
  3. 初次设置: 运行交互式设置向导,配置SSH连接信息(主机、用户、SSH密钥路径)。
    vssh --setup
    此向导将引导您选择SSH密钥、配置目标服务器、保存配置,并启用默认插件。
  4. 为MCP客户端(如Claude Code)安装: 如果您希望LLM客户端直接调用vssh作为MCP服务器,运行:
    vssh install
    这将配置您的MCP客户端以识别vssh提供的工具。

服务器配置

MCP服务器是为MCP客户端提供服务的后端。MCP客户端需要配置vssh服务器的启动命令及其参数才能与其建立连接。以下是MCP客户端中可能需要配置的信息示例(JSON格式,具体配置方式请参考您的MCP客户端文档):

{
  "type": "stdio",
  "command": "vssh-mcp",
  "env": {
    "NODE_NO_WARNINGS": "1"
  },
  "description": "AI-friendly SSH proxy with plugin support and safety guard"
}
  • 'type': "stdio" 表示MCP服务器通过标准输入输出进行通信。
  • 'command': "vssh-mcp" 是vssh提供的MCP服务器启动命令。
  • 'env': 环境变量,'NODE_NO_WARNINGS: "1"' 用于抑制Node.js警告,确保输出清晰。
  • 'description': 对该MCP服务器的简要描述,有助于MCP客户端理解其功能。

基本使用方法

  • 执行远程命令:
    vssh ls -la               # 执行简单命令,列出远程目录内容
    vssh "docker ps -a"       # 执行包含参数的复杂命令,列出所有Docker容器 (使用双引号)
    vssh 'ps aux | grep node' # 执行包含管道的命令,查找所有Node.js进程 (使用单引号)
  • 文件上传与下载:
    vssh upload ./local-file.txt /remote/path/file.txt # 将本地文件上传到远程服务器
    vssh download /remote/path/log.log ./local-log.log # 将远程文件下载到本地
    vssh push ./local-dir /remote/path/              # 将本地目录上传到远程服务器 (自动压缩)
    vssh pull /remote/path/remote-dir ./local-dir/   # 将远程目录下载到本地 (自动解压)
  • Docker管理:
    vssh ldc              # 列出所有Docker容器的简要信息
    vssh sdl my-app --tail 50 # 查看名为"my-app"的Docker容器最近50行日志
    vssh sdi              # 显示详细的Docker系统信息,包括资源使用情况
  • 插件管理:
    vssh plugins list       # 列出所有已安装的vssh插件及其状态
    vssh plugins enable docker # 启用名为"docker"的插件,使其功能可用
  • 本地模式:
    vssh local-mode on        # 启用本地命令执行模式,所有vssh命令将在本地执行 (永久生效)
    vssh --local ls -la       # 强制本次命令在本地执行,不影响全局设置

信息

分类

开发者工具