alaliqing/dsh-annotate--packages-dsh-annotate ↗★ 2

dsh-annotate

Element annotation and review panel for the DeepSeek Harness web client: pick UI elements in a live app preview, write notes, and send them to the conversation as one structured block 适合在Web预览中对特定UI元素进行标注和反馈,并将结构化批注直接提交给智能体的任务。

Package
dsh-annotate
Compatibility
Unverified
Version
0.1.1
License
MIT
Last updated
Sep 23, 2026

Other repositories with this package name

Install

This plugin has no verified bundle, or compatibility checks failed. Read the repository notes first. Read the full README ↗

dsh-annotate

Element annotation and review panel for the DeepSeek Harness web client. Open a local app you are already running, click the elements you want changed, write a note on each, and send the whole review to the conversation as one structured block.

This is the package README. For the architecture, the full workflow, the annotation payload, configuration and the documented limits, see the repository README.

Install

Give a coding agent this prompt:

Read https://github.com/alaliqing/dsh-annotate and install its latest published version into the local DeepSeek Harness web profile. Preserve existing configuration and do not stop the current Harness session. Verify the installation, then explain how to restart Harness and open Annotate.

Or install manually with Node.js 20+, the dsh CLI, and pnpm on PATH:

dsh plugin --profile web add dsh-annotate

The current package needs a profile entry in $DSH_HOME/profiles/web/cordis.patch.yml (default ~/.dsh/profiles/web/cordis.patch.yml). Keep existing entries and add this only once:

- insert:
    - name: dsh-annotate

Check for dsh-annotate with dsh --profile web --dump-config. Restart the web profile and refresh the browser, then click Annotate or press ⌘/Ctrl⇧B. If you use npx @deepseek-ai/dsh web, replace dsh above with npx @deepseek-ai/dsh. The package ships built files; no build step is needed.

What you get

  • A sidebar tab (Annotate, ⌘/Ctrl⇧B) listing the local development servers that are actually running, with page titles, refreshed every five seconds.
  • Each app opens on its own isolated loopback preview origin, at its original paths, so root-absolute assets, SPA routes and WebSocket upgrades just work.
  • Click an element to write a note. Markers follow the element through window and nested scrolling, resizing and layout shifts, and hide when the element is clipped or gone.
  • Send annotations sends the review alone; Add to composer merges it into your draft. A rejected send keeps the annotations, and your draft and attachments are never sent by accident.
  • Structured payloads: original URL, viewport, selector and match count, semantic anchors, component chain, geometry, computed styles and visible text.
  • English and Chinese, switchable in the toolbar.

Package contents

FileRole
lib/index.jsHost half: discovery, the loopback preview proxy, the host API
lib/client.jsClient half: the sidebar tab
lib/shim.jsInjected into previewed documents: URL and socket mapping, navigation reports
lib/overlay.jsInjected into previewed documents: picking, markers, comment cards
cordis.patch.ymlActivation example to add to the web profile manually

Compatibility

Chromium is the validated browser. A restartable, local DeepSeek Harness web client is required.

A packed unreleased checkout passed a native check with Harness CLI 0.1.5-rc.2, web app and session controller 0.1.5-rc.3; that check did not install npm 0.1.1. See the compatibility record for the environment and validation limits.

Local development only: proxy targets are restricted to loopback, so a remote harness or a public deployment is out of scope.

License

MIT.