DSH’s default plan review interface is usually pinned to the bottom, and you cannot specify the model or reasoning intensity before execution. The dsh-better-plan-reviewer plugin takes over this interface, turns it into a centered floating dialog, and adds controls for selecting the execution model and thinking intensity, along with the ability to stage a plan.

What It Is

This is a DSH client plugin. It modifies the plan review flow, allowing users to choose the model and reasoning intensity before confirming execution, and supports archiving a plan for later execution.

Core Features

  1. Floating dialog: Replaces the bottom yellow card, displays centered, with a blue title.
  2. Execution model selector: Reuses the style of dsh-better-model-selector, with search and grouping support.
  3. Thinking intensity selector: Reuses the style and resets to the selected model’s default level.
  4. Switch before execution: When confirming, if the model or intensity has changed, it first switches the model, then approves the plan, and finally automatically sends “Start execution”.
  5. Stage plan: Writes the plan to .dsh/plans/ under the project directory, with a timestamped filename.

Installation and Enablement

Prerequisites: DSH has initialized the web profile (dsh web runs normally), and Node.js ≥ 20.

⚠️ Depends on DSH’s next channel: peerDependencies points to @deepseek-ai/* ^0.1.0-rc.6. If your DSH uses latest (0.0.1-rc.x), services such as modelDirectories may be missing.

Use the official command to install it:

dsh plugin --profile web add dsh-better-plan-reviewer

After installation, restart dsh and perform a hard refresh in the browser (Cmd/Ctrl+Shift+R).

Typical Usage

Confirm Execution

Select the execution model and thinking intensity at the bottom of the floating dialog, then click Confirm. The plugin will first switch the model (if the selection is different), approve the plan, and then automatically send a “Start execution” message, so the plan runs under the new model.

Stage Plan

Click the “Stage Plan” button, and the plan content will be saved as a Markdown file to <conversation cwd>/.dsh/plans/. The filename format is plan-YYYYMMDD-HHmmss.md. Conflicts within the same second will automatically add -2, -3 suffixes. This operation only writes to disk and does not approve the plan.

How It Works and Notes

  • How it works: The plugin registers itself with priority -1 in the conversation.composer chain and intercepts the plan-review intent.
  • Styles: The dropdown/slider styles are an inline copy of dsh-better-model-selector (with the bpr- prefix), so that plugin is not required.
  • Subagents: Addressed subagent sessions do not provide model selection, and the execution model field is hidden.
  • Permissions: Contains the host semi-route /plan-reviewer/save-plan; file writes use ctx.sessions.get(id).header.cwd and are protected by the Host header trust fence.

Summary

This plugin modifies the review interface and execution flow, addressing the pain point of DSH’s default plan review lacking model selection.