前言¶
DeepSeek Harness (DSH) 採用插件化架構。在使用 Web 客戶端時,流式內容增長時滾動到底部的體驗往往是瞬間跳變,這會打斷閱讀流或與用戶手動滾動發生衝突。dsh-smooth-scroll 插件將這種瞬時行爲改爲恆速平滑跟隨,改善流式閱讀體驗。
功能¶
該插件主要解決 DSH 會話滾底的視覺跳變問題:
* 恆速平滑跟隨:巡航速度爲 0.9px/ms,使滾動跟隨更加自然。
* 緩啓動與軟尾:起步緩升 240ms,收尾軟着陸 220ms。
* 用戶滾動接管:當真實位置連續偏離動畫寫入超過 2 幀時,判定爲用戶接管,動畫停止並回退真實值。
* 無干擾設計:不應用任何 transform,不干擾輸入欄等 UI,且不干擾 DSH 自身的狀態機判定。
* 兼容性回退:當系統開啓 prefers-reduced-motion 時,自動回退至官方瞬時行爲。
* 版本適配:適配 dsh v0.1.2-alpha.1 ~ 0.1.3-alpha.2。
安裝與啓用¶
安裝前需確保已安裝 DSH 並至少成功啓動過一次 Web GUI。
- 執行安裝命令:
dsh plugin --profile web add dsh-smooth-scroll
- 驗證安裝是否成功:
dsh --profile web --dump-config
在輸出中應能看到 `dsh-smooth-scroll` 層。
- 重啓
dsh web並打開會話,流式內容應平滑滾動到底部。
參數調整¶
插件通過編輯源碼來調整參數。編輯 src/client.js 頂部的常量區,完成後運行 pnpm run build 並重啓 dsh web。
主要參數包括:
* VEL:巡航速度(默認 0.9)。
* RAMP_MS:起步緩加速時長(默認 240)。
* QUIET_MS:判定停止增長的靜默窗口(默認 240)。
* TAIL_PX:進入軟尾的剩餘距離閾值(默認 120)。
* TAIL_MS:軟尾緩動時長(默認 220)。
* DIVERGE_STOP_FRAMES:真實位置連續偏離動畫寫入的幀數閾值(默認 2)。
兼容性說明¶
- 支持版本:dsh v0.1.2-alpha.1 ~ 0.1.3-alpha.2。
- 不支持版本:0.1.1-rc.2 及更早版本。該代使用不同的宿主結構,不兼容。
注意事項¶
- 參數修改:插件暫不支持運行時配置,需通過編輯源碼修改參數。
- 許可證:MIT 許可證。
總結¶
dsh-smooth-scroll 通過恆速平滑跟隨和用戶接管機制,解決了 DSH Web 客戶端流式內容滾動的突兀問題。其無 transform 設計保證了 UI 的穩定性。更多細節可參考項目主頁。