
SillyTavern 加載提速實操指南8 處調整讓大角色庫打開快 3 倍【免費下載鏈接】SillyTavernLLM Frontend for Power Users.項目地址: https://gitcode.com/GitHub_Trending/si/SillyTavern凌晨兩點你正和角色聊到關鍵劇情切到角色庫頁面卻轉了十幾秒圈消息發出去半天沒有回音。這類卡頓多數不在模型身上而是 SillyTavern 的靜態資源加載、角色卡讀取和網絡配置沒調對。這篇文章帶你完整做一輪 SillyTavern 性能優化先確認瓶頸在哪再按難度分三檔動手改改動范圍限定在一個配置文件和兩個源碼文件里一個下午可以全部完成。動手之前先花十分鐘做一輪快速排查確認瓶頸到底卡在哪一層。SillyTavern 性能優化 實踐場景酒館主題默認背景快速體檢清單先定位 SillyTavern 卡在哪 打開瀏覽器 DevToolsF12按順序核對下面 5 項首次打開靜態資源慢→ Network 面板里首次加載大量 .js / .css 很慢刷新卻顯示 (from disk cache)大概率是靜態資源沒有緩存策略。角色庫打開轉圈→ 幾百張卡片的角色庫加載慢大概率是全部卡片一次性讀取懶加載開關沒開。消息保存慢→ 保存請求 Time 超過 1 秒且請求體有幾 MB大概率是請求體過大又沒有壓縮。本地模型首條回復慢→ 重啟后只有第一條回復慢、之后恢復正常大概率是模型被反復加載進內存。Lighthouse 跑分低→ 跑一次 Performance 報告重點看 Largest Contentful Paint 和 Total Blocking Time兩項都高就是首屏資源問題。分檔優化路徑SillyTavern 性能優化按難度分三檔上面 5 項分別對應三類改法純配置開關、網絡行為設置、源碼微調。按你能承受的風險挑一檔開始。今天就能做的零風險5 分鐘內以下 3 項都是 default/config.yaml 里的一行開關改完重啟服務。開啟角色卡懶加載原理和長電商頁的懶加載一樣滾動到才加載卡片數據。角色卡的內存緩存與磁盤緩存已經內置在 src/endpoints/characters.js打開開關即可performance: lazyLoadCharacters: true預期效果500 張卡片規模的角色庫打開耗時從幾秒降到 1 秒內。調低頭像縮略圖質量96×144 的小頭像用 95 質量的 JPG 屬于過度壓縮降到 80 肉眼幾乎看不出差別體積能明顯減小thumbnails: quality: 80 format: jpg預期效果角色庫里的頭像縮略圖體積減小約三分之一切換頁面跟著變快。開啟請求體壓縮聊天歷史保存時請求體可達幾 MB。SillyTavern 內置了請求壓縮能力前端邏輯在 public/scripts/request-compression.js開關在服務端配置里performance: requestCompression: enabled: true預期效果聊天保存類請求在鏈路上的體積降到約四分之一Time 從秒級降到幾百毫秒。SillyTavern 性能優化賽博朋克臥室背景展示靜態資源加載場景花一個下午能搞定的改配置 / 引依賴這一檔改動的是服務端對外連接行為改完需要留點時間觀察日志。打開全局 keep-alive 復用 API 連接src/server-main.js 里會根據這個配置創建全局 HTTP Agent開啟后 SillyTavern 轉發請求到后端 API 時復用連接不再每次重新握手enableKeepAlive: true預期效果本地網絡下每次 API 響應減少幾十毫秒并發場景下差距更明顯。配置文件注釋里也寫了如果之后日志出現 ECONNRESET把它改回 false 并檢查網絡環境。給 CORS 預檢加緩存跨域部署才需要跨域部署時瀏覽器每個真實請求前都會先發一次 OPTIONS 預檢。設置maxAge讓瀏覽器緩存預檢結果cors: maxAge: 600預期效果10 分鐘內預檢請求從每分鐘幾百次降到個位數弱網下響應速度感知提升明顯。關掉用不到的擴展模型自動下載SillyTavern 的擴展體系會按需從 HuggingFace 下載 ONNX 模型情緒識別、圖像描述等首次下載很慢。用不到就關掉extensions: models: autoDownload: false預期效果啟動流程不再被模型下載拖住擴展面板加載也更輕。需要動源碼的改邏輯 / 加模塊這兩處都改 src/server-main.js動手前先備份文件每改一處驗證一次。給 compression 中間件加過濾條件現在的app.use(compression())會對所有超過 1KB 的響應做 gzip而 PNG / JPG 本身已是壓縮格式再壓一遍是白燒 CPU// src/server-main.js app.use(compression({ filter: (req, res) { const type res.getHeader(content-type) || ; return /json|javascript|css|text/.test(type); }, }));預期效果圖片響應不再走壓縮CPU 占用下降可支撐更多并發文本類接口響應速度基本不變。給字體資源加瀏覽器緩存當前express.static托管 public/ 時用的是空選項{}。NotoSans 字體文件基本不變可以在它前面加一條專用緩存路由// src/server-main.js放在 express.static(public) 之前 app.use(/webfonts, express.static(path.join(serverDirectory, public/webfonts), { maxAge: 7d, }));預期效果第二次訪問時字體傳輸量降到接近 0首屏 LCP 相應縮短。效果復查用兩個面板驗證提速SillyTavern 性能優化 復查冬季湖畔背景用于驗證靜態資源加載驗證方法簡單且可復現Network 面板對比DevTools → Network勾選 Disable cache 后強制刷新記錄 Transfer Size 和 Time 兩列的總量優化前后各測一次。Lighthouse 分數對比優化前后各跑一次 Performance 報告對比 Performance 分數和 Largest Contentful Paint 兩個數字。下表是在小規格云服務器2 vCPU / 4GB上的示例數據你的環境數值會有差異指標示例數據優化前優化后角色庫打開500 張卡約 2~3 秒約 0.5~1 秒首訪靜態資源傳輸量約 1.5~2 MB約 0.8~1 MB二次訪問字體資源約 1~1.5 MB接近 0聊天保存請求體3MB 歷史約 3 MB約 0.5~1 MB哪一項沒達到預期就回到體檢清單里找它對應的瓶頸項單獨再查。避坑提醒改之前先看完 ??裝了第三方擴展就先別開懶加載—— 部分擴展讀取淺層卡片數據可能報錯。正確做法開啟后觀察是哪個擴展報錯定位不了就把lazyLoadCharacters改回 false。縮略圖質量只對新縮略圖生效—— 舊緩存不會自動變小。正確做法改完后清空數據目錄下的 thumbnails 目錄里的舊圖讓它們按新質量重新生成。requestCompression 的 minPayloadSize 別改成 0—— 壓縮一個幾百字節的小請求反而讓體積變大、速度變慢。正確做法保持默認 256kb 閾值夠大才壓。行動清單按這個順序動手打開 default/config.yaml把performance.lazyLoadCharacters設為 true 并重啟服務這是大角色庫提速的第一步。同文件把thumbnails.quality改為 80清空數據目錄下的舊縮略圖。開啟performance.requestCompression.enabled發一條消息觀察保存請求是否變快。跨域或多用戶部署的話補上cors.maxAge和enableKeepAlive。以上都不夠時再改 src/server-main.js 里的 compression 過濾條件和 webfonts 緩存兩處。改完記得跑一遍 Lighthouse看看 Performance 分數比體檢那次漲了多少。【免費下載鏈接】SillyTavernLLM Frontend for Power Users.項目地址: https://gitcode.com/GitHub_Trending/si/SillyTavern創作聲明:本文部分內容由AI輔助生成(AIGC),僅供參考