故障排查
下面每一條都是產品真會進入的狀態,附上它為什麼會發生、以及真正的下一步。
「等你機器上的 icloser 來接」
它的意思。任務在排隊,還沒有任何東西認領它。
為什麼。執行體 沒在跑;或者它在跑,但在另一個目錄裡,因此服務的是另一個工作區。
怎麼辦。去放著程式碼的那臺機器上看 執行體 在不在。從你本來想用的那個目錄裡起:icloser run。它列印的第一行會寫自己加入了哪個工作區 —— 核一下是不是你正在發的那個。
沒有可用的 Runtime
它的意思。那臺機器上沒有一家 CLI Agent 此刻能接這條任務。
為什麼。要麼一家都沒裝;要麼裝了的那些撞了額度、沒登入、或者已經在這條任務上失敗過。
怎麼辦。卡上會逐家列出被跳過的原因,以及要等哪件事發生。額度問題會在卡上寫的那個時刻自己解除。「沒登入」要你去那家 Agent 自己的 CLI 裡登入。「沒裝」就去裝。
執行中權限被拒
它的意思。Agent 在任務中途拒絕了一條命令。
為什麼。兩種完全不同的原因:那一檔從來沒批過 —— 這是 KernelHub 按你的授權判的拒;或者批過了,拒的是那家 Runtime 自己 —— 它自帶的權限設定不是第二套授權,這一下不是 KernelHub 的判決。
怎麼辦。出現卡片的話說明是缺檔 —— 核准,同一條任務接著跑。沒出現卡片的話,是 Runtime 自己拒了本來已授權的事;這臺機器上還有別家接得住時,同一條任務會交還佇列、由另一家接著做,不用你再核准一次。
「它守不住刪除邊界」
它的意思。這條任務會刪或遷資料,而接手的 Agent 表達不了拒絕清單。
為什麼。不是每家 CLI Agent 都有那個開關 —— 見 Runtime。
怎麼辦。在卡上放行這一趟 —— 這就是這條邊界的出口,不是去換一家「支援刪除」的 Runtime。你這臺機器上哪幾家守得住哪幾檔,看首頁那張表。卡片出現的那一刻,什麼都還沒被刪。
手機上不更新了
它的意思。手機上的任務停在原樣:要麼手機夠不著閘道,要麼閘道那頭沒有新東西 —— 那臺機器上的 執行體 沒在往上報。
為什麼。這一版手機不直連那臺機器,手機和 執行體 各自連託管閘道(kernelhub.icloser.xyz)。常見原因是:手機沒網路,或者所在網路擋了這個網域;那臺機器睡著了、斷網了,或者 執行體 沒在跑。
怎麼辦。iOS 上下拉重新整理;Android 上退出任務頁再重新打開。再去那臺機器上跑 icloser doctor:開頭印出它連的閘道,下面逐項說閘道連不連得上、權杖有沒有效。兩臺不需要在同一個網路;換 Wi-Fi 不需要重新配對。
任務報完成但什麼都沒變
它的意思。它跑完了,但沒寫檔案。
為什麼。通常是它問了個問題、停在了某條邊界上、或者判斷不需要改。
怎麼辦。讀時間線 —— 原因在裡面。用「要求修改」讓同一條任務接著做,別重發。
改動清單裡全是構建檔案
它的意思。這條任務跑了構建,而構建產出的檔案算是它產生的。
怎麼辦。你的原始碼改動排在清單最前面。想讓一條任務的 diff 小一點,就把「改」和「構建」拆成兩條任務。