版本与诊断
四条命令能答掉几乎所有「它怎么这样」,三样东西能让几乎任何一份报障变得可回答。
这是哪一版
手机端与管理台上,它在「关于」那一屏。「最新」不是一个版本号。同为 1.0.2 的两次构建表现可以不一样 —— 这也正是这个站每一页页脚都印着构建印记的原因。
这台机器现在能不能用
把那些必须成立的事过一遍:有没有工作区、Agent 在不在跑、装没装一个用得了的 Runtime、权限允不允许你要做的事。它答的是整个问题,不是其中一块。
为什么什么都没发生
几乎总是这三件事之一,按这个顺序查:
- Agent 没在跑。
icloser agents显示谁在跑、各自绑在哪个工作区上。没有东西在跑,就没有东西会接这条任务。 - 在跑,但绑在另一个工作区上。
还是
icloser agents。在管理台里切工作区改的是配置,而 执行体 是启动那一刻绑定它的工作区的。切了好像没反应时,先看这条,别的都先放一边。 - 它接了,然后停下来问权限。
icloser perms显示这台设备可以做什么,icloser approval list显示什么在等你。一条停下来问的任务是对的 —— 它在动手之前就停住了,所以等的这段时间里没有任何东西是做了一半的。
它一直在说什么
常驻 Agent 的最近几行。加 -f 可以跟着看。
报障
三样东西能让几乎任何一份报障变得可回答。没有它们,第一句回复只能是「请补上这三样」。
- 版本与构建号
icloser version,或者「关于」那一屏。 - 任务 id
写在那条任务自己的卡片上。有了它我们能指着时间线和改动说话,而不是照着一段描述猜。
- 你以为会发生什么,实际发生了什么
分开写。「它不工作」把这两件事压成了一件,而丢掉的正是要紧的那一半。
发到哪儿:支持。
出问题了 —— 先敲哪一条
四条命令,四种不同的处境。抓错一条不是没事:其中两条只读,另外两条会真的改动你的机器或你的队列。
什么时候用它 「我这台机器现在能不能用」—— 在你开始猜原因之前先敲的那一条。
它到底做了什么 把「同时必须成立」的那几件事一趟过一遍:装的是哪一版、网关答不答话、这个工作区的凭据还管不管用、执行体到底在不在跑、这台机器够得着哪几家Runtime。它只读,什么都不改。
什么时候用它 员工说他做不了一件他本该做得了的事 —— 编译、跑测试、出包。
它到底做了什么 探测这台机器上的开发工具链(Go / Java / Android / Xcode / Node …),逐个说出在不在、是什么版本。它只跑 --version 和 which:不消耗模型额度、不碰工作区凭据,所以一台还没配过的机器上它也答得出来。
什么时候用它 probe 刚告诉你缺了什么,而你不想一个个去找安装包。
它到底做了什么 照 probe 探出来的缺口,用这个平台自己的包管理器补齐。它是同一对里会写的那一半 —— 先跑 probe 看清楚,因为这条会真的改动你的机器。
什么时候用它 一条任务一直挂在「执行中」而什么都没发生 —— 认领它的那台机器关了、睡了,或者执行体跑到一半被换掉了。
它到底做了什么 把那条任务放回队列,让任何一台合格的执行体接走。任务 id 不变。这是「认领之后没有出口」那个死局的出口 —— 原本只有认领它的那台机器能收尾,而那台机器已经不在了。
对已经发出去的任务下手
每一条都认 icloser task list 打出来的短 id,不用你去别处找全长的。每一条打完还会把服务端给的新状态读回来印出去 —— 所以「这条任务此刻不能暂停」不会长得和成功一模一样。
| 命令 | 它做什么 |
|---|---|
| icloser task cancel <id> | 停掉它。正在跑的那一趟会在执行体下一次心跳时停下来 —— 服务端杀不了你机器上的进程。 |
| icloser task pause <id> | 先按住。不丢进度:resume 之后同一条任务接着做,不是重头来。 |
| icloser task resume <id> | 让一条暂停的任务继续。 |
| icloser task retry <id> | 同一条任务(id 不变)放回队列重跑。它会真的起 Runtime,消耗你自己的模型额度。 |
| icloser task recover <id> | 把一条卡住的认领交还队列。没人在管它了的时候用这条 —— 见上面那一节。 |
| icloser task followup <id> "你要补充的话" | 给同一条任务追加指令,不是新开一条。执行体会带着它接着做。 |
| icloser task accept <id> | 确认这份交付。这是整条链路上属于人的那一下。 |
| icloser task choose <id> <你选的那一项> | 回答一条停下来问你「走哪条路」的任务。你的选择写回同一条任务并续跑。 |
| icloser task archive <id> | 把它挪开。什么都没销毁。 |
| icloser task unarchive <id> | 把归档的任务放回列表。 |
| icloser task delete <id> --yes 要 --yes | 从列表里彻底消失 —— 连 --all 也找不回来。 |
表往旁边拉 →
retry(它真的会重跑),这些都不问任何 Runtime —— 其余只是把任务在状态之间挪一下。