網誌

Fix with AI:發布失敗,一按即修

喺 Mythex 發布失敗時,對話框而家會講清楚實際發生咗乜嘢,而且每次失敗都會俾你兩個掣:Fix with AI 同 Try again。Fix with AI 會將失敗原因同你個 app 印出嘅內容交俾代理,佢就可以修正項目再發布一次;如果你個 app 其實冇問題,佢就直接重新發布。我哋亦唔再將一啲實際上源於 app 本身嘅問題歸咎於「我哋呢邊」,並開始捉到一啲喺上線幾分鐘之後先爆開嘅 app。

有咗咩改變

每次失敗都有 Fix with AI

以前,有啲失敗會顯示 Fix with AI,有啲就只得 Try again。咁樣分,係睇吓問題似唔似我哋呢邊嘅責任:如果似係我哋嘅問題,我哋唔想代理花你嘅 credits 去追查一啲本身冇問題嘅代碼。

咁樣等於要你自己估下係邊一類失敗。而家每次失敗都會提供兩個掣。代理會攞到失敗嘅類型同背後嘅輸出,所以如果 app 有問題就修 app,如果冇問題就重新發布。你唔使自己分辨係邊種情況。

例外係嗰啲答案唔係代碼嘅情況。連結名稱已被佔用,會建議其他名稱;credits 用完,就會提供增值方法。

清楚講明發生咗乜嘢嘅訊息

有幾種失敗以前只會變成「我哋呢邊嘅問題,再發布一次就得」,呢句其實唔真確,再發布亦從來解決唔到。而家呢啲失敗各自有訊息:

  • 「你個 app 發布後冇啟動。」 App 已經發布,但始終冇開始接受連線。最常見嘅原因係佢聽嘅係另一個 port,或者只聽 localhost。已發布嘅 app 必須喺 0.0.0.0 同 $PORT 指定嘅 port 上聽。我哋而家唔再靠等固定時間去碰運氣,而係會檢查 app 嘅 port 是否真係接受連線。
  • 「呢個檔案太大」/ 檔案太多。 靜態網站每個檔案有大小上限(視乎網站類型,大約 25 至 30 MB),檔案數目上限係 20,000。我哋而家會喺上傳前先量度成個資料夾,每種檔案都用同一方法,而訊息會列出所有超過上限嘅檔案。
  • 「你個 app 啟動後即刻停咗。」 通常係缺咗設定,例如環境變數或 secret,或者第一個請求就崩潰,或者啟動指令有錯。

捉到上線後爆開嘅 app

發布可以成功,但 app 幾分鐘之後先失敗:可能不斷崩潰,或者運行緊但停止接受連線。Mythex 會定期檢查已發布嘅 app。如果 app 喺幾分鐘內反覆崩潰,或者運行緊但完全冇連線,發布就會標記為失敗,你會收到電郵,而項目會顯示該訊息同 Fix with AI。

如果 app 崩潰咗一次,之後自己恢復咗,就唔會當係發布失敗。如果原因係 app 用盡記憶體,你會另外收到一封關於呢件事嘅電郵。

當我哋將一個上線中嘅 app 標記為失敗,亦會儲存當時 app 印出嘅內容。你唔會見到原始輸出,但呢啲就係 Fix with AI 俾代理嘅內容,所以佢係從真正嘅錯誤開始,而唔係估嘅。

點樣使用

  1. 照常撳 Publish。
  2. 如果失敗,睇吓對話框入面嘅訊息。佢係用嚟講清楚發生咗乜嘢,而唔係只話有嘢出錯。
  3. 撳 Fix with AI。代理會讀取構建輸出或 app 嘅日誌,修正項目,然後你就可以再發布。
  4. 如果訊息話你個 app 冇問題,例如「發布服務暫時繁忙」或「發布被中斷」,通常撳 Try again 就夠。
  5. 如果你收到電郵,話上線嘅 app 不斷崩潰,就打開項目:同一個訊息同 Fix with AI 已經喺度等你。

再發布時,除非訊息話連結名稱有問題,否則保持相同嘅連結名稱。

點解我哋要做呢個功能

發布失敗常常係一個人第一次撞到嘅實牆。App 喺預覽入面運作正常,撳咗 Publish,卻起唔到嚟。對非技術人員嚟講,「去睇下你嘅日誌」並唔係一個佢哋做得到嘅建議。Fix with AI 將呢一刻變成一撳就搞掂,而誠實嘅訊息就令你睇嘅時候,指向真正嘅問題。

限制

  • Fix with AI 會用到代理,所以同任何訊息一樣會用 credits。
  • 佢可以修正項目入面嘅嘢:代碼、設定、啟動指令。佢修唔到已被佔用嘅連結名稱、未驗證嘅電郵,或者空嘅 credits 餘額。
  • 有啲問題需要你自己決定,例如係咪要將一個大檔案移去 Storage,或者將佢縮細。

所有訊息同每個訊息嘅處理方法,都喺文件入面:發布疑難排解。如果想學更廣泛嘅技巧,即係點樣喺出錯時搞掂,可以睇吓點樣為 AI 建構嘅 app 除錯。

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 简体中文 繁體中文(台灣)