DeepSHPlugins
dsh-plannotator 專案預覽
GITHUB / COMMUNITY PROJECT

dsh-plannotator

Agent 與自動化JavaScript

開啟官方 Plannotator 應用(plannotator.ai)審代理寫好的計劃:批註、批准,或打回重寫。

1 StarseightHundreds 更新時間 2026-08-19
訪問 GitHub 倉庫
dsh-plannotator 專案預覽

專案介紹

中文

開啟官方 Plannotator 應用(plannotator.ai)審代理寫好的計劃:批註、批准,或打回重寫。

English

Opens the official Plannotator app (plannotator.ai) so you can review the agent's plan — annotate, approve, or send it back.

專案資訊與收錄訊號

快照 2026-09-11
作者 / 組織
eightHundreds
倉庫
eightHundreds/dsh-plannotator
GitHub Stars
1
Forks
0
開發語言
JavaScript
許可證
未記錄
最近推送
2026-08-19
Manifest
資料中檢測到宣告

公開倉庫不自動等於可商用;許可證與當前相容性以原專案文件為準。Manifest 和資料評分不構成安裝安全認證。

資料評分

51/ 100
維護活躍
85
文件與實用資訊
85
生態關注度
9
安裝便捷訊號
100
專案宣告訊號
80

近 23 天仍在更新;README 含完整安裝與使用說明;關注度尚低(1)。

評分來自已有資料快照的五維模型,僅作瀏覽參考,不是實際使用評測或安全檢測結論。

安裝與使用

所有專案資料與許可均以對應 GitHub 倉庫為準。

dsh plugin --profile web add github:eightHundreds/dsh-plannotator

複製命令不會自動執行。請先閱讀倉庫文件,確認環境要求與許可證。

專案截圖

倉庫 README

GitHub 原文

已儲存的倉庫文件快照;文件抓取時間未記錄,可能與上方目錄介紹處於不同版本。安裝前請核對當前倉庫說明。

儲存庫檔案保留原文,指令與授權文字不作自動改寫。

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.

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.

From a .tgz tarball

Each v* tag publishes an npm pack on the GitHub Release. dsh plugin add accepts that .tgz the same way it accepts an npm package — do not use the auto-attached source zip.

Install from the release URL:

dsh plugin --profile web add https://github.com/eightHundreds/dsh-plannotator/releases/download/v0.2.0/dsh-plannotator-0.2.0.tgz
dsh web

Or download dsh-plannotator-<version>.tgz first, then point at the file:

dsh plugin --profile web add ./dsh-plannotator-0.2.0.tgz
dsh web

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.

Slash commands and the model-facing skill are registered with ctx.inject(['commands']) / ctx.inject(['skills']) once those host services are active. They are not a one-shot ctx.get at plugin load, and the package skills/ directory is not scanned by dsh — the skill body is embedded at register time.

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 # ….
/plannotator-* missing from the slash menuProfile still has published 0.1.4 (that build registered nothing). Re-add this checkout: dsh plugin --profile web add .
plannotator skill missing from the catalogSame as above, or the host has no skills service. The package skills/ folder is not auto-discovered.
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

使用前核對

安裝步驟、相容版本與授權範圍以原專案當前文件為準。Stars 和評分是快照中的導航訊號。

安裝與排錯 · 專案問題反饋

同類專案