故障排查
下面每一条都是产品真会进入的状态,附上它为什么会发生、以及真正的下一步。
「等你机器上的 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 小一点,就把「改」和「构建」拆成两条任务。