DDDFXYqiming/dsh-annotation-patched

Plugin插件 Native原生 ⭐ 2 MIT Sessions & Context会话与上下文

DSH 网页标注/引用插件(增强版分支)

Project Overview项目介绍

This is a community-maintained forked version of the DSH Web selection annotation plugin, built exclusively for DeepSeek Harness (DSH). To install the plugin, you just need to run the DSH CLI command dsh plugin --profile web add github:DDDFXYqiming/dsh-annotation-patched in your terminal. If you are doing local development, you can also point the CLI to your local cloned repository directory directly for testing. All custom changes are marked with PATCH(date) comments in the client.js file, so you can quickly locate all modifications with a simple grep command, and the included script can automatically re-apply all patches when you update the upstream base.

The core feature of this plugin is to add selection-based quoting functionality to DSH Web. When you select text from an assistant’s message and click the quote button, the selected text will be inserted as a quote block into your outgoing message. The model will then respond to each quote one by one with numbered markers, and you can hover over the markers to expand the full quoted content. Compared to the upstream original, this fork adds multiple custom improvements, including pure quote support, a fix for leftover ghost quotes, and a fix for layout issues with multi-line input fields.

This plugin is released under the open-source MIT license, and it retains all original copyright statements from the upstream project. It only supports generating quotes from text selected in assistant messages, and it does not process any text from messages sent by users. Because it relies on specific DOM structures of the DSH Web interface, any major UI updates to DSH may break the plugin’s functionality. After you modify the plugin code, you need to force refresh your browser page with Ctrl+F5 to see changes, and you have to re-link the local directory after updating via pnpm.

这是DeepSeek Harness(DSH)网页版「选中引用」功能插件的社区维护分支,是专为DSH打造的原生插件。你可以通过DSH命令行工具直接安装,执行dsh plugin --profile web add github:DDDFXYqiming/dsh-annotation-patched就能完成安装,本地开发也可以直接添加本地仓库目录进行调试。本仓库所有修改都在client.js中添加了PATCH(日期)标记,可通过grep快速定位,还提供了脚本可以在更新上游基座时一键重放所有补丁。

它的核心功能是让用户在DSH网页版中选中助手回复的文字后,点击「引用」按钮就可以把选中内容作为引用块拼入待发送消息,模型会按编号逐条回应引用,生成的回应还带有可悬停展开的引用标记。相对于上游原版,这个分支做了多项本地定制增强,包括支持纯引用单按钮模式、修复幽灵引用残留bug、修复多行输入框布局错位问题、剥离旧模型输出的内联思考块。

本插件遵循MIT许可证,保留了上游原项目的版权声明。它只支持选中助手消息生成引用,不处理用户自身发送的消息,依赖DSH网页端的特定DOM结构,DSH界面升级后可能会导致插件失效。修改代码后需要按Ctrl+F5强制刷新浏览器页面才能生效,用pnpm更新后需要重新链接本地目录才能正常加载。

Pre-install check安装前体检Compatibility · Security兼容性 · 安全性 1 warning1 项注意
  • Only 2 stars - very few users, little community feedback星标只有 2,几乎没人在用,遇到问题缺少社区反馈
DSH walks through these 9 checksDSH 会逐条核对这 9 项

Compatibility兼容性

  • DSH, Node, OS and profile requirementsDSH 版本 / Node 版本 / 操作系统 / profile 是否满足要求
  • External dependencies and runtimes (Electron / Python / Docker, ...)外部依赖与运行时(Electron / Python / Docker 等)是否齐备
  • Conflicts with installed plugins: command names, skill / tool names, ports, duplicate MCP registration与已装插件是否冲突:命令名、skill / tool 重名、端口占用、重复 MCP 注册

Security安全性

  • Repo matches the facts registered here; archived or abandoned?仓库是否与页面登记一致,是否归档或长期停更
  • Safety of preinstall / install / postinstall and install.sh / setup.ps1preinstall / install / postinstall 与 install.sh、setup.ps1 是否安全
  • curl|bash, download-then-execute, obfuscation, unrelated domains → stop immediatelycurl|bash、下载即执行、混淆代码、无关域名 → 立刻停止
  • Typosquatting or unmaintained packages among the new dependencies新增依赖里有没有 typosquatting 或无人维护的包
  • Requested permissions vs. what the feature actually needs申请了哪些权限、是否超出功能所需(filesystem / network / shell / clipboard)
  • Any sudo / admin requirement, plus uninstall and rollback是否要求 sudo / 管理员权限,以及卸载与回滚方式

Anything uncertain must be marked unknown with a note on how to confirm it. This site's signal screen is a static snapshot, not a security audit.拿不准的必须标「未知」并说明要我怎么确认。本站的信号筛查是静态快照,不能替代安全审计。

Or use CLI install (for developers)或使用命令行安装(适合开发者)

CLI Install命令行安装

dsh plugin --profile web add github:DDDFXYqiming/dsh-annotation-patched

把 DDDFXYqiming/dsh-annotation-patched 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

简体中文 | English

dsh-annotation-patched

A locally enhanced fork of the DSH Web "select-and-quote" plugin, maintained at v0.3.7. The package carries the independent fork name @dsh-external/dsh-annotation-patched so its releases never collide with upstream ones.

The plugin does one concrete thing. You select text inside an assistant message in DSH Web, click "引用", optionally add a note (or leave it empty), and press Enter. The quote block is composed into your message and sent along with it. The model answers each quote by number, and the replies carry quote chips that expand on hover. Queue-jumping a message with Ctrl+Enter while a conversation is running carries the quotes just the same.

  • Upstream lives at omdsh-dev/dsh-annotation (MIT; since upstream v1.4.11 the package name is @changfenhuang/dsh-annotation). This fork is based on v1.4.11-preview.1, upstream commit ab594842 (2026-09-15, upstream note "adopted for DSH 0.1.6-alpha.1"; replay migrated 2026-09-17). Historical base is v1.4.1 plus issue#20, at fd24ef92
  • This directory is upstream source plus local enhancements. Every change in client.js carries a PATCH(YYYY-MM-DD) marker, so grep finds them all
  • To move to a new base, run node scripts/apply-patches.mjs --fetch <upstream-commit> --out client.js and every fork patch replays in one shot from the patches/manifest.json manifest

Enhancements (local customizations, vs upstream v1.4.11-preview.1)

1. Empty quote = quote (single-button mode)

Select text in an assistant message and click "引用". The quote can be saved with nothing typed in it, which gives you a pure quote (it just marks the original text), matching Codex's Add to chat. The toolbar keeps a single "引用" button. Selection is explicit confirmation only. Copy actions and double-click word lookups never turn into a quote by themselves, and the "引用" button has to be clicked, so ghost quotes from stray selections cannot appear.

2. Ghost-quote fix (send-confirmed mode)

Upstream clears the pending-send quote set quotes only inside the decorateAll decorative-scan poll. That leaves a race window. When a bubble has not rendered yet, a label is missing, or messages go out in quick succession, quotes keeps residue around, and later messages you never selected get tagged with old quotes.

Showing the opening section of the README — the full document lives in the repository以上为 README 开头摘要,完整文档在仓库内 · View the full README on GitHub →在 GitHub 查看完整 README →

← 上一个 Prev PTY-Agent 下一个 Next dsh-run-config →