dsh-annotate: Click Web Elements and Leave Comments Inside DeepSeek Harness

theyoungchen/dsh-annotate

Tools & CapabilitiesVerified
Listed on 2026-09-21
Page last updated 2026-10-12

Point-and-click any web element — local or online — inside DeepSeek Harness and send DOM facts plus your comments into the chat, so the model can pinpoint the exact code.

dsh-annotate is a web element annotation capability for DeepSeek Harness that replaces describing UI problems in prose with simply clicking. After you pick an element, it collects structured facts such as CSS selectors, semantic attributes, component chains, geometry, and computed styles, then sends them into the chat together with your written comment, so the model can pinpoint the exact line of code. It covers both live sites and local HTML files, ships with a built-in sidebar browser that avoids X-Frame-Options and cross-origin DOM blocking, and keeps data on a local loopback channel to your own machine.

How to Install

install
dsh plugin --profile web add github:theyoungchen/dsh-annotate
Category
Tools & Capabilities
Platform
DSH Plugin
Author
theyoungchen
Distribution
Plugin

dsh-annotate Key Features

Pick elements with DOM factsOnline sites and local HTMLBuilt-in sidebar browserComment on selected elementsOne-click online access toggle
Listed on dsh-plugin.org

dsh-annotate Repo Summary

What Does It Do?

TheYoungChen/dsh-annotate is a DSH plugin for DeepSeek Harness that lets you click any web element — local or online — and send your comments along with DOM facts straight into the chat. It solves the problem that describing UI issues in prose is never precise: instead of a screenshot, the model receives structured facts such as selectors, semantic attributes, component chains, geometry, and computed styles, so it can pinpoint the exact line of code. It works on both live sites and local HTML files, ships with a built-in sidebar browser, is maintained by TheYoungChen, and is released under the MIT license in TypeScript.

Core Features

  • Element annotation: after you pick an element it collects the CSS selector and match count, semantic attributes like aria-label, data-testid and role, the React or Vue component chain, position and size, and key CSS properties as model-readable structured facts.
  • Comment feedback: select an element, write your opinion, and send it to tell the model exactly what is wrong and how it should change; you can also send a selection on its own to let the model inspect the element first.
  • Online and local coverage: annotate https sites, http local services, and file:// HTML prototypes opened by dragging them into the browser, closing the gap left by tools that only handle one side.
  • Built-in sidebar browser: no X-Frame-Options pain and no cross-origin DOM blocking, because the extension's content script runs inside the target page and can read the DOM, highlight elements, and listen for clicks while keeping your existing cookies and login state.
  • One-click online access toggle: the first time you annotate a non-local address a prompt appears; it is off by default, applies to all sites once enabled, and stops immediately when disabled.
  • Data stays on your machine: annotations travel over a local loopback channel to your own DSH, the page is never modified, password and credit-card fields are not collected, and page text is marked as data rather than instructions.

How to Use This Plugin?

After enabling the plugin in DSH, press Ctrl+Shift+A (⌘+Shift+A on macOS) to enter annotation mode, open the sidebar browser, visit any page, click Annotate, hover to highlight, click to select an element, then write a comment and send it. There are two ways to send: press Enter right after selecting, or select, write your comment, and send. Esc exits annotation mode, Shift+Enter adds a line break inside a comment, Ctrl/⌘+click saves and sends the whole batch, and Tab cycles between overlapping elements. The first time you annotate a non-local address you must explicitly enable online access in the prompt, which is off by default. Configuration options such as host, port, allowedExtensionId, requestTimeoutMs, maxPayloadBytes, and includeScreenshot let you tune the connection and capture behavior.

How to Troubleshoot This Plugin?

Annotation is unavailable on about:blank and special-protocol pages, which is a browser limitation rather than a fault — switch to an http, https, or file:// page. If the page structure cannot be read on a live site, online access has usually not been enabled yet; turn it on explicitly in settings as described in the official instructions. If the model cannot see a component chain, that is expected: component paths are only available in development builds and are absent from production builds.

This page is an independent rewrite of the plugin's official README — for authoritative documentation and the latest changes, refer to the source: theyoungchen/dsh-annotate. The plugin is third-party code that runs on your machine once installed; inclusion does not imply endorsement — please review the source before installing.

Install, update, and uninstall this plugin in the Plugin Market of DeepSeek Harness's DSH Plugin Hub

DSH Plugin FAQ