DeepSeek Harness 插件

dsh-add-conversation

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

跳到安装方式

来源信息

GitHub 仓库
haohao16421/dsh-add-conversation
最近更新
2026年8月17日
分类
工具与能力
GitHub stars
0
载体类型
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/haohao16421/dsh-add-conversation
插件名:dsh-add-conversation
作者:haohao16421

检查来源文件

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

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

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)