SSH远程开发套件 -- 连接管理、命令执行、文件传输、项目部署、端口隧道、远程调试、长耗时任务管理。
ssh-dev-suite 是一个面向远程开发场景的综合工具套件,通过 SSH 协议为 AI Agent 提供完整的远程服务器操作能力。支持多 profile 管理、ControlMaster 会话复用、容器感知(docker/kubectl)、跨会话任务恢复。
| 模块 | 功能 | 路由方式 | 说明 |
|---|---|---|---|
| connect | 连接管理、命令执行、文件传输、后台任务 | 自动路由 | 核心模块,其他模块依赖 |
| deploy | 项目部署与回滚 | 显式调用 | 高副作用,必须用户明确指示 |
| tunnel | 端口转发与代理 | 自动路由 | 网络失败时自动触发proxy |
| debug | 结构化远程问题排查 | 自动路由 | 服务异常时自动进入 |
| long-task | 长耗时任务管理、checkpoint记忆、跨会话恢复 | 自动路由 | 耗时>2min自动启用 |
自动路由 = Agent可根据上下文自动选择该模块。 显式调用 = Agent必须等待用户明确指示后才能执行,不可自动触发。
将本仓库克隆到本地,在 Claude Code 的 settings.json 中添加为 skill:
git clone <repo-url> /path/to/ssh-dev-suite
# 在 Claude Code settings.json 中添加:
# "skills": ["/path/to/ssh-dev-suite"]将本仓库作为 skill 目录挂载到 Codex 工作区:
git clone <repo-url> /path/to/ssh-dev-suite
# 在 Codex 配置中引用 skill 路径- 必需:Python 3、PyYAML(
pip install pyyaml)、SSH 客户端 - 推荐:rsync(文件传输优先使用,回退 scp)、sshpass(密码认证时需要)
- 平台:
- 客户端:Windows(Git Bash/MSYS2)、macOS、Linux
- 服务端:Linux
- AI Agent 兼容:Claude Code + Codex(Tier A)
- Windows 客户端注意:ControlMaster 不可用(脚本已自动跳过)、PATH 环境变量展开差异
帮我配置SSH连接到我的开发服务器
Agent会引导填写服务器信息,自动生成config.yaml。参考 config.example.yaml。
| 命令 | 用途 |
|---|---|
/ssh-connect [profile] [command] |
连接测试、远程执行、文件传输 |
/ssh-tunnel [profile] [mode] |
端口转发、代理管理 |
/ssh-deploy [profile] [environment] |
项目部署与回滚(显式调用) |
/ssh-debug [profile] [symptom] |
远程问题排查 |
/ssh-long-task [profile] [task] |
长耗时任务管理 |
连接与执行:
测试一下 dev-server 的连接在 dev-server 上执行 ls -la帮我在远程启动一个后台训练任务
部署:
帮我把当前项目部署到dev-server回滚上一次部署帮我配置部署流程
隧道:
帮我把远程服务器的5432端口映射到本地服务器没有外网,帮我设置代理看看现在有哪些隧道在运行
调试:
服务器上的 my-app 服务挂了,帮我排查检查一下 dev-server 的资源使用情况帮我看看 GPU 状态
长耗时任务:
帮我在远程启动模型训练,预计2小时检查任务 job-20260306-143022 的状态把远程任务日志流式输出到本地文件
密码通过环境变量管理,不写入配置文件。
Windows:
setx SSH_DEV_PASSWORD "你的密码"macOS / Linux:
echo 'export SSH_DEV_PASSWORD="你的密码"' >> ~/.bashrc
source ~/.bashrc| 方式 | 说明 |
|---|---|
| SSH密钥(推荐) | config.yaml设置identity_file,最安全便捷 |
| 密码 | config.yaml设置env_password为环境变量名,依赖sshpass |
优先级:SSH密钥 > 环境变量密码 > 交互式提示
ssh-dev-suite/
SKILL.md # 套件入口(Agent读取)
README.md # 本文档
LICENSE # MIT
config.example.yaml # 配置模板
_lib/
_python.sh # Python检测与平台适配
ssh-config.py # 配置解析
connect/
SKILL.md # 连接模块说明
scripts/
ssh-test.sh # 连接测试
ssh-exec.sh # 远程命令执行
ssh-upload.sh # 文件上传
ssh-download.sh # 文件下载
ssh-job.sh # 后台任务管理
deploy/
SKILL.md # 部署模块说明
scripts/
ssh-deploy.sh # 部署与回滚
tunnel/
SKILL.md # 隧道模块说明
scripts/
ssh-tunnel.sh # 隧道管理
debug/
SKILL.md # 调试模块说明
long-task/
SKILL.md # 长任务模块说明
scripts/
checkpoint.sh # Checkpoint读写
references/
skill-manifest.md # 元数据清单
evals/
trigger-eval.json # 触发评估数据
task-prompts/ # 代表性场景
acceptance.md # 通过标准
- 配置由agent引导生成,无需手动编辑
- config.yaml含敏感信息不入库(已在.gitignore中排除)
- 会话复用:首次连接后SSH保持连接(默认600秒)
- 容器支持:配置container字段后命令自动在容器内执行
- 跳板机:配置jump_host后自动中转
- 网络问题自动处理:远程命令因网络不通失败时,Agent 会自动使用 tunnel 模块建立反向代理
MIT License