前言¶
每天用 DSH(DeepSeek Harness)Web 界面對話的開發者,大部分時間都在盯着那個聊天輸入框。原生光標以固定頻率閃爍,長文輸入或用輸入法寫中文時,很容易丟失「光標現在在哪」的視覺錨點。事情不大,但每天都要面對。
DSH 的理念是「一切皆插件」,輸入框的呈現方式同樣可以交給插件處理。下面介紹 smooth-cursor,它只做一件事:把原生閃爍光標替換成一枚會隨輸入平滑滑動的發光彗星。
這是什麼¶
smooth-cursor(包名 dsh-smooth-cursor)由 Lacquervii 維護,定位爲 UI 增強類插件,當前版本 0.1.6,採用 MIT 許可證。它面向 DSH Web 聊天輸入框,把光標渲染爲平滑移動的發光彗星,並提供拖尾、強調色、粗細等配置項。
光標平滑效果的靈感來自 VSCode 的 smooth cursor 概念,並參考了 Obsidian 社區的 animated-cursor 插件(MIT,原作者 Kotaindah55 / Sheva Ihza);本項目的渲染與集成是爲 DSH Web 獨立重寫的實現。
核心功能¶
- 呼吸光標:平滑緩動,輸入時光標滑向文字位置,而非閃爍。
- 彗星拖尾:移動光標時帶有漸細漸隱的拖尾。
- 可配置:開關特效、開關拖尾、強調色(預設色板或自定義取色)、粗細(細 / 中 / 粗)。
- 適配 IME:測量尊重輸入法組合狀態,中文、日文輸入依然準確。
- 瀏覽器本地持久化:設置存於
localStorage,無需重啓宿主或來回請求。
版本要求¶
插件依賴官方 @deepseek-ai/dsh-client-ui-renderer 包,該包從 DSH 0.1.0-rc.8 起才提供。安裝前先確認版本:
dsh --version # 確認版本號 >= 0.1.0-rc.8
早期版本(如 0.1.0-rc.7)不包含此包,插件將無法加載。
安裝與啓用¶
推薦方式是直接作爲 DSH 插件安裝:
dsh plugin --profile web add dsh-smooth-cursor
也可以通過 GitHub 安裝:
dsh plugin --profile web add github:Lacquervii/smooth-cursor
安裝後重啓 dsh web,在 設置 → 通用 → 輸入光標 中即可找到設置項。
如果想本地開發、手動安裝,先克隆倉庫並構建:
git clone https://github.com/Lacquervii/smooth-cursor.git
cd smooth-cursor
pnpm install --ignore-scripts
pnpm build
然後在你的 profile 的 cordis.patch.yml 中註冊:
- insert:
- id: smooth-cursor
name: dsh-smooth-cursor
補充一點:倉庫已提交 lib/ 產物,即使包管理器阻止了 prepare 構建步驟,從 git 安裝後也能直接運行。
典型用法¶
輸入框獲得焦點時特效即生效,不需要額外操作。打開 設置 → 通用 → 輸入光標,可以:
- 開關整個特效,或僅開關彗星拖尾。
- 從色板選擇強調色,或使用自定義取色器。
- 選擇光標的粗細。
所有設置存於 localStorage,改動後無需重啓宿主。
想改代碼的話,pnpm watch 提供增量重建;pnpm build 完成 tsc 類型檢查與 tsdown 打包(node 端 + 客戶端)。
適用場景與注意¶
兩類人最適合:一是長時間在 DSH Web 界面輸入、對光標體驗敏感的用戶,裝上即用;二是想參考「如何爲 DSH Web 客戶端做注入、接入設置面板並適配 IME」的開發者,它的渲染與設置集成是一份完整的 DSH 插件實現。
安裝前注意:
- 插件以當前
dsh進程的權限運行,安裝前應檢查源碼與許可證。本項目爲 MIT 許可證(README 與 package.json 一致)。 - 確認 DSH 版本不低於
0.1.0-rc.8,否則插件無法加載。
結尾¶
smooth-cursor 改動很小,只替換一個光標的渲染方式,但它是「一切皆插件」理念在一個細節上的完整落地:獨立安裝、可配置、本地持久化。如果你也覺得原生閃爍光標礙眼,值得試一試。
- 目錄頁:https://www.skillhub.cn/plugins/Lacquervii/smooth-cursor
- GitHub 倉庫:https://github.com/Lacquervii/smooth-cursor
目錄頁爲社區站點,與 DeepSeek / 幻方無官方從屬關係。