Runtime
KernelHub 不包含模型。它驅動你自己裝的 CLI 編碼 Agent。換哪一家,授權都在同一個地方核:寫、改、執行經 KernelHub 內建的 Tool Server,對照你的授權和工作區邊界。
node -v 和 npm -v 都打出版本號;它的安裝器不會替你裝 Node。例外是 agy(Antigravity),要從 Google 官方渠道裝。怎麼選
支援的 Agent 在 PATH 裡,KernelHub 就找得到。要指定某一家:
可用的 kind:claude · codex · agy · qwen · codebuddy · opencode · kimi · mimo · pi · ohmypi · acp · mcp · generic。
Google 這一家在這裡的形態是 agy(Antigravity)。gemini 這個 kind 仍然認(適配器保留,沒刪),但它已退役:Google 不再提供可以自己登入單獨使用的 gemini CLI。
「批了」不等於「管得住」
這是兩件事。一檔授權放行什麼,是在動作發生的地方判的:Runtime 要做的每一次寫、改、執行,都經過 KernelHub 內建的 Tool Server,先對照你的授權和工作區邊界核過再跑。至於這一檔另外有沒有不靠這條路的東西守著 —— 那家 Runtime 命令列上可驗證的開關,或者它程序外面那道可選的 OS 邊界 —— 是另一個問題。六檔裡有一檔證不出,這一家就標 NOT_READY。那是記帳,不是攔路:它照樣接活。
哪一家的哪一檔由誰守住,這一頁不複述。首頁那張表是逐家、逐檔去問活的註冊表問出來的,隨程式碼一起變;這裡再手寫一份,遲早和它對不上,而照著對不上的那份去換 Runtime 是白換。
KernelHub 為此做了什麼
只有真接不了這條任務時才會跳過一家 —— 沒裝、起不來、撞了額度正在冷卻、或者在這條任務上已經失敗過。有一類任務還會看檔位:要刪除或遷移資料的,先交給表達得了拒絕清單的那一家;機器上一家都表達不了時,任務在刪任何東西之前停在一張邊界卡上,請你放行這一趟。
中途換家
選中的那一家撞額度、或者拒絕了它本來被授權的命令時,任務可以交給另一家接著做,而且是同一條任務,歷史和改動都留著。
icloser runtimes 能看到什麼
它回答三個此前只能靠讀原始碼回答的問題:裝了哪幾家、各是什麼版本、各支援什麼。全程只跑 --version —— 不消耗任何模型額度、不碰工作區憑證,所以一台還沒設定過的機器上它也答得出來。
六態,以及不許折進它們的另外三檔
狀態詞由 CLI 原樣印出,三種語言下一字不差。下面的順序就是探測的判定順序 —— 它從你此刻做得掉的那一步開始報。
| 狀態 | 是什麼意思 | 能接活 | 你的下一步 |
|---|---|---|---|
| NOT_INSTALLED | 這台機器的 PATH 上沒有這個執行檔。 | 不能 硬不可用 —— 連試都不試 | 裝上它。如果那行理由裡點了一個路徑出來,說明套件就在這台機器上、只是沒進 PATH —— 再裝一遍沒有用。 |
| INSTALLED_NOT_STARTABLE | 檔案在,但它起不起來 —— 裝了一半、負載缺失、或者權限位元壞了。 | 不能 硬不可用 —— 連試都不試 | 把那家 Runtime 重裝一遍。注意這一檔下 --version 照樣答得出來 —— 這正是它不能被折進「健康」的原因。 |
| STARTABLE_NOT_AUTHENTICATED | 起得來,但這台機器上它沒登入,或者它要的那份憑證沒設定。 | 不能 軟不可用 —— 仍會讓它跑到那一步,好讓你拿到 Runtime 自己那句話 | 在你自己的終端機裡,用那家 Runtime 自己的指令登入一次。KernelHub 不持有任何模型 API key,它用的是你已有的登入狀態。 |
| TOOL_CHANNEL_INCOMPATIBLE | 在命令列上接不上內建 Tool Server。登入也修不好 —— 這是那家 CLI 自己的性質。 | 能 | 沒有你能做的下一步。它照樣接不需要工具通道的活;需要的那些會被派給別家。 |
| AUTHENTICATED | 起得來、憑證在、工具通道也接得上。沒有任何證據說明它這一刻答得出來 —— key 可能過期,provider 可能在限流。 | 能 | 不需要做什麼。想要更硬的答案:icloser runtimes --verify 會真的問模型一次。 |
| HEALTHY | 有硬證據說明它這一刻接得住活 —— 真的問過它一次,也真的答回來了。 | 能 | 沒有。只有跑過 --verify 才到得了這一檔;不跑的話最高只到 AUTHENTICATED。 |
| STARTABLE_AUTH_UNKNOWN 不屬於那六態 —— 別把它讀成其中某一檔的變體 | 起得來,但登入狀態問不出來。我們既不猜一個 ok,也不冤枉說它沒登入。 | 能 | 不強求你做什麼。它照樣能接活 —— 把「問不出來」判成「不行」,等於讓一台能做事的機器閒著。 |
| USER_SUPPLIED 不屬於那六態 —— 別把它讀成其中某一檔的變體 | 執行檔是你自己用 --runtime 指的。「裝沒裝」這個問題對它不成立。 | 能 | 沒有。這正是「KernelHub 沒聽說過的 Runtime」的入口。 |
| NOT_APPLICABLE 不屬於那六態 —— 別把它讀成其中某一檔的變體 | 協定條目(acp / mcp)。它壓根不對應某一個執行檔,探測無從談起。 | 能 | 沒有。這不是「壞了」,是範疇不同。 |
表往旁邊拉,右邊那一列是「你的下一步」 →