指令用途
在開發者詢問 AI 助手關於程式碼庫架構的問題時,如果當前圖譜索引是不完整的(例如,有 50% 的檔案因為語法錯誤解析失敗,或者上一次背景掃描中斷了),AI 給出的答案就可能是不准確的。
index_status 用於 查詢圖譜完整性狀態。它回傳當前專案工作區中:
- 哪些原始碼檔案已被成功索引。
- 哪些檔案在解析時發生了語法錯誤 (Syntax Errors)。
- 圖譜庫的總節點數與關係數。
- 圖譜是否處於「最新同步 (Up-to-date)」狀態。
這是進行 Codebase Memory 系統自我診斷(System Diagnosis)不可或缺的工具。
運作流程
- 圖譜狀態檢索:讀取當前
projectId對應的圖資料庫統計元數據。 - 語法錯誤統計:掃描並歸納出
ParsingError節點的檔案路徑與錯誤原因(由 tree-sitter 產出)。 - 回傳與展示:輸出完整的圖譜完整度百分比與狀態指標。
實戰對話範例
範例:檢查圖譜是否完全同步
- You:
/opsx:explore "我剛剛在 PlcConnection.cs 裡加了新程式碼,但 AI 好像查不到。請幫我用 index_status 檢查圖譜狀態。" - AI:
好的,為了排除「圖譜同步延遲」或「語法錯誤阻礙」的可能性,我將呼叫
index_status工具檢查當前儲存庫的索引狀態。CM 呼叫:
index_status()
CM 回傳:{ "projectId": "TechSpecs", "isUpToDate": false, "indexCoverage": "99.2%", "filesParsed": 247, "filesFailed": 1, "failedDetails": [ { "filePath": "/src/Core/Communication/PlcConnection.cs", "error": "Syntax Error at line 142: 缺少封閉括號 '}'" } ], "totalNodes": 1824 }分析:
診斷結果非常明確!- 圖譜未同步:
isUpToDate為false。 - 語法語意阻塞:您的
PlcConnection.cs在第 142 行有一個語法錯誤(缺少封閉大括弧}),這導致 Tree-sitter 無法為其建立正確的 AST 語法樹,因而跳過了該檔案的圖譜更新。
請您先在編輯器中將第 142 行的括號補齊存檔。一旦您完成,我會重新執行偵測更新,使 AI 能夠正常檢索您的新代碼。
- 圖譜未同步: