DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

zuojinxin /

zuojinxin/dsh-annotation

Verified

DSH Web 选中批注插件:选中文字→批注→回车随消息发送,回复按批注编号逐条对照 | DSH web selection-annotation plugin: annotate selected assistant text and send it with your message

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@61dad004

dsh-annotation

Select text in a DSH conversation or a workspace file preview, annotate it, and press Enter — the annotation block rides along with your message, and the model answers each annotation by number.

English · 简体中文

DSH License

What it does

  • Annotate on selection — select assistant text (or text in a workspace file preview), pick 批注 in the toolbar, write the note. Leaving it empty marks the passage without a comment.
  • Numbered markers — the passage gets a highlight and a blue index number that stays anchored while you scroll and dodges collisions.
  • Collect across turns — annotations pile up from any number of messages and turns, numbered from 1.
  • Pending tag — a N 条批注 tag next to the composer lists every pending annotation on hover and deletes them one by one.
  • Send with Enter — the annotation block goes out together with whatever you typed. The model receives the full block.
  • Clean user bubble — the block is stripped from the bubble before the browser paints, so your own message shows only your question plus the tag; a reload repairs history too.
  • Numbered reply — the message carries a format instruction, and the model answers Annotation 1: … through Annotation N: …; each label in the reply becomes a hoverable chip showing the quoted passage and your note.
  • File annotations — the same flow works in the sidebar file preview (Markdown, plain text, code). Quotes carry the file path, markers survive a reload, and the same passage in two different files stays two separate annotations.

Flow

select text ──▶ toolbar 批注 ──▶ write or leave empty ──▶ highlight + index number
      ▲                                                          │
      └───────────── any number, across turns ◀──────────────────┘
                          │
                          ▼
             N 条批注 tag beside the composer (hover / delete)
                          │
                       Enter
                          ▼
   model receives: annotation block (index + quote + note) + your question
   your bubble:   only the question + the tag, no block text
   model reply:   Annotation 1: … Annotation 2: … (hoverable chips)

Install

dsh plugin --profile desktop add 'github:zuojinxin/dsh-annotation'

Restart the DSH desktop app to load it.

Notes

  • Built for DeepSeek Harness 0.2.1-rc.3 (desktop). The plugin locates the host by CSS classes and DOM structure, so a host upgrade may need a matching update.
  • PDF, images and HTML inside an iframe are out of scope; text in the file preview and in chat messages is in scope.
  • While the toolbar is open on an assistant passage it takes over the host's own text-quote overlay, so there is only one entry point.
  • UI strings and the annotation protocol follow the host locale (Chinese / English, switchable at runtime).
  • Pending annotations live in browser localStorage; clearing site data or switching browsers drops them.
  • Disabling the plugin removes every element and style it added.

Development

npm test                  # jsdom unit tests
node --check client.js    # the browser bundle is hand-written, not built
node docs/render-demo.mjs # re-render the animation and screenshots (headless Edge + ffmpeg)

The browser-level checks (test/overlay-browser.mjs, test/sidebar-browser.mjs) need a Playwright installation: point PLAYWRIGHT_MODULE at an existing playwright-core/index.mjs.

License

MIT.

—/ 5

No ratings yet

Verified DSH bundle

Commit 61dad0041a91

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout