用途 该技能用于运维已存在的 Runpod Pod:先诊断问题,再在用户明确要求时执行最小幅度的安全恢复操作。诊断阶段始终只读,不允许 update-pod、pod-action、delete-pod、create-pod 等变更操作;恢复方案只呈报,除非提示词明确授权,否则不执行。默认动作是 stop 而绝不 terminate,因为 terminate 会删除 Pod 的 volume 磁盘。
主要能力 工具绑定:list-pods(列出 Pod、账号级卡住审计、确认“哪个 Pod”)、get-pod(查看单个 Pod 的状态、端口、GPU 数量、挂载)、stream-pod-logs(读取启动/容器日志,source=system 查看生命周期事件)、pod-action(stop/restart/start,受门控)、delete-pod 或 pod-action terminate(破坏性,单独门控)、list-gpu-types / get-gpu-type(含 AVAILABILITY、product POD 查询各数据中心 GPU 库存)、同一读取中的 cudaVersions 与 get-capacity(CUDA 版本与容量矩阵)、list-data-centers、create-pod(仅在授权恢复内重建)。若会话工具列表中缺少上述工具,应如实说明并改用最近的只读工具,不得编造结果。
诊断流程(第一阶段,只读) 先解析用户指定的 Pod(或列出 Pod 按名称匹配),再检查并读取日志,之后才下结论:
- 代理 502 / 无法访问 Web UI:若状态非 RUNNING 即为原因;若运行中,502 通常意味着应用绑定 127.0.0.1(应绑 0.0.0.0)、监听未暴露端口、仍在启动或从未启动。需引用绑定/监听日志行,指出端口不匹配而非猜测。524 不同:代理会关闭超过 100 秒的请求,说明是长请求而非应用死亡。
- torch.cuda.is_available() 为 False:查看 Pod 记录的 gpu 块,若缺失或计数为 0 则视为纯 CPU 分配而非 CUDA 问题;若有 GPU,读日志找驱动/运行时行,常见原因是镜像 CUDA 版本高于宿主驱动,或 torch 构建为 CPU 版/不匹配。
- 重启后无 GPU:停止的 Pod 释放 GPU 但仍绑定原机器;若该机 GPU 被他人占用,普通 start 会因无空闲 GPU 被拒,或 Pod 以 RUNNING 状态回来却没有 GPU。这是放置问题而非 Pod 损坏。可用恢复手段:重试 start 直至该机 GPU 释放;从控制台迁移或重建到有库存的 GPU 类型/数据中心(会得到新 id 和代理 URL);零 GPU 下救援数据(0 GPU 的 Pod 仍运行并可访问文件系统,复制需通过 runpodctl send/receive、网络卷的 S3 端点或 Pod 直连 SSH 的 scp/rsync,本技能不搬移字节)。
- 读取日志(较大 tail,卡在 STARTING 时用 source=system 看拉取、创建、启动事件),引用决定性的一行:权重加载/绑定成功行,或 OOM、缺文件、认证失败。
- 账号级卡住审计:列出所有 Pod,标记 status=RUNNING 但无 GPU,或 PROVISIONING/STARTING 超过约 10 分钟且系统日志无拉取进展(20 GB 镜像正常需 10–15 分钟)。以表格呈现(名称、请求 GPU、状态、卡住时长、原因),汇总计数须与表格行数一致。
- 无 RUNNING Pod 可解析:说明列表显示内容(无 Pod 或仅有已停止的)及可能原因(症状后已停止、其他账号/密钥、已被终止),并给出该症状最常见原因与具体修复;账号/密钥不匹配时询问用户所用账号。 第一阶段以诊断和(如有)建议动作结束,但不执行;若提示只是“为什么/哪里错/有没有卡住”,到此为止。
恢复流程(第二阶段,仅在用户授权后) 仅当提示明确要求对指定 Pod 执行 stop、restart、recreate 或 terminate 时推进。每次行动前说明后果:stop 释放 GPU/CPU 计算、进入 EXITED、清空容器磁盘、保留 volume 磁盘(默认 /workspace)并按停止磁盘费率计费,可用 start 在同一机器上恢复;terminate 永久删除 Pod 及其 volume 磁盘(网络卷仅解除挂载)。想停止计费又保留文件应选 stop;仅在明确“删除/终止/丢弃”时才 terminate。零 GPU 或挂起 Pod 优先 stop→start(或 restart)再考虑重建。重建仅在授权下进行:从 Pod 记录捕获原配置,按可用性读取选择有库存的 GPU 类型与数据中心;先救援 volume 磁盘并引用所需日志(终止后日志消失),创建前说明每小时费用,镜像不可用则跳过并说明。不得仅凭 create 调用声称重建成功,需请用户重跑诊断确认。
适用场景与限制 适用于 Runpod Pod 排障与受控恢复。硬性规则:不得操作用户未指定的 Pod;默认 stop,仅明确破坏性指令才 terminate 并说明哪个磁盘会消失;创建/重建前说明每小时费用;诊断须引用所读日志/字段,不用“可能”;日志或检查调用失败应报告并停止,不猜测原因。错误处理:terminate/delete 返回 204 无响应体是成功;状态转换无效返回 409,应读 Pod 记录的 actions 选合法转换;重建返回 no gpu available 表示所选 GPU/DC 无库存,应呈现并停止,不静默换处重试。跨旅程回答契约(读取得到确定事实、承诺不模糊、变更绑定本次会话创建、独立最终消息、诚实失败、仅用已授权工具)由 runpod-mcp 技能定义,若未加载应先加载。