DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Plannotator — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins

dsh-plannotator

Plannotator

Opens the official Plannotator app to review the agent's plan — annotate, approve, or send it back.

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add dsh-plannotator@0.2.0
READMECompatibilityVersions

Compatibility and provenance

Plannotator is published as dsh-plannotator and currently resolves to version 0.2.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
any
Release source
npm
Registry updated
9/21/2026

Versions

0.2.0stable
8/18/2026
0.1.4stable
8/17/2026

Related plugins

Loading related plugins…

Latest
0.2.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
45.3 kB
Files
14
Surface
any
License
MIT OR Apache-2.0
Source
npm
GitHub
★ 1
Weekly downloads
73
Last push
8/19/2026
View source ↗Project homepage ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in agents-orchestration.

Headless@deepseek-ai/dsh-headlessThe dsh one-shot bundle: a direct core Agent/Session runner over dsh-base with no Host, HTTP, or browser layerExperimental Agent Team Web Profile@deepseek-ai/dsh-experimental-agent-team-web-profileExperimental Web profile layer for Agent Teams Remote and UI pluginsExperimental Agent Team Profile@deepseek-ai/dsh-experimental-agent-team-profileExperimental profile bundle enabling Agent Teams over dsh-baseSubagent Codex@deepseek-ai/dsh-subagent-codexOne-shot Codex subagent provider over the official app-server protocol

README

dsh-plannotator

English · 中文

Standalone DeepSeek Harness plugin. When the agent is ready with a plan, it opens the official Plannotator app — the real product, not a lookalike review screen in the chat.

This package is not a fork or patch of the Plannotator monorepo. It uses the Plannotator app you already have installed.

Layout follows dsh-plugin-starter: host plugin, pure lib/ helpers, runtime skill, node:test, CI, and a bundle manifest — zero dependencies, no build step.

index.js                    host plugin (plan intercept + commands + skill)
lib/                        deterministic helpers (unit-test friendly)
skills/plannotator/SKILL.md model-facing skill manual
tests/                      node:test suite
cordis.patch.yml            bundle patch layer

What you get

When the agent presents a plan, Plannotator opens instead of the built-in review card.

You can also open Plannotator yourself:

CommandWhat it does
/plannotator-reviewReview the current changes, or a pull request if you paste a URL
/plannotator-annotateAnnotate a file, folder, or URL
/plannotator-lastAnnotate the latest assistant reply
  1. Enter plan mode with /plan.
  2. The agent writes a plan.
  3. Plannotator opens in the browser. The native dsh card should not appear.
  4. Approve, deny, or dismiss. dsh stays in sync with that decision.
Reviewer actionWhat dsh does
ApproveLeave plan mode and continue.
Approve with notesLeave plan mode, then inject the notes as a follow-up user message.
Deny / annotateStay in plan mode. The agent revises with your feedback.
Dismiss (close the UI)Stay in plan mode and wait for your next message.

Requirements

  • dsh 0.1.0-rc.6 or a compatible developer preview
  • Node.js 18+ (dsh itself still wants 22+)
  • A plannotator CLI that already ships plannotator opencode-plan (current releases do)

Install the CLI if it is missing:

# macOS / Linux / WSL
curl -fsSL https://plannotator.ai/install.sh | bash

# Windows PowerShell
irm https://plannotator.ai/install.ps1 | iex

Then confirm it is on PATH (or at ~/.local/bin/plannotator):

plannotator --help

Install

dsh plugin --profile web add dsh-plannotator
dsh web

Check that the layer is composed:

dsh --profile web --dump-config   # look for "# == dsh-plannotator"

Use /plan, let the agent propose a plan, and review it in Plannotator.

The same flows are also available as official terminal subcommands (plannotator review, plannotator annotate, plannotator last). The slash commands above wrap those CLIs inside dsh.

From this checkout

git clone https://github.com/eightHundreds/dsh-plannotator.git
cd dsh-plannotator
dsh plugin --profile web add .
dsh web

No install or build step. A local dsh plugin add . stays linked to this checkout.

Dev-load with a --patch overlay (plugin path must be absolute):

# dev.cordis.yml
- insert:
    - id: dsh-plannotator
      name: /absolute/path/to/dsh-plannotator/index.js
dsh --profile web --patch ./dev.cordis.yml

Uninstall

dsh plugin --profile web remove dsh-plannotator

A broken bundle patch can keep the whole web profile from booting. If dsh web no longer starts after install, remove the plugin and run --dump-config again.

How it works

When the agent leaves plan mode, this plugin opens the official Plannotator app and waits. Approve, deny, or dismiss is then applied back in dsh. Anything else is left to the official tools.

Configuration

Defaults work with a normal Plannotator install. Override only if the binary is not where the plugin looks.

VariablePurpose
PLANNOTATOR_BINAbsolute path to the plannotator executable.
PLANNOTATOR_DSH_USE_SOURCE=1Run the Plannotator hook server from a local checkout via bun.
PLANNOTATOR_DSH_SOURCE_ROOTDirectory to walk upward from when searching for that checkout.
PLANNOTATOR_DSH_SOURCE_ENTRYExact path to apps/hook/server/index.ts.
PLANNOTATOR_BUN / BUNbun executable used in source mode.

Without PLANNOTATOR_BIN, the plugin uses ~/.local/bin/plannotator when that file exists, otherwise plannotator on PATH. On Windows it also checks %LOCALAPPDATA%\plannotator\plannotator.exe.

The child process always gets PLANNOTATOR_ORIGIN=dsh and PLANNOTATOR_CWD=<session cwd>. The stock opencode-plan command still hard-codes an OpenCode origin in the UI badge; that is a Plannotator-side limit.

Troubleshooting

SymptomWhat to check
Native dsh review card still appearsPlugin layer missing in --dump-config, plan mode not active, or the plan does not start with # ….
Could not find \plannotator``Install the CLI, or set PLANNOTATOR_BIN.
dsh web never boots after installRemove the plugin. Do not add a hard inject: ['planMode'] to the host patch.
exit_plan_mode is only available in plan modeOlder builds returned a bare { approved: true } and failed the official schema. Upgrade this plugin.
Badge says OpenCodeExpected. The stock CLI labels opencode-plan that way.

What this plugin does not do

  • Change the Plannotator monorepo (native dsh origin, installer)
  • Replace UserQuestionProvider or wrap Claude hooks.json

Development

node --test

References

  • dsh-plugin-starter
  • Field guide: https://github.com/ciceroyang/dsh-report-studio/blob/main/docs/tutorial-zh.md

License

MIT OR Apache-2.0