服务器自动驾驶
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_f7a9427d/server-autopilot。
技能介绍
要解决什么问题
日常发版往往卡在三件事:FTP/SFTP 上传、MySQL 初始化或变更脚本、以及凭据散落在 .env、INI 或随手记的文本里。人工用 curl、mysql 操作时,密码很容易出现在命令行参数、ps 列表或 shell 历史里;上传目录写错、SQL 误跑一遍,代价也不小。这个技能把「读配置 → 测连接 → 再动服务器」串成固定流程,并在每一次写操作前停下来等你确认。
技能如何工作
Phase 1 — 加载凭据:优先从平台持久化记忆里查找带 [server-autopilot] 标签的非敏感字段(主机、端口、用户名、远程目录、库名);密码默认不记忆,需从配置文件或当次输入补齐。配置文件支持 key=value、JSON、YAML、INI 以及自由文本,字段名兼容中英文别名(如 ftp_host / 主机)。解析结果会脱敏展示,等你确认后再继续。
Phase 2 — 只读连通性测试:用临时 curl 配置或 MySQL defaults 文件(权限 0600,trap 清理)测 FTP 与 MySQL,禁止把密码写在命令行。仅支持明文 FTP 时会明确警告;连通失败则停止,不进入部署。
Phase 3 — 可选保存元数据:连通成功后,可把非秘密连接信息写入平台记忆;密码仅在用户明确同意时保存,并优先走系统密钥链。
Phase 4 — 部署(需确认):
- FTP 上传:先给出文件/目录与远程路径计划,可选「确认上传 / 仅预览 / 取消」。
- SQL 执行:展示 SQL 与目标库,可选「执行 / 仅解释 / 取消」。失败时按错误码(1064、1054、1146 等)做诊断,修正后的 SQL 视为新的写操作,不会自动重试。
自然语言即可触发,例如「帮我上传代码到服务器」「测试 FTP 连接」「执行这个 SQL 文件」。
适用边界与注意点
- 技能描述的是能力,不绑定特定工具名;无内置确认 UI 时,Agent 必须在对话里明文询问并等待回复。
- 无持久记忆的平台上,凭据仅当次会话有效;可说「清除凭据」删除已保存的非敏感条目。
- 大 SQL 文件远程执行可能超时,文档建议拆分或在服务器本地执行。
- 上传成功但页面未更新时,需自行核对
remote_dir、CDN/OPcache 与文件权限。
使用场景
- 维护虚拟主机上的 PHP 或静态站,改完本地代码后要先测 FTP/MySQL 连通,再按配置里的 remote_dir 上传发布。
- 上线或迁库时持有 init.sql 或补丁文件,需在展示 SQL 与目标库信息并经确认后远程执行,并根据 1064/1146 等错误排查。
- 客户给的连接信息写在 JSON、INI 或中英文混排文本里,需要先智能解析、脱敏核对字段,再决定是否递归同步目录到 FTP。
- 新开会话或换机器后,沿用已保存的主机与用户名,从 .env 重读密码并完成「测连接 → 上传 → 可选跑 SQL」整段发版。
适合人员
- 在共享虚拟主机上用 FTP 维护 WordPress/PHP 站点、没有 CI 流水线的独立站长或接单开发者
- 为客户手工发版、FTP 与数据库凭据散落在多种配置文件里的外包后端或兼职运维
- 小团队全栈,发布习惯是「测连通 → 上传 dist 或整站 → 执行迁移 SQL」、每一步都要人工把关的操作者
- 需要在执行前 dry-run 或仅预览上传计划,避免误连生产库或误跑写操作的数据库维护兼职