第十八節 外掛與擴充
AVL Code 的能力還可以通過外掛進一步擴充。
18.1 外掛能做什麼
- 一次性安裝一組技能(skills)。
- 一次性安裝一組掛鉤(hooks)。
- 接入一組外部工具服務(MCP server)。
- 提供專屬的助手人設。
- 提供專屬的工作區模板。
18.2 外掛市集
設置 → 外掛 面板分兩層:
- 市場視圖:可新增 / 切換外掛源,瀏覽外掛畫廊(按分類、按已披露的能力篩選),一鍵 安裝 / 啟用 / 停用。刪除走行內二次確認(不彈模態),避免誤刪。
- 已裝視圖:列出當前帳號已裝外掛,啟停、解除安裝、檢視版本與作者。兩層之間通過麵包屑傳回。
18.2.1 相容 Claude Code 外掛
AVL Code 內置 CC 外掛適配器,可直接消費社區 Claude Code 外掛目錄:
- 引用寫法:
github@claude-plugins-official(指向官方目錄)、owner/repo直接 git 拉取,都識別。 - 適配器把 CC 外掛結構翻譯成 AVL Code 原生格式,無需手工轉換。
18.2.2 安裝前確認彈窗
每次安裝前彈確認彈窗,把以下訊息一次攤開供你檢視:
- 來源溯源:來自哪個市場、源程式碼儲存庫地址、版本號、作者、主頁。
- 要執行的命令列:安裝指令碼會跑什麼、裝到哪。
- 能力清單:會註冊哪些技能 / 掛鉤 / MCP server,分別需要哪些權限。
- 簽章訊息:是否有簽章、簽章是否通過校驗。
看清楚再點「安裝」,避免裝到來路不明的外掛。
來源可信一眼可辨:外掛卡片的作者旁有來源可信盾牌(與外掛商店同款標記),直觀標示來源可信狀態;模型提供方條目復用其所屬外掛的品牌圖示,「外掛」徽標為中性描邊樣式。
匯入身份以簽章清單為準:從 zip 匯入外掛時,外掛名取自簽章清單(manifest)而非 zip 檔名,檔名無法冒充外掛身份;匯入與既有外掛同名的 zip 時不再靜默復用舊目錄,避免「匯入成功」但內容未更新的假象。
18.2.3 檢查更新與升級
外掛裝完之後也能跟上上游更新:
- 市場可回源重新整理:已新增的市場源支持重新拉取(git 源重拉、本機源重新解析),重新整理後市場視圖會露出各外掛的已裝版本與「可升級」標記,可從市場行或卡片直接升級。
- 已安裝外掛「檢查更新」:外掛列表頭提供「檢查更新」入口,反查已裝外掛有沒有更新;有更新的外掛卡片顯示「有更新」徽章與升級按鈕。
- 升級更穩妥:版本比對以 semver 為主、差異兜底;升級前先清空外掛目錄避免舊元件殘留;市場快取採用原子換盤,失敗可安全復原到舊快取。
- 真實進度看得見:市場的安裝 / 升級 / 預覽 / 更新 / 新增操作顯示行內進度列,解析 git clone 的真實下載進度實時反饋;更新 / 檢查更新按鈕為原地旋轉的重新整理圖示。
18.2.4 開箱即用的典型外掛目錄
倉庫自帶 22 個典型外掛,裝上即用(均帶官方品牌圖示與簽章清單):
- 15 家模型提供方:DeepSeek、OpenRouter、OpenCode Zen、OpenCode Go、MiniMax、小米 MiMo(按量 / Token Plan 兩款)、智譜、月之暗面 Kimi、通義千問、豆包、Ollama(本機)、矽基流動、階躍星辰 StepFun,以及一個 OpenAI 相容模板(照着改 Base URL / Key 即可接入任意相容端點)。裝上外掛 → 填 Key → 即可在模型頁選用,術語統一為「模型提供方」。
- 知乎工具集:接官方開放平台 API 的站內搜尋 / 全網搜尋 / 熱榜工具。
- 4 個原生能力示範(安全分析主題):工具集(sec-toolkit)、稽核掛鉤(audit-guard-hooks)、通知通道(notify-channels)、安全分析技能(sec-analysis-skills),分別演示 tools / hooks / channels / skills 四類能力怎麼寫。
- 2 個 Claude Code 相容格式示範:安全專家人設(agents + commands)、DevOps 套件(mcp + hooks),演示 CC 外掛結構如何被適配器直接消費。
18.2.5 在對話裡管理外掛(外掛管理工具組)
助手可以直接在對話裡完成外掛生命週期,對應四個工具:
| 工具 | 作用 |
|---|---|
PluginSearch |
搜尋市場目錄(全域只讀) |
PluginList |
列出已裝 / 可裝清單 |
PluginInstall |
安裝並在當前工作區激活 |
PluginUninstall |
解除安裝並同步清理 |
安裝 / 解除安裝等寫入類操作走兩步確認:第一步傳回 dry_run 預覽(能力清單、MCP 真實命令列、簽章狀態、來源溯源),你同意後才真正落地 — 與外部服務接入的確認閘同款。裝完 / 移除完成後外掛面板實時重新整理,無需手動同步。
18.3 啟停
每個外掛可在 設置 → 外掛 中獨立啟停,停用後只是不再生效,配置仍然保留,可一鍵復原。
18.3.1 工作區預設生效
全域安裝的外掛在每個工作區預設啟用(可按需關掉);通過市場裝完即在當前工作區自動激活,不再出現「裝了不生效」的歧義。
18.4 團隊外掛市集(可選)
組織管理員可以搭建內部外掛市集,統一審核與分發。普通使用者在 設置 → 外掛 中切換市場源即可看到團隊專屬外掛。
18.5 外掛的技能 / 掛鉤真正生效
- 外掛攜帶的技能會隨安裝複製進工作區,可通過
skill.list看到、skill.invoke呼叫;切換工作區、重開工作區、註冊表重建之後依然在。 - 外掛攜帶的 hook 指令碼隨安裝就位,hook 根目錄環境變數(
CLAUDE_PLUGIN_ROOT)正確指向外掛目錄,SessionStart / 命中工具時的 hook 都能穩定觸發。
18.6 產品公告
AVL Code 會展示官方公告:
- 未開啟工作區時:在頂部以橫幅形式顯示。
- 開啟工作區後:以全寬訊息條的形式緊貼輸入框上方顯示。
- 點擊橫幅 / 訊息條彈出詳情層,普通公告與提醒按顏色區分。
- 支持逐條標記已讀或一次性全部已讀;已讀狀態本機記憶,不會反復打擾。
18.7 使用者反饋
新增「意見反饋」入口,三處都能進:
- 設置 → 反饋 tab — 只展示「我的反饋」列表;標題右側「新增反饋」按鈕彈窗提交(在設置裡開啟不會自動截窗體)
- 頂部全域入口(圖示為 ✉ 與問號組合)— 自動截當前視窗作附件
- Header 命令面板(
Cmd/Ctrl+K)
填寫:類別、內容、聯絡方式。登入後實名提交,未登入可匿名提交。
附件:
- 預設自動截取當前視窗作為附件,方便描述問題。可在 設置 → 反饋 → 提交反饋前自動截當前視窗 開關裡關掉(預設啟用;現有配置自動補啟用)。關掉後從頂部喇叭入口開啟反饋也只是空附件的彈窗。
- 也可加入自己的文件、工作階段匯出、診斷報告。
- 每個附件自動預檢大小:超限的自動跳過、不阻斷提交。
- ≤ 1 MiB 的附件自動計算 SM3 摘要做去重,相同內容不會重復上傳。
- 非圖片附件(記錄檔 / 文件 / 診斷報告等)會用通行碼為
infected的加密 zip 包裝後上傳,避免被中間掃描誤殺(與業界惡意樣本傳輸慣例一致)。
提交過程:
- 提交時顯示實時上傳進度列。
- 網路抖動 / 伺服器端短暫不可用時指數退避自動重試;失敗給出真實原因(不是籠統報錯),並提供「重試 / 放棄」兩個選項。
- 純文字反饋正常提交:不帶附件時不再多發空的附件欄位,伺服器端不會再拒收。
「我的反饋」:檢視每條反饋的處理狀態與客服回復。
