博客

Fix with AI:发布失败时一键修复

在 Mythex 上发布失败时,发布对话框现在会告诉你实际发生了什么,并且每次失败都提供两个按钮:Fix with AI 和 Try again。Fix with AI 会把失败信息以及你的应用输出的内容交给代理,让它修复项目并重新发布;如果你的应用本身没有问题,它就直接重新发布。我们也不再把实际出在应用里的问题都归咎于「我们这边」,并开始能发现那些上线几分钟后才出问题的应用。

有什么变化

每种失败都提供 Fix with AI

以前,有些失败会显示 Fix with AI,另一些只显示 Try again。这种区分取决于错误看起来是不是「我们这边」的问题:如果像是我们的问题,我们不希望代理在没有问题的代码上白白消耗你的积分。

这样一来,你得自己判断遇到的是哪一类失败。现在每次失败都会提供两个按钮。代理会拿到失败的类型以及背后的输出:如果应用有问题,它就修复应用;如果没有问题,它就重新发布。你不必去判断是哪种情况。

例外是那些答案不是代码的情况。链接名已被占用时,系统会建议其他名称;积分用完时,系统会提供获取更多积分的途径。

说明发生了什么的提示

过去,有几种失败最终只会显示「我们这边出了问题,请重新发布」,这并不真实,而且重新发布从来没有用。现在它们各自有了专门的提示:

  • 「你的应用在发布后没有启动。」 应用已经发布,但从未开始接受连接。最常见的原因是它监听了其他端口,或者只监听了 localhost。已发布的应用必须监听 0.0.0.0 以及 $PORT 中指定的端口。我们现在不再固定等待一段时间后碰运气,而是会检查应用是否真的在其端口上接受连接。
  • 「文件太大」/ 文件数量过多。 静态站点对单个文件有大小限制(取决于站点类型,约为 25–30 MB),并且文件总数上限为 20,000 个。我们现在会在上传前统一测量文件夹,对所有类型的文件采用同样的方式检查,提示会列出所有超出限制的文件。
  • 「你的应用启动后马上停止了。」 通常是缺少设置,例如环境变量或密钥,或者在第一个请求时崩溃,又或者启动命令有错误。

发现上线后出问题的应用

发布可能成功,但应用在几分钟后才失败:它不断崩溃,或者虽然在运行却不再接受连接。Mythex 会定期检查已发布的应用。如果应用在几分钟内反复崩溃,或者运行着却没有任何连接,这次发布就会被标记为失败,你会收到一封邮件,项目里也会显示该提示以及 Fix with AI。

如果应用崩溃一次后自行恢复,这不算一次失败的发布。如果原因是应用内存耗尽,你会另外收到一封关于内存的邮件。

当我们把一个正在上线的应用标记为失败时,也会保存那一刻应用打印的内容。你不会看到这些原始输出,但它是 Fix with AI 交给代理的材料,因此代理会从真实的错误出发,而不是凭猜测。

如何使用

  1. 像平常一样点击 Publish。
  2. 如果失败,请阅读对话框中的提示。它会告诉你发生了什么,而不只是告诉你出了问题。
  3. 点击 Fix with AI。代理会读取构建输出或应用日志,修复项目,然后你就可以重新发布。
  4. 如果提示说你的应用没有问题,例如「发布暂时繁忙」或「发布被中断」,通常点 Try again 就够了。
  5. 如果你收到邮件说在线应用一直在崩溃,请打开项目:同样的提示和 Fix with AI 都在那里等着你。

重新发布时请保持相同的链接名,除非提示说明是名称的问题。

为什么要做这个

发布失败通常是一个人遇到的第一道真正的障碍。应用在预览中运行正常,他们点击发布,结果没有起来。对于不是开发者的人来说,「查看你的日志」并不是他们能够执行的建议。Fix with AI 把这一刻变成一次点击,而诚实的提示意味着当你阅读它们时,它们指向的是正确的问题。

限制

  • Fix with AI 会使用代理,因此和其他消息一样会消耗积分。
  • 它可以修复项目中的内容:代码、配置、启动命令。它无法修复已被占用的链接名、未验证的邮箱或积分余额为零的情况。
  • 有些问题需要你做决定,例如是否把一个大文件移到 Storage 中,或者把它压缩得更小。

每条提示以及对应的处理方法都记录在文档中:发布故障排查。关于在事情出错时修复问题的更广泛技能,请参阅 如何调试 AI 构建的应用。

Mythex · Pricing · 用 AI 构建任何东西 · 网站和应用模板 · Mythex 对比 · AI 应用构建术语表 · 免费的 AI 应用构建工具 · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 繁體中文(香港) 繁體中文(台灣)