SuperAPI AI 工具集

opendeploy-debug

部署与运维

查看项目

更新于 10-16 03:10

技能介绍

用途:作为 OpenDeploy 部署失败、崩溃或不可达时的单一调试入口。先只读收集证据、分类失败原因,确认具体成因后再移交给对应的变更类技能。

调用前置检查:若直接调用本技能,先运行全局 CLI 版本检查(除非其他 OpenDeploy 技能已执行):npm list -g @opendeploydev/cli --depth=0 --json、npm view @opendeploydev/cli version --json、opendeploy preflight . --json。若全局版本低于 npm 最新版,移交 opendeploy-setup;用户跳过更新时,在已装全局 CLI 支持所需命令的前提下继续。此后不再单独运行 --version、jq 或原始 curl 插件探测。

主要能力:按决策树解析部署/服务 ID,读取部署与服务状态;构建失败时先取构建日志,应用存活但不可达或崩溃时取运行日志;对比服务配置、运行环境变量、暴露端口与日志证据;检查托管依赖状态与注入的环境变量键;用稳定分类键归类问题,并在存在 worktree/上下文时更新本地部署尝试记录。

基础证据命令:opendeploy context resolve --json、opendeploy deployments get <deployment-id> --json、opendeploy deployments status <deployment-id> --json、opendeploy deployments logs <deployment-id> --query tail=300、opendeploy deployments build-logs <deployment-id> --follow、opendeploy services get <service-id> --json、opendeploy services config get <service-id> --json、opendeploy services env get <project-id> <service-id> --json、opendeploy services logs <project-id> <service-id> --query tail=300、opendeploy dependencies status <project-id> --json;如 CLI 提供结构化诊断,可运行 opendeploy logs diagnose <deployment-id> --json,但仅作为输入之一。

分类与后续动作:构建阶段失败/安装错误/缺少构建命令/编译错误归为 build_command(仅配置错误时用 opendeploy-config);运行中代理 502、连接被拒、监听端口不一致归为 port_mismatch(读 references/port.md,凭证据经 opendeploy-config 修补);依赖状态异常、缺少依赖键、命名空间错误归为 dependency_env;运行日志缺环境变量键归为 missing_env;健康检查 200 但业务端点 5xx 且涉及未执行迁移归为 migration_missing;网关正常但下游熔断打开等归为 platform_backend;证据不完整则归为 unknown 并停止报告。其他情况参考 deploy-attempt-record.md 选择最接近的稳定分类。

硬性规则:根因未定位且无实质变更前不得重试失败部署;无日志或配置证据及用户明确批准,不得创建或修改 Dockerfile、包脚本、启动命令或应用代码;不得打印环境变量值、API 密钥、Bearer 头、签名、解密密钥或 SSL 私钥,只显示键名;日志读取返回 401 或 403 时停止调试并移交 opendeploy-auth;配置、环境、数据库或域名变更移交对应技能后再经 opendeploy 重新部署;依赖主机名命名空间与项目不符视为平台证据,不要反复重部署。参考文档包括 references/logs.md、references/port.md、references/startup-order.md 与 ../opendeploy/references/deploy-attempt-record.md。