Back to plugins
Y
dsh-plugin-quote-reply
yangyzc/dsh-plugin-quote-reply
Select text in a conversation, then quote it into the composer or reply in a new window.
Install
dsh plugin --profile web add github:yangyzc/dsh-plugin-quote-replyREADME
dsh-plugin-quote-reply
DeepSeek Harness (DSH) 划词引用插件 — 在会话中选中文字,一键「引用回复」或「新窗口回复」。
Select text (划词) in a DSH conversation, then quote it into the composer or reply in a new window.
功能 Features
在 DSH Web 界面里,用鼠标划选任意消息中的文字,选中处下方会浮出工具条:
- 引用回复:把选中文字以 markdown 引用块(
> …)插入当前输入框,直接接着打字回复。 - 新窗口回复:自动创建并打开一个新会话,引用已预填在新会话的输入框里。
划词来源不限:助手回复、用户消息、工具输出都可以。
安装 Install
# 任意 profile(推荐 web)
dsh plugin --profile web add dsh-plugin-quote-reply
安装后重启 dsh web(或运行仓库内 重启-DSH-Web.cmd),刷新浏览器即可生效。
从 Git 安装(备选)
dsh plugin --profile web add "github:<your-name>/dsh-plugin-quote-reply"
git 安装会触发 prepare 构建脚本。pnpm ≥ 10 默认拒绝执行 git 依赖的构建脚本,首次安装会失败并提示你放行——把报错里给出的包名写进 profile 的 pnpm-workspace.yaml:
allowBuilds:
dsh-plugin-quote-reply: true
然后重新执行上面的 add 命令。(放行 = 允许在安装时执行该包的代码,只放行你信任的源码。)
使用 Usage
- 在会话里用鼠标选中一段文字(比如助手回答中的一句)。
- 选中处下方出现工具条。
- 点「引用回复」——引用进当前输入框;或点「新窗口回复」——开新会话并预填引用。
- 打字,发送。
工作原理 How it works
- 纯客户端(浏览器)插件:宿主半身 + 浏览器半身(
exports["./client"]+dsh.client声明)。 - 划词监听:全局
selectionchange/mouseup事件 + 选区坐标定位浮动工具条(框架本身没有消息文本选区 API)。 - 引用写入:会话标准套件
inputActions.setDraft()(经conversation.input.dock槽位注入)。 - 新窗口:
SessionRuntime.create()→sessions.open()→conversation.input.for(binding.ctx).setDraft()预填。
开发 Development
npm install # 安装依赖
npm run typecheck # 类型检查
npm run build # 构建 lib/index.js + lib/client.js(client 半身按官方 __ModuleLoader__ 格式包装)
发布 Publish
npm version patch # 0.1.0 → 0.1.1
npm publish # prepare 会自动重新构建
许可证 License
MIT © yangaazz