dsh-wordbox:为 DSH Web 输入框增加常用词句面板

前言

在 DeepSeek Harness(DSH)的 dsh web 对话框里,开发者经常会重复输入同一类短语:提示词片段、技术术语、项目约定用语、常见追问或固定模板。已有做法通常是手动复制,或在编辑器外维护一份片段列表。

dsh-wordbox 针对这个场景提供一个 Web 客户端插件:在对话输入框右侧增加「词」按钮,点击后弹出常驻上拉面板,用来管理全局或当前项目的常用词/句,并一键插入到输入框中。

这是什么

dsh-wordboxarcmosin 维护的 DSH Web 客户端插件,许可证为 MIT。

它属于标准 DSH bundle 插件,安装和卸载通过 dsh plugin 命令完成,并自动挂载到 web profile。插件界面支持中/英双语,跟随 DSH 界面语言。

核心功能

下面列出已提供的主要能力。

  • 在对话输入框右侧显示「词」按钮;英文界面显示 W
  • 点击「词」按钮后弹出常驻上拉面板;可通过再点一次、点击外部或按 Esc 关闭。
  • 词条分为两个桶:
  • 全局:所有工作区共享。
  • 当前项目:按工作区目录隔离。
  • 面板提供全部、全局、当前三档显示范围切换。
  • 点击词条后,词条追加进输入框,保留焦点,并保留一个撤销步。
  • 点击词条后面板不关闭,可连续点击多条插入。
  • 在当前项目模式下,支持将词条一键添加到全局。
  • 悬停词条行尾可删除词条。
  • 长词悬停时,会慢速流动显示完整内容。
  • 词库保存在浏览器 localStorage,按浏览器 profile 隔离。
  • 跨工作区、跨标签页通过 storage 事件同步。
  • bundle 为纯 JS,无构建步骤。

安装与启用

前置条件是环境中已有 DeepSeek Harness dsh web,并且 pnpm 在 PATH 上。dsh plugin 命令会转发给 pnpm

安装命令:

dsh plugin --profile web add dsh-wordbox

执行完成后,重启 dsh web。重启后输入框右侧会出现「词」按钮;英文界面中显示为 W

典型用法

  1. 点击输入框右侧的「词」按钮,面板上拉并保持打开。
  2. 在面板底部右侧切换显示范围:全部、全局、当前。
  3. 点击某个词条,该词条会追加进输入框。
  4. 如果还需要继续插入,可连续点击多条词条。
  5. 悬停词条行尾,出现 × 删除按钮,点击可删除该词条。
  6. 在「当前」模式下,悬停词条行尾会出现添加到全局的按钮,用于将当前项目词复制到全局。
  7. 如果词条过长,悬停时会慢速流动显示完整内容。

数据、卸载与同步

词库保存在浏览器 localStorage 中。卸载插件不会删除这些数据。

卸载命令:

dsh plugin --profile web remove dsh-wordbox

执行后重启 dsh web,输入框右侧的「词」按钮会消失。

如果确认要清空本地词库,可删除以下浏览器 localStorage 键:

dsh.common-word-box.words.v1
dsh.common-word-box.words.project.v1
dsh.common-word-box.mode.v1

数据按浏览器 profile 隔离。跨工作区、跨标签页同步通过 storage 事件完成。

开发与更新

  • 修改 lib/client.js 后,宿主 client-hmr 会轮询 bundle 哈希,变化后自动热重载。
  • 首次安装、卸载或修改 cordis.patch.yml 后,需要重启 dsh web
  • bundle 是纯 JS,没有构建步骤。
  • 个别情况下,执行 removeprofiles\web\node_modules\dsh-wordbox 可能残留空目录或链接;手动删除即可,不影响功能。

适用场景与注意

dsh-wordbox 适合以下情况:

  • dsh web 对话中频繁插入相同短语、提示词片段或术语。
  • 需要区分全局常用词和当前项目常用词。
  • 希望词库按浏览器 profile 保存,并在同一浏览器 profile 内跨工作区、跨标签页同步。
  • 需要在一个面板里连续插入多条内容,减少复制粘贴。

使用注意:

  • 插件会作为 DSH 客户端插件,以当前 dsh 进程可用权限参与运行。安装前建议检查源码与 MIT 许可证。
  • dsh plugin 依赖 pnpm,需要保证 pnpm 在 PATH 上。
  • 卸载不会清空浏览器 localStorage 中的词库数据。
  • 首次安装、卸载或修改 cordis.patch.yml 后需要重启 dsh web
  • 修改 lib/client.js 后无需重启,由宿主 client-hmr 自动热重载。

链接

GitHub 仓库:https://github.com/arcmosin/dsh-wordbox

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

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

小夜