跳到內容
Crystal CodeDocs
繁繁體中文

外掛

操作者在 plugins/ 下加入行程內擴展。同名的專案目錄會替換主目錄外掛。plugin.json 中 "enabled": false 會讓目錄留在原地而不載入它。config.json 中 "plugins": false 會跳過發現。為 true 時,該欄位會從寫入的檔案中省略。

外掛可以加入工具、協定用戶端、核准分類器、斜線命令、鉤子、原始鉤子和提示佔位符。它可以讀取目前工作階段模型,以及審查是否在使用自己的模型。實作 CrystalCode.Plugins.Data.IPluginDataDirectory 的外掛會收到它的全域和專案執行時資料目錄。請求模型用戶端的外掛可以呼叫工作階段模型,並在該開關開啟時呼叫審查模型。這些呼叫使用與回合分開的用戶端,且不會進入記錄。鉤子可以追加提示和壓縮文字,在使用者訊息儲存前改寫它,在不改變已儲存記錄的情況下修訂一次出站模型請求的文字,讀取一次已完成的模型回應,改寫工具呼叫(核准會再次執行),替換工具結果,並提高核准風險。它們不能降低風險,也不能替換 Work、Plan 或 Review。原始鉤子是特權擴展點,不受這些限制。它可以重建一次出站模型請求,用任意字串替換已組合的提示和壓縮文字,並用任意風險、權限、摘要和提示要求替換核准分類。註冊了原始鉤子的外掛會在載入時的說明中被點名。之後會加入更多鉤子方法。外掛是否彼此宣告依賴仍在考慮中,尚未決定。以後的模組系統可能位於外掛之下,並透過反射或其他機制觸及主機。它不在此組建中。/plugins 列出它們。/plugins on|off|reload 控制發現。/plugins enable|disable|show <directory> 更改一個外掛。crystal plugins list|show|enable|disable 在工作階段外做同樣的事,除非設定了 --format text,否則列印 Spectre.Console 表格。細節見外掛。