SuperAPI AI 工具集

diagnose-build-failure

部署与运维

查看项目

更新于 10-15 22:14

技能介绍

用途:当 Hostinger 部署返回 failed、线上站点出现构建或运行时错误,或用户询问“部署为什么失败”时,用该技能拉取构建日志并定位失败模式。

主要能力:先收集域名与 build uuid(没有时调用 hosting_listJsDeployments 或 hosting_listNodeJSBuildsV1 按 failed 过滤);对 hosting_getNodeJSBuildLogsV1 还需从 hosting_listWebsitesV1 获取 username。随后用 hosting_showJsDeploymentLogs(domain + buildUuid,适用于 hosting_deployJsApplication 构建)或 hosting_getNodeJSBuildLogsV1(username + domain + uuid,适用于 archive 构建)取日志,两者支持 fromLine/from_line 分页,避免一次请求过大;日志含 ANSI 转义序列时先剥离再引用。

可识别的常见失败模式包括:Cannot find module(依赖缺失或仅在 devDependencies)、ERESOLVE 等依赖解析冲突、Node 版本不匹配(可设 node_version 为 18/20/22/24 或修正 engines.node)、build_script 错误或构建工具未安装、monorepo 项目根目录错误(设 root_directory)、output_directory 指向错误导致构建成功但 404、JavaScript heap out of memory、包管理器与锁文件不匹配(设 package_manager 为 npm/yarn/pnpm)、端口硬编码(应绑定 process.env.PORT)、缺少环境变量(API 无法设置,需用户在 hPanel 添加)。

报告格式:原因一句话并引用确切日志行;修复给出具体代码改动或带覆盖参数的工具调用;下一步询问是否代为应用并等待确认。

限制:不得在没有引用日志行的情况下猜测原因;不得自动重新部署,因为会覆盖线上内容;不要归咎于“框架预设”,Hostinger 没有该参数,真正的调节项是 rules/nodejs-deployments.mdc 中的覆盖配置。