dsh-annotation-patched

DSH PLUGIN浏览器与联网

仓库 DDDFXYqiming/dsh-annotation-patched · npm @dsh-external/dsh-annotation-patched

浏览器与联网 L5 · 运行验证通过 安全审查:低风险 可信度:金 可安装插件
安装这个插件

DSH Web选中引用插件增强版,支持空引用、修复幽灵引用并优化多行输入布局,为DeepSeek Harness会话提供可靠的引用功能。

验证等级 L5 L5 · 运行验证通过
GitHub 星标 2 复刻 0 · 未关闭 issue 0
最近更新 2026-09-29 创建于 2026-08-16
README 8.4 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add github:DDDFXYqiming/dsh-annotation-patched#v0.2.0
兼容 DSH 版本0.2.0-rc.2 等 11 个版本版本不匹配时安装会报错
Node.js 要求>=20来自仓库 package.json 的 engines 字段
前置依赖cordis@^4.0.0-rc.7 || ^4.0.1需要同时安装的同级依赖
npm 包名@dsh-external/dsh-annotation-patched可用 npm view 查看包信息

能做什么

4 项功能
字段来自项目仓库与公开索引,中文说明由本站标注

dsh-annotation-patched:DeepSeek Harness 的 Web 选中引用增强插件

  • 空引用即纯引用
  • 修复幽灵引用
  • 多行输入布局修复
  • 补丁重放工具

适用场景

联网搜索

上游标签

annotationdeepseek-harnessdshdsh-pluginweb

验证等级与安全审查

L5 · 运行验证通过
自动化流程结论,不是人工审核
验证等级L5 · 运行验证通过在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度活跃按仓库活跃度与最近更新时间给出
可信度金综合仓库活跃度与验证结果

上面的结论来自上游最近一次自动化验证(2026-10-08): 同一套检查会在插件发新版后重跑,页面显示的是最新一次的逐项结果。

逐项检查结果

L1 · 已找到 ✓ 通过
  • L1.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L2 · 结构化 ✓ 通过
  • L2.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L3 · 安装规范 ✓ 通过
  • L3.1_INSTALL_COMMAND_PARSED 安装命令已解析 方式:安装规范解析
  • L3.2_DSH_VERSION_DECLARED DSH 版本已声明 方式:DSH 版本声明
L4 · 安装已测 ✓ 通过
  • L4.1_INSTALL_EXECUTED_CONFINED 受限沙盒内执行安装 方式:沙盒安装执行
  • L4.2_INSTALL_SUCCESS 沙盒安装成功 方式:沙盒安装执行
  • L4.3_ARTIFACT_CONFIRMED 安装产物已确认 方式:沙盒安装执行
L5 · 运行已测 ✓ 通过
  • L5.1_INSTALL_PASSED_SANDBOXED 沙盒安装通过 方式:沙盒安装执行
  • L5.2_WEB_BOOT_READY Web 启动就绪 方式:Web 启动
  • L5.3_HTTP_SERVED HTTP 服务响应 方式:HTTP 请求
  • L5.4_PLUGIN_INVENTORY_ACTIVE 插件清单中已激活 方式:插件清单查询

风险详情

  • 审查结论 通过
  • 结论说明 vet 静态分析未发现可疑行为,判定为干净(clean)。
  • 风险计数 严重 0 / 高 0 / 中 0
  • 风险详情 未发现严重或警告级问题。

仓库档案

浏览器与联网
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方DDDFXYqiming仓库 dsh-annotation-patched · 默认分支 main
分类浏览器与联网search
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言JavaScript仓库主语言
许可证MIT商用或二次分发前请确认条款原文
星标 / 复刻 / issue2 / 0 / 0收录时的数值,非实时
创建 / 更新2026-08-16 · 2026-09-29最后推送 2026-10-11
本站收录2026-08-22首次进入本站目录的时间

README 全文

8.4 KB
作者原文,中文版优先;只做安全转义,不改内容

简体中文 | English

dsh-annotation-patched

DSH Web「选中引用」插件的本地增强版(fork 维护,v0.3.7)。包名已改为独立 fork 包名 @dsh-external/dsh-annotation-patched,发出去不会和上游的发布撞名。

插件做的事很具体。你在 DSH Web 里选中助手消息中的文字,点「引用」,想补一句说明就写上,不想写就留空,然后回车发送。引用块会拼进你的消息一起发出去,模型按编号逐条回应每条引用,回应里带有可以悬停展开的引用标记。对话运行中用 Ctrl+Enter 插队发消息,引用块同样跟着走。

  • 上游是 omdsh-dev/dsh-annotation(MIT,上游 v1.4.11 起包名改为 @changfenhuang/dsh-annotation)。本 fork 的基座为 v1.4.11-preview.1,对应上游 commit ab594842(2026-09-15,上游说明「适配 DSH 0.1.6-alpha.1」;2026-09-17 迁移重放)。历史基座为 v1.4.1 加 issue#20,对应 fd24ef92
  • 本目录的内容就是上游代码加本地增强。client.js 里所有改动都带 PATCH(YYYY-MM-DD) 标记,grep 一下就能全部定位
  • 升级基座时跑 node scripts/apply-patches.mjs --fetch <上游commit> --out client.js,全部 fork 补丁按 patches/manifest.json 清单一键重放

增强(本地定制,相对上游 v1.4.11-preview.1)

1. 空引用 = 引用(单按钮制)

选中助手消息的文字,点「引用」,引用内容可以留空直接保存,得到一条纯引用(只在原文上做标记),用法和 Codex 的 Add to chat 一样。工具栏只保留「引用」一个按钮。选中动作是显式确认制,复制、双击读词这类操作都不会自动变成引用,必须真的点下「引用」按钮,没点过按钮的幽灵引用就不会出现。

2. 幽灵引用修复(发送确认制)

上游的 quotes(待发送引用集)只有一条清理路径,藏在 decorateAll 装饰扫描轮询里。这里有竞态窗口,气泡还没渲染、标记缺失或者快速连发时,quotes 会留下残留,之后没选中任何文字的消息也会带上旧引用。

PATCH(2026-08-14c) 的最终方案是让清理只认发送确认。watchInputDraft(草稿从有到空即发送完成)做主清理点,decorateAll(气泡出现)做兜底。新增的 stripOldBlock() 在拼稿前用正则把草稿里残留的旧引用块剥掉,残留既不会造成重复伴随,也不会阻塞新引用的拼稿。旧守卫(草稿含 block 即 return)已删除,残留导致引用永久卡死的路径随之消失。

3. 多行输入框布局修复

引用 ×N 标签单独占一个 position: fixed 层,原先只在引用数量变化时定位一次。输入框自动增高之后,标签留在旧坐标上,会嵌进输入框。PATCH(2026-08-17) 起改用 ResizeObserver、输入事件和 composer 替换检测持续同步标签位置,多行输入时标签也停在输入框上方。

4. 旧模型服务内联 think 剥离(v0.2.3)

一些旧模型服务没有独立 reasoning 通道,把思考过程以 think / thinking / thought 标签块直接写进正文。PATCH(2026-09-05) 起,助手回复停流后这些块会从文本节点剥掉(块被 markdown 拆成多节点时状态机跨节点续接),独白里出现的 Annotation N: 也不会再被误做成芯片。

5. 斜杠技能调用也带引用(v0.3.4)

选中助手文字存成引用,再打 /human-writing 全部修复 回车,引用块现在会跟着这条消息一起发出去。技能的 /名字 手势收的是自由文本,所以引用块追加在命令后面,既不破坏命令 token 前缀,也不会被当成宿主命令参数消费(宿主 dsh-tool-skill 本来就是扫整条用户消息里的 /名字 来加载技能的)。内建命令(/goal、/model 这类)仍按上游 issue #20 处理,原样发出、不带引用,你的引用保留到下一条消息,界面有一条 toast 说明。判定依据是宿主的 remote.skills 技能清单(按会话拉取、60 秒内复用、拿不到就退回上面的保守行为)。

7. 运行中插队发送也带引用(v0.3.6)

对话正在运行时按 Ctrl+Enter 插队发消息,引用块一样拼进这条消息发出去。此前带文字的插队消息不拼引用块,模型只能看到你自己打的字。现在插队消息交回宿主按自己的排队或插话策略发送,纯引用的空草稿仍由插件直接发出。

8. 插队消息的气泡显示自愈(v0.3.7)

插队消息要等当前工具调用结束才进入消息流,进入时宿主会重建一次消息文本,刚切掉的引用块跟着文本回来。现在只要气泡里还有引用块就重新隐藏一次,「引用 ×N」标签只补缺不重贴,气泡稳定停在用户文字加引用标签的形态。

9. 维护性

  • 所有改动都带 PATCH(YYYY-MM-DD[组名]) 注释标记(2026-08-14 起,当前批次列表以 client.js 里的 grep -o "PATCH([^)]*)" client.js | sort -u 为准),上游更新时能快速定位 diff 重新套用
  • 补丁重放工具(v0.2.0 起)由 scripts/apply-patches.mjs 和 patches/manifest.json 组成,流程是取干净上游产物,做全局术语改名(批注→引用)和包名替换,再逐条重放 81 条锚定 op(另有 4 条因上游 v1.4.11 已覆盖而退休,记录在 manifest 的 retired)。每条锚文本必须恰好命中 1 次,失配就报错并列出适配指引
  • 调试日志 [annotation] 引用块已拼入草稿…、[annotation] 斜杠技能 xxx 已随消息追加引用… 和拼稿日志(带发送条数)都能在 DevTools Console 里看到
  • 跑本仓测试需要 Node >=22.22.2(devDependency jsdom 30 的要求);package.json 里的 engines: >=20 只约束 DSH 宿主运行时,不表示 Node 20 能跑这里的 jsdom 测试
  • README 自述的版本号与 op 条数由 npm test 里的文档一致性断言与 package.json / patches/manifest.json 比对,防再次抄漏

安装

# 从 GitHub 安装(推荐)
dsh plugin --profile web add github:DDDFXYqiming/dsh-annotation-patched
# 本地开发时也可直接使用仓库目录
dsh plugin --profile web add <本目录>

