Skip to content

Repository files navigation

dsh-plannotator

English · 中文

npm license dsh-plugin

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.

What you get

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

You can also open Plannotator yourself:

Command What it does
/plannotator-review Review the current changes, or a pull request if you paste a URL
/plannotator-annotate Annotate a file, folder, or URL
/plannotator-last Annotate 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 action What dsh does
Approve Leave plan mode and continue.
Approve with notes Leave plan mode, then inject the notes as a follow-up user message.
Deny / annotate Stay 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 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.

Installing the official CLI also gives you these terminal subcommands. This plugin does not wrap them as dsh slash commands (/plannotator-review is not registered):

CLI What it opens
plannotator review [PR_URL] Code review of local changes or a GitHub/GitLab PR
plannotator annotate <file|url|folder> Annotate a document
plannotator last Annotate the last agent message

From this checkout

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

Rebuild after changing the TypeScript sources. A local dsh plugin add . stays linked to this checkout.

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.

Variable Purpose
PLANNOTATOR_BIN Absolute path to the plannotator executable.
PLANNOTATOR_DSH_USE_SOURCE=1 Run the Plannotator hook server from a local checkout via bun.
PLANNOTATOR_DSH_SOURCE_ROOT Directory to walk upward from when searching for that checkout.
PLANNOTATOR_DSH_SOURCE_ENTRY Exact path to apps/hook/server/index.ts.
PLANNOTATOR_BUN / BUN bun 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

Symptom What to check
Native dsh review card still appears Plugin 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 install Remove the plugin. Do not add a hard inject: ['planMode'] to the host patch.
exit_plan_mode is only available in plan mode Older builds returned a bare { approved: true } and failed the official schema. Upgrade this plugin.
Badge says OpenCode Expected. The stock CLI labels opencode-plan that way.

What this plugin does not do

  • Change the Plannotator monorepo (native dsh origin, installer)
  • Register dsh slash commands. review / annotate / last belong to the official plannotator CLI above
  • Replace UserQuestionProvider or wrap Claude hooks.json

Development

pnpm install
pnpm test
pnpm typecheck
pnpm build

License

MIT OR Apache-2.0

About

Review DeepSeek Harness plans in Plannotator — annotate, approve, or send them back.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages