dsh-annotator
English | 中文
DSH (DeepSeek Harness) community plugin: annotate the transcript. Select any text in the conversation, click the floating Annotate mark, write your note — the send arrow compiles the quote (as a blockquote) plus your note and submits it through the composer.
Features
- Select transcript text → a floating annotate mark appears right below the selection.
- Only selections wholly inside the chat transcript (
[data-chat-flow]) get a mark; a drag that leaves the transcript is ignored. - Modal editor shows the quoted source plus a note field (⌘/Ctrl + Enter to send).
- The send arrow compiles
> quoted text+ your note and submits it through the composer. - English UI copy.
- Cleanup is fully
ctx.effect-driven — no global listeners leak on unload.
Requirements
- A DeepSeek Harness web profile (any profile name; the examples below use
web).
Installation
lib/ is committed, so neither install path needs a build step.
Option A — tarball
cd dsh-annotator
npm pack # → dsh-annotator-0.1.0.tgz
dsh plugin --profile web add ./dsh-annotator-0.1.0.tgz
Option B — git (latest)
dsh plugin --profile web add github:cw1999mm/dsh-annotator
Then restart (or refresh) the web UI. The plugin loads as the dsh-annotator bundle layer; remove it with:
dsh plugin --profile web remove dsh-annotator
Manual / development install
Link the package into your profile's node_modules and add the bundle row:
# from the profile directory (e.g. ~/.dsh/profiles/web)
pnpm add link:<absolute path to this project>
Then append to the profile's cordis.patch.yml:
- insert:
- id: dsh-annotator
name: dsh-annotator
Usage
- Drag to select any span of text in the chat transcript.
- Click the floating Annotate button.
- Write your note and click the send arrow (or press ⌘/Ctrl+Enter) — the message
> quoted text\n\nnoteis compiled and sent through the composer.
Development
src/ is the TypeScript source; lib/ is the committed build output.
Typechecking needs the DSH client type packages. The shipped tsconfig.json maps them via paths to a sibling deepseek-harness checkout (the layout this plugin was developed against); adjust the paths to your checkout:
pnpm typecheck # tsc -p tsconfig.json (noEmit)
Rebuilding lib/ (the browser bundle) uses the DSH repo's tsdown toolchain from a checkout that includes the client packages; the committed lib/client.js is the canonical runtime artifact.
License
MIT © 2026 cw1999mm
No comments yet. Be the first to write one.