项目简介
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进行文件操作的流程。
安装步骤
- 安装Node.js: 确保您的系统已安装Node.js 14.0.0或更高版本。
- 全局安装vssh: 打开终端,运行以下命令:
npm install -g @light-merlin-dark/vssh - 初次设置: 运行交互式设置向导,配置SSH连接信息(主机、用户、SSH密钥路径)。
此向导将引导您选择SSH密钥、配置目标服务器、保存配置,并启用默认插件。vssh --setup - 为MCP客户端(如Claude Code)安装: 如果您希望LLM客户端直接调用vssh作为MCP服务器,运行:
这将配置您的MCP客户端以识别vssh提供的工具。vssh install
服务器配置
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 # 强制本次命令在本地执行,不影响全局设置
信息
分类
开发者工具