smooth-cursor:把 DSH Web 輸入光標換成平滑滑動的彗星

前言

每天用 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 安裝後也能直接運行。

典型用法

輸入框獲得焦點時特效即生效,不需要額外操作。打開 設置 → 通用 → 輸入光標,可以:

  1. 開關整個特效,或僅開關彗星拖尾。
  2. 從色板選擇強調色,或使用自定義取色器。
  3. 選擇光標的粗細。

所有設置存於 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 改動很小,只替換一個光標的渲染方式,但它是「一切皆插件」理念在一個細節上的完整落地:獨立安裝、可配置、本地持久化。如果你也覺得原生閃爍光標礙眼,值得試一試。

目錄頁爲社區站點,與 DeepSeek / 幻方無官方從屬關係。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