dsh-pi-kit
中文 | English
A collection of lightweight DSH optimization plugins: Auto Review + Approval Chime. Invisible in daily use; dangerous operations and pending events no longer slip past you.
Plugins
| Plugin | What it solves |
|---|---|
| Auto Review | Blocks dangerous commands before tool execution, allows safe ones, and hands anything uncertain to you (reviewed by a lightweight model that reuses your DSH credentials) |
| Approval Chime | Distinct sounds for approvals, questions, and background-task completion; system notifications for finished background jobs |
Install
One-line install (recommended):
dsh plugin --profile web add dsh-pi-kitdsh installs the dependency and mounts the bundle automatically (reads this package's dsh.bundle.patch — no patch editing needed). Restart DSH to take effect.
> web is the built-in Web GUI profile name; replace it with your profile name (the directory name under ~/.dsh/profiles/) when using a different one. > > dsh plugin invokes pnpm internally; if it reports pnpm not found, run npm install -g pnpm first and retry.
Manual install (equivalent profile package.json):
{
"dependencies": { "dsh-pi-kit": "^0.1.0" },
"dsh": { "profile": { "bundles": ["dsh-pi-kit"] } }
}> Single plugin: dsh plugin --profile web add dsh-auto-reviewer (or either of the other two packages); without the settings shell, the settings card appears in its standalone fallback form automatically. > > Disabling one member: after the bundle install, append - id: <plugin id> disabled: true to the profile patch layer. > > Isolated layout note: with pnpm's isolated layout the member packages land in nested directories and dsh web may fail with Cannot find package 'dsh-auto-reviewer'. Add nodeLinker: hoisted to the profile's pnpm-workspace.yaml and reinstall.
Verify & uninstall
# verify the plugin rows are mounted
dsh --profile web --dump-config
# uninstall (restart dsh web afterwards)
dsh plugin --profile web remove dsh-pi-kitInstall from the GitHub repo (development)
git clone https://github.com/Pidreamleaves/dsh-pi-kit.git
cd dsh-pi-kit
pnpm install
pnpm -r build
# link the three member packages into the web profile (each declares dsh.bundle, so they mount automatically)
dsh plugin --profile web add link:<absolute-path>/dsh-pi-kit/packages/auto-review
dsh plugin --profile web add link:<absolute-path>/dsh-pi-kit/packages/approval-chime
dsh plugin --profile web add link:<absolute-path>/dsh-pi-kit/packages/pi-kit-settingsRestart dsh web. After code changes run pnpm -r build and restart.
Usage
- Settings: Settings → Plugins → Plugin configuration → dsh-pi-kit; persisted storage
- Auto Review: enabled by default (review model
deepseek-v4-flash); the policy file~/.dsh/auto-review.ymlis created with a commented template on first start — edit it to customize; review results are summarized in a colored badge at the end of each turn (green allowed / red blocked / blue escalation, expand Details for each decision's rationale) - Approval Chime: enabled by default; completion sounds notify background sessions only by default (switch to all sessions in settings); all three sounds can be previewed
See the plugin pages for details: packages/auto-review · packages/approval-chime · packages/pi-kit-settings
Repository layout
dsh-pi-kit/
cordis.patch.yml # bundle patch: mounts every member at once
package.json # bundle root: depends on every member
packages/
auto-review/ # auto-review gate (Host)
approval-chime/ # chime/notifications (Client; Host half owns the settings domain)
pi-kit-settings/ # aggregated settings card shell (Client)License
[MIT](./LICENSE)