
終於開始進入標題講的 Plugins 外掛實作階段,這次的章節分成
接下來會分享我實際做出,我也覺得好用的外掛
我們在第 19 天的時候講到 Agy CLI 有內建 /agy-customizations 和 /antigravity-guide 兩個知識庫技能,但畢竟只是技能,LLM 還是有機會不理你亂說,所以我們來打造一個 Agy CLI 的知識庫 Agent,用比較強硬的提示讓他再想想輸出內容是否正確再回應
不然像我三不五時在做 Agy CLI 的 Plugins,整天看他亂說自己不存在的功能就飽了
剛開始動工時,我跟 Agy CLI 討論後給 agy-help 設計了「四層降級查核機制」,機制如下
我最早在 Reddit 分享這個專案的第一版(連結),有一位 Googler 留言說只要用 /antigravity-guide 就好
為了證明只用 /antigravity-guide 是不夠的,我給 Agy CLI 一個錯誤的終端機畫面,然後問他這樣是對的嗎,結果 agy-help 第一版依照順著我的話出錯誤的答案,這樣不就真的只用 /antigravity-guide 就好了嗎,怒!
所以我直接在同一個對話串糾正和靠北他,要他用這個做出更嚴格的規範和正向表達,而且不能把這次的案例寫進規範內,總不可能我一直用補充的方式防呆吧,所以產生了「正向實證三軌協議」,協議如下
agy --help、agy version、agy plugin list 這類唯讀診斷指令,徹底封鎖模型自己跑去修改設定檔或反組譯執行檔的行為。第二版做好後,我把一樣的問題再問 Agy CLI,並且開新的終端機測試,他就不會再唬爛我了,測試的對照結果如下:
/Users/a00911914/.local/bin/agy 二進位執行檔執行 strings、nm 與反組譯,並嘗試透過指令動態修改 config.json 建立假外掛進行測試,陷入失控的探索循環。/<外掛程式名稱>:<技能名稱>」與「自動補全比對機制」兩項不存在的系統功能。SKILL.md:58-63(載入順序與衝突覆蓋規範)與 skills.md:47-55(技能唯一識別碼定義),指出兩項核心架構不變量:
SKILL.md 的 name 屬性,系統不存在帶有外掛名稱前綴的補全選單。/commit 選項。這兩場對照測試日誌(transcript.txt)以及 7 張執行過程截圖,我都放在 GitHub 的 doc/with-agy-help/ 與 doc/without-agy-help/ 裡面。
我用 agy-help 檢查和更新 README.md,然後他有一段說使用斜線指令 /agy_help,我想說這是子代理怎麼可以用斜線指令,該不會又在唬爛我吧,而且我試過 /agy-help 沒叫出任何斜線指令,所以我拿這點去靠北他
結果 agy-help 說因為有建立 Skills,所以可以用斜線指令呼叫,然後 Skills 的名稱是 agy_help,是用底線,但我輸入連字號,當然叫不出來
終於被 Agy CLI 糾正了,我好興奮啊!我好興奮啊!
antigravity-help-agent/
├── plugin.json # 外掛程式資訊清單(正式定名 agy-help,版本 v1.1.0)
├── LICENSE # MIT 開源授權條款
├── README.md # 英文說明文件
├── README.zh-TW.md # 繁體中文說明文件
├── doc/ # 實證案例日誌、測試提問與截圖佐證
│ ├── question.md # 測試提問原文與假想終端機模擬畫面
│ ├── with-agy-help/ # 啟用 agy-help 之正確實證紀錄(30.1k Tokens)
│ │ ├── transcript.txt # 完整終端機日誌
│ │ ├── screenshot_01.png # 證據檢索與協議啟動截圖
│ │ └── screenshot_02.png # 架構實質互斥分析與結論截圖
│ └── without-agy-help/ # 未啟用 agy-help 之對照組紀錄(130.8k Tokens)
│ ├── transcript.txt # 完整終端機日誌
│ ├── screenshot_01.png # 工具探索循環起始截圖
│ ├── screenshot_02.png # 反組譯二進位檔截圖
│ ├── screenshot_03.png # 背景任務與程序管理截圖
│ ├── screenshot_04.png # 嘗試建立假外掛截圖
│ └── screenshot_05.png # 虛構命名空間與自動補全之幻覺截圖
├── agents/
│ └── agy-help/
│ └── agent.md # 代理定義檔(連字號命名,內建三軌協議與安全白名單)
└── skills/
└── agy-help/
└── SKILL.md # 技能指示檔(連字號命名,註冊 /agy-help 指令)
外掛程式提供靈活的安裝途徑與 4 種呼叫方式,適用於不同開發情境。
透過 GitHub 遠端安裝:
agy plugin install https://github.com/AndyAWD/antigravity-help-agent
方式 1:使用斜線指令切換至專屬代理(/agents)
在已開啟的 agy 互動式交談中,輸入 /agents 指令,選取清單中的 agy-help:
> /agents
⎿ Prepared selection: agy-help (will fork the current conversation on exit).
切換後,目前會話將由 agy-help 主導,適合進行長時間的架構諮詢、外掛開發或疑難排解。
方式 2:使用技能斜線指令即時詢問(/agy-help)
若希望維持當前的主代理(例如專案編程代理),可直接在輸入列使用技能指令進行單次查詢:
/agy-help 如何在 Antigravity 2.0 桌面版設定專案層級的沙盒權限?
/agy-help 如何使用 Antigravity Python SDK 串流代理的思維鏈增量?
/agy-help Antigravity IDE 的 Tab 自動補全與超級補全如何運作?
方式 3:終端機啟動時直接指定代理(agy --agent)
在系統終端機中直接指定 agy-help 啟動工作階段:
# 啟動互動式交談
agy --agent agy-help
# 單次非互動查詢(適合自動化腳本)
agy --agent agy-help -p "請說明 Antigravity IDE 與一般 VS Code 擴充套件的本質差異"
方式 4:使用自然語言背景派工給子代理(Subagent 模式)
在編寫專案程式碼的日常開發會話中,若直接進行大量文件檢索,容易產生龐大日誌導致主要脈絡視窗(Context Window)迅速膨脹。此時可透過自然語言指示主代理將查詢派工給 agy-help 子代理:
請在背景派工給 agy-help 子代理去查閱 Antigravity IDE 的程式碼透鏡設定方式,並把結論帶回主對話。
主代理將委派任務至背景隔離進程,agy-help 子代理完成查核後,將結論透過訊息通道回傳主工作階段,確保主對話脈絡視窗維持乾淨。