yangYzc/dsh-plugin-quote-reply

DSH插件:在对话中选中文本,然后将其引用到编辑器或在新的窗口中回复。/ DeepSeek Harness划词引用插件:选中文字一键引用回复或新窗口回复。

项目介绍Project Overview

这是 DSH Web 界面的划词引用插件。在会话中选中任意消息文字后,浮出工具条,可一键将选中内容以 Markdown 引用块插入当前输入框,或新建会话并预填引用。适用于需要针对助手回复、用户消息或工具输出中的片段进行引用回复的场景。注意:它是纯浏览器端插件,依赖全局选区事件定位工具条,安装后需重启 dsh web 并刷新浏览器才生效。

This is a text-selection quote plugin for the DSH web interface. After selecting text in any conversation message, a floating toolbar lets you insert the selection as a Markdown quote into the current composer or create a new session with the quote prefilled. Use it when replying to specific snippets from assistant answers, user messages, or tool output. It is browser-only, relies on global selection events for toolbar positioning, and requires restarting dsh web and refreshing the browser after installation.

或使用命令行安装(适合开发者)Or use CLI install (for developers)

命令行安装CLI Install

dsh plugin --profile web add dsh-plugin-quote-reply

yangYzc/dsh-plugin-quote-reply 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

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.

npm version license


功能 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

  1. 在会话里用鼠标选中一段文字(比如助手回答中的一句)。
  2. 选中处下方出现工具条。
  3. 点「引用回复」——引用进当前输入框;或点「新窗口回复」——开新会话并预填引用。
  4. 打字,发送。

工作原理 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

上一个 Prev dsh-ui-notifications 下一个 Next dsh-sonarqube