其他改進
除了前面介紹的主要架構改進外,Luker 還在連線管理、網路代理、UI 互動、擴充系統、效能最佳化等多個方面進行了增強。
連線管理器改進
Luker 對 SillyTavern 已有的 Connection Profiles 功能進行了增強,使其與預設解耦體系配合工作。改進後的連線管理器將連線配置與聊天補全預設完全分離——連線配置僅管理「連到哪裡」(API 位址、金鑰、代理等),不再包含生成參數。
啟動時自動執行遷移,清理舊配置中殘留的預設欄位和正則欄位。新增了 plain-text Function Calling 的開關和重試配置,可按連線配置獨立設定。支援透過斜線命令 /profile 快速切換配置。
提示詞分組
Luker 在 PromptManager 中新增了提示詞條目的分組能力。使用者可以將多個提示詞條目歸入命名分組,在 UI 中以可摺疊的分組形式展示。分組支援建立、重新命名、刪除操作;刪除分組時,組內成員變為未分組狀態。分組資訊隨預設儲存和載入。
預設分組
預設選擇器同樣支援分組功能。使用者可以將預設歸入命名分組,在下拉選擇器中以分組 header + 成員的層級結構展示。分組 header 渲染為不可選取的視覺分隔行,透過自訂的 select2-actionable-single.js 適配器實現。
預設關聯世界書
Luker 支援將世界書(Lorebook)與預設關聯。切換預設時,系統自動啟用對應的世界書,無需手動切換。撤銷預設切換時,全域世界書的啟用狀態也會同步恢復。
撤銷 Toast 系統
Luker 為多種破壞性操作添加了撤銷 Toast 提示,允許使用者在誤操作後快速恢復:
- 聊天刪除撤銷
- 角色卡刪除撤銷
- 預設刪除撤銷
- 世界書條目刪除撤銷
- 提示詞刪除/切換撤銷
- 提示管理器順序切換撤銷
動態模型列表
Luker 支援動態載入多種 API 的模型列表,取代寫死的靜態列表。目前支援動態載入的 API 包括 OpenAI、Claude、Vertex AI 等,也適用於各類 OpenAI 相容的第三方服務。同時支援為每個 API 來源自訂模型列表,方便使用第三方相容 API 時配置可用模型。
擴充鉤子排序
Luker 新增了 Hook Order 擴充,允許使用者自訂擴充的鉤子執行順序。當多個擴充監聽同一事件時,可以透過優先順序設定控制執行順序,支援第三方擴充 ID 和訊息事件。
角色狀態 API
Luker 為擴充提供了角色級別的持久化狀態儲存能力:
getCharacterState(avatar, namespace)— 取得指定角色在指定命名空間下的狀態資料setCharacterState(avatar, namespace, data)— 設定角色狀態資料registerExtensionApi(name, api)— 註冊命名 API,供其他擴充查詢和呼叫
這些 API 透過全域上下文物件暴露,支援擴充間的鬆耦合通訊。預設同樣支援狀態儲存,帶生命週期鉤子。
啟動效能最佳化
Luker 對啟動流程進行了多項效能最佳化,包括並行化資源載入、預載入最近聊天快照、懶載入聊天索引等。
詳見 啟動效能最佳化。
行動裝置適配
Luker 針對行動裝置和 Android WebView 進行了大量適配修復,涵蓋虛擬鍵盤、IME 輸入、觸控事件、小螢幕佈局等方面。
詳見 Android App。
前端日誌管理器
Luker 新增了前端日誌管理器,用於前端除錯和問題排查:
- 攔截
console.trace/debug/log/info/warn/error六個級別,寫入記憶體緩衝區(最多 3000 條) - 攔截
fetch請求,記錄 API 呼叫的請求/回應摘要(method、path、status、duration 等) - 捕獲
window.error和unhandledrejection全域錯誤 - 對請求 body 進行智慧摘要,提取關鍵資訊而非記錄完整內容
- 安全處理 Header,僅記錄非敏感欄位
透過 getFrontendLogsSnapshot() 取得日誌快照,支援按時間範圍和 ID 過濾。
TIP
後端日誌系統的詳細說明請參閱認證與配額頁面的日誌系統章節。