Vesta,Claude Code 的自適應本體
Vesta 是一個面向 Claude Code 的插件,通過後台構建倉庫的引用圖、業務詞彙本體和既有會話結論,讓 AI 代理無需通讀代碼即可回答結構性問題。它默認作為助手運行,在關鍵時刻提示已存在的問題、規則和此前結論,並以斜槓命令提供全部功能。Vesta 完全在本地推理,不讀取隱藏文件或依賴目錄,也不發起網絡請求,大部分效果尚未被量化。
Vesta 是一個面向 Claude Code 的插件,旨在讓 AI 代理不再為了回答倉庫的結構性問題而反覆閲讀代碼。它會解析倉庫中“誰引用了誰”的依賴關係,構建工作區命名與業務概念之間的本體,並把之前會話已經得出的結論沉澱下來。安裝後無需額外操作,插件會在後台默默建立圖譜,並隨代碼變化持續更新。
在平時的開發過程中,Vesta 默認作為助手運行。當代理即將修改某個文件時,它會提示該文件中已經存在的、被吞掉的失敗(swallowed failure)——第一次提到某個文件時會説明,再次提到同一文件則不再重複。它還會記錄你在日常工作中説出的規則,並在後續操作可能違背這些規則時提醒。如果提示涉及某個定義,Vesta 會附上先前會話從哪些代碼區域得出相關結論,方便代理核對而不是盲信。對於沒有指名任何對象的提示,Vesta 不會打擾用户。
用户可以通過斜槓命令主動詢問。/vesta:shape 用於在打開文件前瞭解倉庫的組成;/vesta:touches 顯示一次改動會影響到哪些範圍、哪些測試覆蓋它;/vesta:does 用日常語言描述一類工作,然後返回這些工作通常發生在代碼中的何處;/vesta:defects 會自動尋找值得修復的問題;/vesta:decided 列出你已經聲明的規則,並檢查代碼是否遵守;/vesta:tutorial 則讓你在自己的倉庫中一頁一頁地學習。/vesta:help 可以查看全部命令。其中 /vesta:does 並不等價於 grep——它需要把業務詞彙(如“重試失敗請求”“對提交去重”)翻譯成代碼中的實際命名,這種詞彙映射每個倉庫只需要推導一次。
在空目錄中請求構建整個項目時,Vesta 會提供兩種選擇:交互式構建,或先達成契約再自動運行到完成。如果選擇交互式,之後不會再詢問;自動化模式絕不會被未經確認地觸發,也不會在已經有人工作過的倉庫中主動提供。
Vesta 使用代理自身的推理能力運行,不持有 API 密鑰,也不會發起任何網絡請求。它根據任務類型選擇模型:讀取定義並打標籤這類對每個定義只發生一次的操作使用小模型,因為大規模使用大模型會讓方案過於昂貴;而生成需要被採納的合同、規格等合成內容時才使用一次更大模型。所有推導結果保存在 ~/.vesta 下,可以隨時刪除。/vesta:held 可以報告當前保存了哪些內容,並回收已刪除倉庫的緩存。任何數據都不會離開用户的機器。
Vesta 也有明確的邊界:它不讀取任何隱藏文件——包括 .env、.aws、.ssh 等點開頭文件——也不會進入 venv、node_modules、site-packages、vendor 等依賴目錄。它不會斷言自己沒有推導過的內容;規則只依據你實際説出的、經過轉錄驗證的語句記錄。遇到無法解析的引用時,它會如實報告,而不是暗示已經得到完整答案。工作區中項目之間的引用若未納入圖譜,也會明確標註。
運行要求包括 Python 3.10 或更高版本,以及對應語言的語言服務器,例如 Python 使用 pyright-langserver、Rust 使用 rust-analyzer、Go 使用 gopls。Vesta 首次使用時會構建自己的運行時,不需要用户安裝額外依賴;如果某個倉庫使用的語言沒有對應服務器,它也會報告,而不是悄悄給出不完整的解析。
項目公開了一組成本測量數據。針對本倉庫的只讀結構性問題,以相同提示詞、宿主自帶的 /cost 進行對照實驗:不安裝 Vesta 的對照組花費 0.4872 美元;由代理主動調用工具的實現花費 0.3747 美元,降低 23.1%;將信息以注入方式提前放到代理面前的實現花費 0.2980 美元,降低 38.8%。注入模式在代理做任何決定前只輸出了 799 個字符,而工具模式通過三次調用給出了 21,905 個字符。更多細節見 doc/measurements.md,測試框架位於 trial/ 目錄。不過作者也明確承認,大部分效果尚未被量化——例如在編輯文件時及時呈現缺陷能否改善最終產出、詞彙映射能否發現 grep 發現不了的問題、規則提取是否值得保留,這些都還沒有驗證。相關開放問題記錄在 doc/open-questions.md。
Vesta 以 Apache 2.0 許可發佈,具體條款見 LICENSE 與 NOTICE.md。安裝命令為 /plugin marketplace add https://gitlab.com/causum/vesta.git 和 /plugin install vesta@causum。