deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
划选对话文字,一键「添加对话」——为 DeepSeek Harness Web GUI 提供仿 Codex 的引用(quote)体验。
在聊天区划选任意一段对话文字(自己发的或 AI 回复的都行),选中处会弹出 「+ 添加对话」 按钮;点击后选中内容变成一条引用 chip 暂存在输入框上方,发送时自动以 Markdown 引用块(> ...)并入消息开头,方便你针对某段回答继续追问。
| 特性 | 说明 |
|---|---|
| 划选即引 | 鼠标划选聊天区任意文字,选中处出现「+ 添加对话」悬浮按钮 |
| 引用暂存 | 点击后内容变为 chip 暂存在输入框上方,不会立即发送 |
| 多条引用 | 最多 12 条(每行 6 个、两行排列),可反复划选添加 |
| 预览全文 | 点击 chip 弹出预览面板,查看被引用内容的完整文本 |
| 单独删除 | 每条 chip 自带 × 按钮,可随时移除;Esc 可收起 |
| 一键发送 | 点击预览面板「发送」,或直接按 Enter,引用自动并入消息开头后提交 |
| 智能定位 | 引用条跟随输入框位置,滚动/缩放自动隐藏悬浮按钮 |
① 划选回复文字 ② 点击「+ 添加对话」 ③ 引用暂存 ④ 发送
┌──────────────────┐ ┌──────────────────┐ ┌─❝ 第2条… ❝ 第1条…─┐ ┌─────────────┐
│ 这是AI的回复内容 │ │ 这是AI的回复内容 │ └───────────────────┘ │> 这是AI的回复│
└──────────────────┘ └───────┬──────────┘ ▲ 输入框上方 │ 内容 │
+ 添加对话←──┘ ┌──────────────┐ │ 我的追问 │
│ 输入框 │ └─────────────┘
└──────────────┘
dsh web,本插件为 Web profile 插件)dsh plugin 命令依赖)以下命令在 PowerShell 中执行;
<name>换成你的 profile 名(默认web)。
dsh plugin --profile web add dsh-add-conversation
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
重启后功能消失,页面恢复原状。
Esc → 收起当前预览/悬浮按钮;Enter(或点击预览面板的「发送」),所有引用自动以 > 引用内容 的格式并入消息开头一并提交。dsh.bundle.patch → cordis.patch.yml 向组合树插入一行 add-conversation;lib/client.js)注册到 conversation.composer.dock 槽位,监听 mouseup/keyup 计算选区与位置,用 DOM 渲染悬浮按钮、引用条与预览面板;lib/index.js)向 agent 声明本插件的存在与用法(systemPrompt 段落);styles 服务,不可用时回退为自带 <style> 元素,卸载时全部清理。Q:安装后重启了,但划选没有按钮? A:依次检查:
~/.dsh/profiles/web/package.json 的 dependencies 与 dsh.profile.bundles 是否都包含 dsh-add-conversation;~/.dsh/profiles/web/node_modules/dsh-add-conversation 是否存在;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。CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。