還原發現鏈
解釋索引優先、檔案系統回退、manifest 解析與來源優先級。
目錄能展示插件,安裝器能複製或克隆插件,運行時還要判斷啓用狀態與信任。把三層拆開,才能看清插件生態的真實安全邊界。
解釋索引優先、檔案系統回退、manifest 解析與來源優先級。
區分可發現、已安裝、已啓用、受信任,避免用一個「已安裝」覆蓋全部語義。
判斷 skill、agent、hook、MCP 與 script 在未信任狀態下的處理差異。
marketplace-root/
├── .grok-plugin/
│ ├── marketplace.json
│ └── plugin-index.json
├── plugins/
│ └── sample-plugin/
└── default-skills/掃描器先讀索引;缺失或無效時掃描 plugins/*/。default-skills 可作為虛擬插件加入結果。
sample-plugin/
├── plugin.json
├── skills/*/SKILL.md
├── commands/
├── agents/
├── hooks/hooks.json
├── .mcp.json
└── scripts/plugin.json 是首選 manifest,.grok-plugin/plugin.json 與 .claude-plugin/plugin.json 是後備位置。PluginManifest 可覆蓋 skills、commands、agents、hooks、MCP 與 LSP 路徑;解析後還要驗證路徑仍包含在插件根目錄內。
--plugin-dir.grok/plugins$GROK_HOME/plugins[plugins].paths關鍵區分:xai-grok-plugin-marketplace 負責目錄、掃描和安裝;xai-grok-agent::plugins 負責運行時發現、去重、名稱衝突、啓用與信任。Marketplace 中出現一條記錄,不代表組件立即執行。
MarketplaceRelativePath 拒絕絕對路徑、父目錄穿越和越界 join。遠程條目可用 git ref 或 SHA 定位內容。
發現配置維護 enabled 與 disabled。項目或用戶範圍預設加入 disabled 列表,CLI override 與 config path 預設加入 enabled,用戶可顯式調整。
項目插件按 canonical plugin root 授權,粒度是單個插件根。信任記錄寫入 ~/.grok/trusted-plugins。
match dunce::canonicalize(plugin_root) {
Ok(path) => self.trusted.contains(&path),
Err(_) => false,
}CLI override 與用戶範圍在源碼中標記為 trusted;項目範圍要求顯式信任;config path 位於用戶 home 下時可自動信任,其他位置仍需授權。
crates/codegen/xai-grok-agent/src/plugins/trust.rs · discovery.rs本地 Marketplace 通過 managed install storage 安裝;遠程條目通過 Git URL、ref、SHA 與 subdir 定位。InstallRegistry 寫入 MarketplaceProvenance。
當前程式碼能夠證明官方源常量、多個來源、目錄索引、搜索和安裝流程。它無法單獨證明插件數量、活躍作者、審核覆蓋率或增長速度,本頁不作這些推斷。
xai-grok-plugin-marketplace/src/lib.rs · types.rs提交物
插件骨架與威脅表
插件系統的核心價值由能力面與信任面共同決定。目錄解決發現,安裝器解決落盤,運行時信任門決定哪些內容可以進入執行鏈。
源碼快照説明:本頁依據本地 grok-build-main 的 xai-grok-plugin-marketplace 與 xai-grok-agent::plugins 整理。目錄樹合併了源碼預設約定,用於教學表達;來源優先級、路徑約束、啓用配置和信任行為保持源碼語義。