DeepSeek Harness 插件

dsh-wordbox

Common-word box for the Web GUI: a persistent slide-up panel next to the composer for project phrases.(英文原文)

跳到安装方式

来源信息

GitHub 仓库
arcmosin/dsh-wordbox
最近更新
2026年8月14日
分类
界面增强
GitHub stars
4
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/arcmosin/dsh-wordbox
插件名:dsh-wordbox
作者:arcmosin

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器4 个文件
README.md来源说明 · 只读预览
README 语言

常用词盒子(Common Word Box)— DeepSeek Harness 客户端插件

English | 中文

![License: MIT](LICENSE)

DeepSeek Harness(dsh web)的 Web 客户端插件:在对话输入框右侧放一个「词」按钮,点击弹出一个常驻的上拉面板,管理自己的常用词/句,一键插入对话输入框。 ![dsh-wordbox](docs/cover.png)

词条分两个桶:全局(所有工作区共享)与当前项目(按工作区目录隔离)。

功能

  • 🖱️ 点击「词」按钮 → 上拉面板(带滑入动画),常驻不消失(再点一次 / 点击外部 / Esc 关闭)
  • 🔀 三档显示范围:全部 / 全局 / 当前(切换控件在「+ 添加」同行最右侧)
  • ⏎ 点击词条 → 追加进输入框(保留焦点、一个撤销步、面板不关闭,可连续插入)
  • 🌐 中/英双语(跟随 DSH 界面语言)

安装

前置:DeepSeek Harness dsh web + pnpmdsh plugin 命令会转发给 pnpm,需要它在 PATH 上)。

本插件是标准的 DSH bundle 插件dsh.bundle.patch 声明,包内自带插件行 patch),因此安装/卸载都是一条命令

安装

# 前提,安装官方 CLI(已装可跳过)
npm install -g @deepseek-ai/dsh

# 安装本插件
# 方式一:从 npm 安装(推荐,已发布到 npm)
dsh plugin --profile web add dsh-wordbox

# 方式二:从 GitHub 安装(仓库根即插件包,无构建步骤,直接可用)
dsh plugin --profile web add github:arcmosin/dsh-wordbox

# 方式三:本地开发(link 到本仓库)
dsh plugin --profile web add link:D:/path/to/dsh-wordbox

装完重启 dsh web 即生效(输入框右侧出现「词」按钮)。

> dsh plugin add 会把包安装进 profile,并因 dsh.bundle 声明自动挂载dsh.profile.bundles;无需手动编辑任何 patch 文件。

卸载

dsh plugin --profile web remove dsh-wordbox

然后重启 dsh web,按钮即消失。浏览器里保存的词库数据(localStorage)不会随卸载删除,如需清空可自行删除以下键:dsh.common-word-box.words.v1dsh.common-word-box.words.project.v1dsh.common-word-box.mode.v1

> 个别情况下 removeprofiles\web\node_modules\dsh-wordbox 会残留空目录/链接,手动删除即可,不影响任何功能。

使用

1. 点击输入框右侧的「词」按钮(英文界面显示 W),面板上拉并保持打开; 2. 底部右侧切换 全部 / 全局 / 当前; 3. 点击词条 → 追加进输入框(可连续点多条);悬停行尾出现 × 删除; 4. 「当前」模式下悬停行尾出现"添加到全局"转化按钮,一键复制进全局; 5. 长词悬停会慢速流动显示完整内容。

存储

数据localStorage 键
全局词dsh.common-word-box.words.v1(string[])
项目词dsh.common-word-box.words.project.v1{规范化目录: string[]},空桶自动清理)
显示模式dsh.common-word-box.mode.v1all / global / current

词库存浏览器本地(按浏览器 profile 隔离),跨工作区、跨标签页通过 storage 事件同步。

开发

  • 本地调试安装:dsh plugin --profile web add link:<本仓库绝对路径>,改代码无需重装;
  • 修改 lib/client.js无需重启:宿主 client-hmr 每 500ms 轮询 bundle 哈希,变化自动热重载(React 状态会重置);首次安装/卸载或改 cordis.patch.yml 后需重启 dsh web
  • bundle 是 window.__ModuleLoader__.load({ id, factory }) 格式的纯 JS,无构建步骤,改完直接生效。
  • 长词流动速度常量:lib/client.js 中的 FLOW_SPEED(默认 60 px/s)。

架构

部分文件说明
bundle patchcordis.patch.ymldsh.bundle.patch 声明的插件行,dsh plugin add 时自动挂载进 profile
node 半体lib/index.jsapply,让 loader 条目在宿主侧激活
browser 半体lib/client.js客户端 bundle:conversation.input.right 槽注册 + 全部交互逻辑
清单package.jsondsh.bundle + dsh.clientplatform: "web" + inject)+ exports["./client"]
  • 挂载槽位:conversation.input.right(由 @deepseek-ai/dsh-client-ui-conversation 声明,list 槽,session 作用域),渲染在输入框卡片 trailing 区。
  • 写入输入框:标准工具包 inputActions.setDraft(text);读取草稿用 useInput((s) => s.draft)
  • 等待槽位声明:ctx.slots.inject("conversation.input.right", () => ctx.slots.register({...}, Component))
  • 形态范例:@deepseek-ai/dsh-client-ui-model-selection(官方纯 UI 客户端插件)。

License

[MIT](LICENSE)