这个实战解决什么问题
大多数个人开发者的 VPS 运维日常是:SSH 上去,敲几条 docker ps、tail 日志、重启服务,完了退出来。事情不难,但它打断你——正在写代码时服务器出问题,切终端、连 SSH、查日志,一套下来二十分钟没了。
这个实战把 AgentDock 装进 VPS,让你在 ChatGPT 的对话窗口里完成同样的运维动作:AI 调用 AgentDock 的接口查状态、读日志、重启容器。你要做的是描述问题,它负责那一套「连上去敲命令」的动作。
部署结构
ChatGPT(你的对话入口)
│ HTTPS(Cloudflare Tunnel)
▼
AgentDock(跑在 VPS 上,端口 8765,工作区指向服务目录)
│
├── Docker daemon(容器管理)
├── nginx / 应用服务(进程巡检)
└── 工作区(部署脚本、compose 文件、日志目录)
VPS 上的部署用 Docker 路线(安装教程里有完整命令),两个要点:
- 工作区最小化:只把
/opt/myapp(你的 compose 和脚本目录)和必要的日志目录设为工作区,系统目录一概不给 - Token + Tunnel:
AGENTDOCK_TOKEN用 64 位随机串,Cloudflare Tunnel 暴露 HTTPS 入口,防火墙不放行 8765 直连
安全细节全部在AgentDock 安全实践里展开过,这里只强调一句:公网可达的运维入口,认证和传输加密一行都不能省。
日常巡检:从手动到一句指令
部署完成后的第一次实测,我让 ChatGPT 做「早巡检」。指令是:
巡检一下服务器:看所有 Docker 容器状态、磁盘剩余空间、内存占用,有没有异常重启的容器。有异常告诉我原因,没问题就一句话总结。
它通过 AgentDock 依次执行了容器列表、磁盘检查、内存检查,然后给出一句话报告。全程我沒有碰过 SSH 客户端。
这个场景的关键价值不在省时间(手动跑也就两分钟),而在于它变成了一个可以随口发起的动作——早上打开 ChatGPT 顺手一句,不需要「切到运维心态」。
故障排查实战:一次真实的容器重启循环
下面是这套架构真正发挥价值的场景。某天早上巡检发现一个服务在重启循环,传统流程是我 SSH 上去一层层排查。这次我直接把现象丢给 ChatGPT:
xxx 容器在反复重启,帮我排查原因,给出修复建议,先别动手改。
它通过 AgentDock 做了这几步:
- 看容器状态——确认重启次数和退出码
- 读容器日志(
docker logs等效操作)——发现启动阶段抛出数据库连接超时 - 读 compose 配置(工作区里的文件操作)——检查环境变量,发现数据库地址写的是内网域名,而数据库容器刚好在同一天被重建过
- 给出结论:数据库容器重建后 IP 变了,但服务配置用的是固定 IP 而不是服务名,建议改用 Docker 网络内的服务名解析
我确认方案后让它改配置、docker compose up -d 重建,服务恢复。整个过程八分钟,其中七分钟是 AI 在跑,我只做了最后拍板。
值得说明的是「先别动手改」这句话的作用:把诊断和执行分开,AI 只读不写,你看完诊断再授权修复。这是 AI 运维的第一安全习惯——和安全实践篇里的最小权限原则一脉相承。
适合交给 AI 的运维动作清单
实测下来,这些动作交给 AI 的性价比最高:
| 动作 | 频率 | 为什么适合 |
|---|---|---|
| 每日巡检(容器/磁盘/内存/证书) | 每天 | 模式固定,一句指令 |
| 日志排查 | 随时 | AI 读日志比人快,grep 组合拳它熟 |
| 证书到期检查 | 每月 | 容易忘,AI 不会忘 |
| 备份验证 | 每周 | 重复性高,做完最好留档 |
| 部署发布 | 按需 | 配合工作区里的脚本,一句话发布 |
| 配置变更 | 按需 | 诊断与执行分离,人拍板 |
不适合交给 AI 的:核心数据库的结构变更、支付相关操作、任何没有备份预案的破坏性动作。这些保留人工,Auto-review 的习惯在哪里都适用。
把巡检固化下来
单次手动巡检跑顺后,两个升级路线:
路线一:Workflow 模板。 多设备用户可以把巡检流程做成 NexusDock 的 Workflow 模板,参数化目标主机,一键执行。
路线二:Recall 记忆沉淀。 每次排查完,让 AI 把「这台机器的脾气」(哪些服务容易出问题、上次故障的原因)写进记忆。三个月后,你的 AI 对这台 VPS 的了解会超过大多数初级运维。
应急场景速查表
故障发生时最容易犯的错是「先乱敲一通」。把高频应急场景固化成提示词,出事时复制粘贴:
| 现象 | 第一句指令 | 红线 |
|---|---|---|
| 磁盘告警 | 「查磁盘占用最高的目录和最大的容器日志文件,先只报告」 | 未确认前不让删任何文件 |
| 容器重启循环 | 「xxx 容器反复重启,看退出码和最近日志,给诊断先不动手」 | 诊断与执行分离 |
| 网站打不开 | 「从 nginx 状态、容器状态、端口监听三步排查,每步输出结果」 | 不让 AI 直接改配置 |
| 证书临期 | 「检查 HTTPS 证书剩余天数,列出即将到期的域名」 | 续期动作人工确认 |
| CPU 飙高 | 「找出占用最高的进程,看它最近日志,判断是不是业务高峰」 | 不让 AI 直接 kill 进程 |
两个共性:指令里都带「先报告」,把读操作和写操作分开;红线一列提前写死,慌乱时刻 AI 最需要的恰恰是预先划定的边界。
顺带说清 SSH 的最终角色:它不是日常入口,而是兜底通道——AgentDock 自身挂掉、机器失联这类「工具的故障」,仍然走传统 SSH 处理。退役的是日常重复劳动,不是应急能力。
效果小结
| 指标 | 之前(SSH 手动) | 之后(AgentDock + ChatGPT) |
|---|---|---|
| 日常巡检发起成本 | 切换心态,开终端连 SSH | 对话窗口随口一句 |
| 故障定位耗时 | 15–40 分钟 | 5–10 分钟(含 AI 读日志) |
| 排查经验留存 | 在脑子里,会忘 | 沉淀进 Recall,可检索 |
| 运维入口数量 | SSH 客户端 + 面板 + 脚本 | 一个对话窗口 |
VPS 运维是 AgentDock 最容易见效的场景——因为它高频、模式化、且人人都有。跑通这一个场景后,多设备编排里讲的「机器群资源池」对你来说就是自然延伸了。