DeepSeek Harness plugin

dsh-add-conversation

DSH Web GUI「添加对话」插件:在聊天区划选对话文字后出现「+ 添加对话」悬浮按钮,一键把选中内容作为引用暂存到输入框上方(最多 12 条,可预览/删除),发送时引用自动以 Markdown 引用块并入消息开头(仿 Codex quote 体验)

Jump to install

Source facts

Repository
haohao16421/dsh-add-conversation
Latest update
Aug 17, 2026
Category
Tools & Capabilities
GitHub stars
0
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/haohao16421/dsh-add-conversation
Plugin: dsh-add-conversation
Author: haohao16421

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer3 files
README.mdSource · read only

dsh-add-conversation(添加对话)

> 划选对话文字,一键「添加对话」——为 DeepSeek Harness Web GUI 提供仿 Codex 的引用(quote)体验。

在聊天区划选任意一段对话文字(自己发的或 AI 回复的都行),选中处会弹出 「+ 添加对话」 按钮;点击后选中内容变成一条引用 chip 暂存在输入框上方,发送时自动以 Markdown 引用块(> ...)并入消息开头,方便你针对某段回答继续追问。

  • 纯浏览器端实现,不改动 DSH 任何源码,卸载即恢复原状
  • 零配置、零构建,安装后重启 DSH 即生效

功能特性

特性说明
划选即引鼠标划选聊天区任意文字,选中处出现「+ 添加对话」悬浮按钮
引用暂存点击后内容变为 chip 暂存在输入框上方,不会立即发送
多条引用最多 12 条(每行 6 个、两行排列),可反复划选添加
预览全文点击 chip 弹出预览面板,查看被引用内容的完整文本
单独删除每条 chip 自带 × 按钮,可随时移除;Esc 可收起
一键发送点击预览面板「发送」,或直接按 Enter,引用自动并入消息开头后提交
智能定位引用条跟随输入框位置,滚动/缩放自动隐藏悬浮按钮

界面效果

① 划选回复文字          ② 点击「+ 添加对话」      ③ 引用暂存              ④ 发送
┌──────────────────┐   ┌──────────────────┐   ┌─❝ 第2条… ❝ 第1条…─┐   ┌─────────────┐
│ 这是AI的回复内容 │   │ 这是AI的回复内容 │   └───────────────────┘   │> 这是AI的回复│
└──────────────────┘   └───────┬──────────┘        ▲ 输入框上方        │ 内容        │
                  + 添加对话←──┘                   ┌──────────────┐   │ 我的追问     │
                                                    │ 输入框        │   └─────────────┘
                                                    └──────────────┘

系统要求

  • DeepSeek Harness Web GUI(dsh web,本插件为 Web profile 插件)
  • Node.js ≥ 18,pnpm(dsh plugin 命令依赖)

下载安装

> 以下命令在 PowerShell 中执行;<name> 换成你的 profile 名(默认 web)。

方式一:npm 安装(推荐)

dsh plugin --profile web add dsh-add-conversation

方式二:GitHub 直接安装(无需 npm 发布)

dsh plugin --profile web add https://github.com/haohao16421/dsh-add-conversation/archive/refs/tags/v0.1.0.tar.gz

方式三:本地源码链接(开发调试用)

git clone https://github.com/haohao16421/dsh-add-conversation.git
dsh plugin --profile web add link:./dsh-add-conversation

dsh plugin 会自动执行 pnpm add 并把包名写入该 profile 的 dsh.profile.bundles

安装后

重启 DSH(关闭并重新运行 dsh web),然后在聊天区划选一段回复文字即可体验。

卸载

dsh plugin --profile web remove dsh-add-conversation

重启后功能消失,页面恢复原状。

使用方法

1. 划选:在聊天区用鼠标选中任意对话文字(单选一段即可,最长 8000 字符); 2. 添加:点击选中处上方出现的「+ 添加对话」,内容变为引用 chip 暂存在输入框上方; 3. 管理: - 点击 chip → 弹出预览面板(可「发送」或「移除」该条); - 点击 chip 上的 × → 移除该条; - 按 Esc → 收起当前预览/悬浮按钮; 4. 发送:在输入框输入追问内容后按 Enter(或点击预览面板的「发送」),所有引用自动以 > 引用内容 的格式并入消息开头一并提交。

限制与说明

  • 最多同时暂存 12 条 引用(超限会有提示);
  • 单条引用最长 8000 字符
  • 在输入框 / 侧边栏内划选不会触发按钮(只识别聊天消息区域);
  • 发送时若输入框已有内容,引用块会插入在其前面,二者之间空一行。

工作原理

  • 插件通过 Web profile 的 bundle 机制挂载:dsh.bundle.patchcordis.patch.yml 向组合树插入一行 add-conversation
  • 浏览器半边(lib/client.js)注册到 conversation.composer.dock 槽位,监听 mouseup/keyup 计算选区与位置,用 DOM 渲染悬浮按钮、引用条与预览面板;
  • Host 半边(lib/index.js)向 agent 声明本插件的存在与用法(systemPrompt 段落);
  • 样式优先使用客户端 styles 服务,不可用时回退为自带 <style> 元素,卸载时全部清理。

常见问题(FAQ)

Q:安装后重启了,但划选没有按钮? A:依次检查: 1. ~/.dsh/profiles/web/package.jsondependenciesdsh.profile.bundles 是否都包含 dsh-add-conversation; 2. ~/.dsh/profiles/web/node_modules/dsh-add-conversation 是否存在; 3. DSH 是否完全重启(profile bundle 在启动时加载,刷新页面不够); 4. 划选的必须是聊天消息区域内的文字(自己或 AI 的消息),输入框内的文字不触发。

Q:和其他插件冲突吗? A:只注册一个 selection-quote 槽位(conversation.composer.dock),正常情况互不影响;若与其他 dock 插件冲突,可修改 lib/client.js 中的注册 id

Q:能离线用吗? A:能。插件逻辑全部在浏览器端,不依赖任何外部服务。

Q:我想改样式/行为? A:直接编辑 lib/client.js(CSS 在文件开头的模板字符串里),本地 link: 安装时保存即生效(重启 DSH 或刷新页面后)。

目录结构

dsh-add-conversation/
├── package.json          # 包清单:exports、dsh.bundle.patch、dsh.client
├── cordis.patch.yml      # 组合补丁:向 profile 插入本插件行
├── dsh.plugin.json       # 插件清单元数据
├── lib/
│   ├── index.js          # Host 半边:systemPrompt 声明
│   └── client.js         # 浏览器半边:全部交互逻辑与样式
├── README.md             # 本文档
└── LICENSE               # MIT

开发者

  • 无构建步骤:lib/ 即发布物(node --check 通过即可);
  • 本地联调:dsh plugin --profile web add link:./dsh-add-conversation,修改后重启 DSH 验证;
  • 发布新版本:更新 package.json 版本号 → git tag vX.Y.Z && git push origin vX.Y.Z(GitHub 安装方式按 tag 拉取)→ 可选 npm publish

License

[MIT](LICENSE)