已知边界

  • 只支持选中助手消息,用户自己发的消息不处理
  • 自动引用在回车发送、Ctrl+Enter 插队发送和点击发送按钮时都会触发。点按钮路径自 v0.3.0 起由上游 v1.4.11 的 onSendPointerDown/onSendKeyboardClick 处理(fork 的同名补丁已退休),三条路径都会在提交前先拼稿
  • 这是浏览器端插件,改了 client.js 后需要 Ctrl+F5 强刷(或者换个浏览器)才生效。pnpm 更新会覆盖 node_modules 里的副本,须以本目录为源重新 link
  • 强依赖 DSH Web 的 DOM 结构([data-time-hover-root]、[class*="bubble"]、[data-composer-card] 等),DSH UI 升级可能让它失效
  • 斜杠技能带引用依赖宿主的 remote.skills 服务(与官方技能插件同一个数据源,未注入、由 ctx.get 可选查询)。服务未挂载、清单还没拉回或拉取失败时,那一条按上游保守行为处理(不带引用、引用留给下一条)
  • v0.3.4 起本包的 loader entry id 为 dsh-annotation-patched(与上游包的 dsh-annotation 区分,两者同时安装不再撞 duplicate loader entry)。若你在 profile 层按旧 id 写过覆盖条目,改名时要一起改

升级记录

  • v0.3.0 的基座从 v1.4.1(fd24ef92)升到 v1.4.11-preview.1(ab594842)以适配 DSH 0.1.6 的 Lexical composer。11 条锚点适配(包名 id、attachAndSend、chip 定位、消息流 observer、回车守卫、dispose),4 条退休(点击发送按钮拼稿、其 dispose 清理、focusComposer、会话切换清 pendingDeco,均被上游自身实现覆盖)。重放 34/34 无失配、字节级一致,7/7 测试通过
  • v0.2.0 的基座从 v1.3.13 升到 v1.4.1(含 issue#20),适配了 5 处锚点。①工具条 i18n 化,文案走 t(),可留空提示进 zh/en 字典。②attachAndSend(e) 签名变化,点击路径传合成事件对象。③stripOldBlock 升级双语哨兵,zh 用 提问:、en 用 Ask:。④updateChip 锚点随 t(chip.count) 更新。⑤导出尾部改成单行锚点。测试断言跟进 inject 与 locale 的变化

License

MIT(保留上游版权声明,见 LICENSE)

常见问题

8 问
答案由本站依据条目字段整理,不引用上游原文
dsh-annotation-patched 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add github:DDDFXYqiming/dsh-annotation-patched#v0.2.0` 即可。对应的 npm 包名是 `@dsh-external/dsh-annotation-patched`。

dsh-annotation-patched 的验证等级是什么意思?

L5 · 运行验证通过。在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来

dsh-annotation-patched 安全吗?

低风险。vet 静态分析未发现可疑行为,判定为干净(clean)。

dsh-annotation-patched 支持哪些 DSH 版本?

上游记录的兼容版本包括 0.2.0-rc.2、0.1.7-rc.2、0.1.7-alpha.2、0.1.6-alpha.2、0.1.6-alpha.1、0.1.5-rc.2、0.1.3-alpha.2、0.1.3-alpha.1。版本较多,只列出前 8 个。

dsh-annotation-patched 需要什么运行环境?

Node.js >=20;需要同时安装 cordis@^4.0.0-rc.7 || ^4.0.1。环境不满足时安装会失败,建议先确认本机版本。

dsh-annotation-patched 用的是什么许可证?

上游标注为 MIT。商用或二次分发前请到仓库确认许可证原文。

dsh-annotation-patched 有哪些功能?

空引用即纯引用、修复幽灵引用、多行输入布局修复、补丁重放工具。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 npm 元数据为准;安装命令、仓库地址与 README 保持原文,带 L4 / L5 标记的安装命令已在隔离沙盒里真实跑通。

浏览器与联网
按星标排序,可作替代方案

dsh-our-free-model

dsh-our-free-model

在 DeepSeek Harness 中装上这个 DSH plugin,无需登录、注册或填 API Key,即可直接调用 DeepSeek

L3 · 安装规范通过 8,796 星

dsh-web

dsh-web

侧边栏多列任务看板:卡片交给真实 DSH 智能体会话执行,支持 cron 定时(Host 侧到点执行,关浏览器也生效)。

L3 · 安装规范通过 8,549 星

BrowserSkill

BrowserSkill

BrowserSkill 的 DeepSeek Harness 浏览器自动化桥接插件,通过原生浏览器工具控制可见的 Chrome 和 Edg

L4 · 沙盒安装通过 8,456 星

dsh-pocket

dsh-pocket

DSH Pocket 让 DeepSeek Harness 装进口袋:电脑跑 dsh web,手机扫码即实时同步访问(局域网+公网),人在外

L5 · 运行验证通过 1,656 星

Browser4

Browser4

L4 · 沙盒安装通过 1,152 星

agentrq

agentrq

L4 · 沙盒安装通过 1,140 星

DDDFXYqiming 的其它插件

6 个

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 2026-10-08。