第十八節 外掛與擴充

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 包裝後上傳,避免被中間掃描誤殺(與業界惡意樣本傳輸慣例一致)。

提交過程

  • 提交時顯示實時上傳進度列
  • 網路抖動 / 伺服器端短暫不可用時指數退避自動重試;失敗給出真實原因(不是籠統報錯),並提供「重試 / 放棄」兩個選項。
  • 純文字反饋正常提交:不帶附件時不再多發空的附件欄位,伺服器端不會再拒收

「我的反饋」:檢視每條反饋的處理狀態與客服回復。