前言¶
每天用 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 / 幻方无官方从属关系。