Files
cli/templates/check-page.md
jiantw83 e30bbf5780 feat(cli): 待修項目合併收成共用腳本,檢查改為併行
「待修項目」表原本由 doctor 與 setup 各寫一次。同一套合併與排序規則寫在
兩個地方,遲早各自漂移:一邊改了排序,另一邊漏掉一整類項目,而且沒有
任何地方看得出來。現在規則只留一份,兩支技能都呼叫它。輸入與輸出都是
TSV,一項都沒有時照樣印一列,呼叫端永遠有東西可以呈現。

doctor 的四項檢查彼此不共用資料,排成一列跑只是把等待時間乘上四倍,
現在同時啟動。doctor 呼叫接線腳本一律帶唯讀旗標,把「打錯一個子命令就
改到或刪掉檔案」的風險移進程式層,不再只靠指令打對。

deploy 的 CLI 偵測、版本結論與 marketplace 清單同樣互不相干,改成併行
取得。版本結論改讀版本守門腳本的單行結論,不再自己從表格推導。setup 把
已經確認過的模式與版本報告直接交給 deploy,操作者不必再答一次同樣的問題。

deploy、doctor、models 都補上結束碼分流:腳本回什麼碼就走哪條路,不再從
輸出內容猜。體檢目錄頁改成先讀回再更新自己那一列,整頁覆蓋會把別台機器
的紀錄一次抹掉。設定規格表補上技能盤點頁要用的環境變數,盤點頁才有地方
可寫。
2026-08-31 11:09:59 +08:00

2.5 KiB
Raw Permalink Blame History

執行環境體檢 — {hostname}/{使用者帳號}

由 jsc-cli:doctor 維護。這是體檢頁 CHECK_{HASH},只保留最新一次結果,重跑就整頁覆寫。 修復請執行 /jsc-cli:setup,它讀這頁的「待修項目」逐項處理。

  • 體檢時間:{yyyy-MM-dd HH:mm}
  • 工作目錄:{絕對路徑}
  • 執行 CLI:{claude、codex、copilot、antigravity、kiro 五選一}

結論

分類 通過 待修 略過
技能版本 {n} {n} {n}
Hook 接線 {n} {n} {n}
全域設定 {n} {n} {n}
自我設定 {n} {n} {n}

技能版本

Domain 本機 遠端 狀態
{domain} {版本} {版本} {落後、最新、超前、查詢失敗、無法驗證}

Hook 接線

CLI 狀態 缺漏項目 說明
{cli} {wired、degraded、unwired、skipped} {項目名,逗號分隔;無則寫「無」} {降級原因或未偵測到執行檔}

全域設定

項目 必要 現況 期望 修法 判定
{變數或檔案} {是、否} {實際值或未設定} {該是什麼} {自動、詢問、手動} {通過、走預設、未設定、缺漏、設錯、略過}

自我設定

工作目錄:{絕對路徑}

項目 必要 現況 期望 修法 判定
{變數或檔案} {是、否} {實際值或未設定} {該是什麼} {自動、詢問、手動} {通過、走預設、未設定、缺漏、設錯、略過}

待修項目

前六欄直接來自 jsc-cli/tools/build-todo.sh 的 todo 列,順序與類別由那支腳本決定,這裡不另行排序。 「影響」欄由 jsc-cli:doctor 補上。/jsc-cli:setup 從這張表接手;沒有待修項目時腳本會印一列「無」。

順序 類別 項目 範圍 現況 修法 影響
{n} {missing、invalid、unwired、落後、無} {變數、檔案、接線項目或 plugin 名} {global、project、cli 代號、版本} {實際值、缺少接線的檔案或本機與遠端版本} {auto、ask、manual 或接手的技能名} {不修的話哪些技能跑不動}

未登錄變數

原始碼有用到、config-spec.tsv 沒登錄的變數。體檢不判定它們,只提醒維護者補登錄。

變數 出現次數
{變數名} {n}