用途:作为失败、崩溃或不可达 OpenDeploy 部署的统一调试入口。先只读收集证据,对故障分类,确认具体原因后再移交到对应的窄范围变更技能,避免盲目重试。
主要能力与流程:先解析部署/服务 ID,读取部署与服务状态;构建失败时收集构建日志,应用运行但不可达或崩溃时收集运行日志;对比服务配置、运行时环境、暴露端口与日志证据;当错误涉及数据库或缓存时,检查托管依赖状态与注入的环境变量键。基线命令包括 opendeploy context resolve --json、opendeploy deployments get/status/logs/build-logs、opendeploy services get/config get/env get/logs、opendeploy dependencies status,以及可选的结构化诊断 opendeploy logs diagnose <deployment-id> --json。
分类与下一步:按稳定类别归类,如 build_command(构建阶段失败)、port_mismatch(端口不匹配)、dependency_env(依赖环境问题)、missing_env(缺少环境变量)、migration_missing(迁移缺失)、platform_backend(平台后端)以及 unknown(证据不足或不一致时停止并报告缺失信号)。表格以外的类别可参照 deploy-attempt-record.md 选取最接近的稳定类别,不得自造项目专属名称。
记录与限制:存在本地 worktree 或可解析的 .opendeploy 上下文时,在重试、移交或最终报告前更新最新 attempt 记录,保存部署 ID、服务 ID、状态、脱敏日志片段、错误类别、根因、计划修复与重部署结果,仅记录环境变量键名。硬性规则包括:未定位根因且无具体变更前不得重试;无日志或配置证据且未获用户明确同意,不得创建或修改 Dockerfile、包脚本、启动命令或应用代码;不得输出环境变量值、API 密钥、bearer 头、绑定签名、解密密钥或 SSL 私钥,只显示键名;读取部署、日志、构建日志返回 401 或 403 时停止调试并移交到 opendeploy-auth,不得从缺失日志推断原因。