🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

整条引用 SpellingDragon/dsh-better-quotes

DeepSeek Harness
SpellingDragon8 天前有提交已提供中文文档扫描:含敏感能力

一键引用或转发整条消息,保留身份与附件

30.8/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/27 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add SpellingDragon/dsh-better-quotes
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · browser
装得上吗
实装验证未通过(unknown),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 8 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
⚠︎ 实装验证未通过(unknown · 2026/10/27) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件
查看扫描证据(共 6 处,展示前 6 条)
  • 删除本地文件递归
    script/build.mjs:10
    await rm(out, { recursive: true, force: true })
  • 写入本地文件
    script/build.mjs:11
    await mkdir(out, { recursive: true })
  • 读取本地文件
    script/build.mjs:35
    const body = await readFile(clientTmp, 'utf8')
  • 写入本地文件
    script/build.mjs:37
    await writeFile(resolve(out, 'client.js'), wrapped)
  • 删除本地文件
    script/build.mjs:38
    await rm(clientTmp)
  • 读取本地文件
    script/smoke.mjs:39
    vm.runInThisContext(readFileSync(new URL('../lib/client.js', import.meta.url), 'utf8'))
扫描于 2026/11/4(0 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-api-session-controller@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-store@deepseek-ai/dsh-client-ui-chat@deepseek-ai/dsh-client-ui-conversation@deepseek-ai/dsh-client-ui-primitives@deepseek-ai/dsh-client-ui-renderer@deepseek-ai/dsh-client-ui-session@deepseek-ai/dsh-client-ui-sidebar-right@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-llm
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

在 DeepSeek Harness Web 里引用或转发整条消息——一键引用、右侧栏多选、持久化的消息元数据,以及跨会话转发

README

由 DeepSeek 最新模型翻译生成
dsh-better-quotes 在 DeepSeek Harness Web 中引用或转发整条消息——一次点击,一个 bundle,模型回查所需的全部身份。 官方划词引用只复制文本片段,转头就忘了它从哪来。本插件引用整条消息——用户、插话或助手——连同发送人、时间、身份、模型路由、Skill、引用和附件,打成一个模型可读、可回查的有界 bundle。 特点 - 一个控件,两种结果。 点击 Copy 与 Fork 之间的引用图标立即引用该消息;长按(或按 Shift+Enter)进入多选。会话区不增加任何复选框或工具条。 - 整条消息多选。 在右侧边栏「引用」标签页里自由多选用户、插话和已完成的助手消息;选择过程中对话区不动、不白屏、不被遮挡。 - 持久元数据。 每条被引用的消息都带发送人角色、时间、session_id、seq、message_id、provider/model、已加载 Skill、@session 引用,以及含名称、大小和尺寸的图片/文件附件。 - 一个有界 bundle。 单个 <quoted_messages> 信封替代 N 条散落的引用块——模型把引用当上下文读,并能按身份回查原事件。 - 跨会话转发。 从同一个面板把同一个 bundle 作为非指令参考上下文发给任意本地 Session。 - 点击定位。
展开完整文档(README 剩余 1 节)
dsh-better-quotes

在 DeepSeek Harness Web 中引用或转发整条消息——一次点击,一个 bundle,模型回查所需的全部身份。

官方划词引用只复制文本片段,转头就忘了它从哪来。本插件引用整条消息——用户、插话或助手——连同发送人、时间、身份、模型路由、Skill、引用和附件,打成一个模型可读、可回查的有界 bundle。

特点

- 一个控件,两种结果。 点击 Copy 与 Fork 之间的引用图标立即引用该消息;长按(或按 Shift+Enter)进入多选。会话区不增加任何复选框或工具条。
- 整条消息多选。 在右侧边栏「引用」标签页里自由多选用户、插话和已完成的助手消息;选择过程中对话区不动、不白屏、不被遮挡。
- 持久元数据。 每条被引用的消息都带发送人角色、时间、session_id、seq、message_id、provider/model、已加载 Skill、@session 引用,以及含名称、大小和尺寸的图片/文件附件。
- 一个有界 bundle。 单个 <quoted_messages> 信封替代 N 条散落的引用块——模型把引用当上下文读,并能按身份回查原事件。
- 跨会话转发。 从同一个面板把同一个 bundle 作为非指令参考上下文发给任意本地 Session。
- 点击定位。 发送后的引用卡默认折叠;点击条目滚动到原消息并短暂高亮,折叠的过程组会先展开。跨会话的卡会注明并隐藏来源导航。
- 读得懂的引用芯片。 输入框里显示一行摘要(引用条数与消息预览),而不是生硬的信封标签。
- 本地优先。 无外部请求、无遥测、无远程服务——一切都在你的 DSH 进程内运行。

快速开始

npm ci
npm run build
npm pack
dsh plugin --profile web add /absolute/path/to/dsh-better-quotes-0.5.0.tgz

从 DSH 源码仓库运行时把 dsh plugin 换成 pnpm dsh plugin。重启 dsh web 或刷新浏览器。支持 DSH >=0.2.1-rc.3 <0.3.0-0。

发布到 npm 后可直接:

dsh plugin --profile web add dsh-better-quotes

使用

单条引用

点击 Copy 与 Fork 之间的引用图标,消息立即进入输入框,交互与官方划词引用一致。引用芯片显示一行摘要(引用条数与消息预览),bundle 附在同一个引用里。

多条引用或转发

1. 长按同一个图标约半秒,或按 Shift+Enter。
2. 右侧边栏打开「引用」标签页,并已预选该消息,列表停在最新消息。点击行切换选择,搜索缩小列表,单个全选/清空控件操作当前可见结果。
3. 点击 插入引用(N) 得到一个 bundle,或点击 转发 选择另一个本地 Session 并发送同一个 bundle;任一动作完成后侧边栏自动收起。
4. 目标列表不包含当前 Session 和 subagent Session。

定位

发送后的引用卡默认折叠。展开后点击同会话条目,会滚动到原消息并短暂高亮;折叠的过程组会先展开。转发卡显示 来自其他会话,不提供来源导航。

Bundle 格式

一次插入生成一个信封;输入框草稿在其前加上引用芯片显示的摘要行,发送后该行并入引用卡,会话里只显示卡:

<quoted_messages version="1" source_session="…" count="2"> <quoted_message role="user" time="2026-10-26T04:05:06.789Z" seq="12" message_id="…" session_id="…"> <metadata> <skill name="pdf" /> <reference name="Spec" /> </metadata> The deployment failed after the schema change. [attachment kind=file name="deploy.log" bytes=4096 id="…"] </quoted_message> <quoted_message role="assistant" time="2026-10-26T04:05:08.000Z" seq="13" message_id="…" session_id="…"> <metadata provider="deepseek" model="deepseek-chat"> </metadata> It fails because the migration dropped the index. </quoted_message> </quoted_messages>

session_id + seq 让模型用 session_event_read 读取原事件;宿主没有 message_id 时该字段省略。<skill> / <reference> 记录已加载 Skill 和 @session 标签;[attachment …] 记录图片/文件的持久 id、名称、大小、媒体类型和尺寸。正文中的字面边界标签会被转义。

附件只引用、不复制。历史压缩移除原消息后,图片像素可能不可用;文件也只有在原始保存路径仍存在时可读。

模型回查

需要模型读取原事件时挂载可选工具:

- name: '@deepseek-ai/dsh-tool-session-query'

未挂载时 bundle 仍可读,但不能按身份查询原事件。

兼容性与隐私

- 宿主提供 insertQuote 时使用原子引用;旧宿主回退到光标处 insertText。
- 选择器通过标准 Session props 读取 Chat 快照,不抓取 DOM。
- 转发只在同一本地 DSH 进程内、发送到客户端已列出的 Session。
- 无外部 HTTP 请求、遥测或远程服务。
- 所有文本由 React 渲染;样式类名统一加 bq- 前缀。

与热门插件对比

基于 2026-10-26 的公开 README。

| 插件 | 选择入口 | 引用形态 | 跨会话转发 | 持久身份 |
| dsh-better-quotes | 一个动作:点击引用,长按右侧边栏多选 | 单个 <quoted_messages> bundle | 是,同一标签页 | session_id、seq、message_id、时间、路由、Skill、引用 |
| dsh-message-forward | 长按多选;转发弹窗 | 转发上下文 | 是 | 来源会话与说话者 |
| dsh-quote-followup | 划词工具条;文本 | 引用 chip | 否 | 文本选择 |
| dsh-select-quote | 划词工具条;文本 | 堆叠卡片 | 否 | 文本选择 |
| dsh-quote-annotate-pro | 划词工具条;文本与批注 | 锚点引用块 | 否 | 轮次/角色锚点 |
| dsh-multi-selection-comments | 划词工具条;多个文本片段 | 结构化上下文 | 否 | 片段与评论 |

设计

- 一个控件承载两种结果:点击直接引用,长按进入多选。
- 多选是 sidebar.right.pane.tab 标签页正文,选择消息时对话区保持不动。
- 面板是一次事务:动作完成后收起侧边栏,再次进入列表停在最新消息。
- 一个 bundle 替代 N 个散 quote,带来源、数量、顺序和逐条边界。
- 引用卡默认折叠,点击条目即定位。
- 定位会先展开折叠的过程组,再驱动真实滚动容器。

flowchart LR
A[Click] --> B[formatBundle]
B --> C[insertQuote / insertText]
A2[Hold] --> D[Quotes tab]
D --> E[select messages]
E -->|Insert| C
E -->|Forward| F[choose target Session]
F --> G[sessions.using + prompt queue]
C --> H[Collapsed bundle card]
G --> H
H --> I[Click item to locate]
H --> J[session_event_read via session_id + seq]

限制与后续计划

- 多选在右侧边栏,不向每条消息行注入复选框。
- 定位只在来源 Session 内可用。
- 附件只引用、不重新附加;缩略图和重新附加仍是后续工作。
- 只列出当前已加载、可见的 Chat 窗口。
- 暂无浏览器 E2E 或 GIF。

开发

npm ci
npm run typecheck
npm test
npm run build
npm pack

- QuoteAction.tsx — 单击引用 / 长按多选。
- QuoteDrawer.tsx、QuoteRow.tsx — 右侧边栏选择器与消息行。
- bundle.ts、quote-rule.ts、BundleQuote.tsx — bundle 格式、解析与引用卡。
- locate.ts — 展开与来源定位。
- tests/ — 41 个聚焦测试。

许可证

MIT。见 LICENSE。

English documentation: README.md。
预览分享卡片长什么样 ↓SpellingDragon/dsh-better-quotes
分享 · DeepSeek Harness Hub
SpellingDragon/dsh-better-quotes

一键引用或转发整条消息,保留身份与附件

这是你的仓库?认领条目

回到顶部