Back to home

DDDPG

dsh-plugins

personal developed deepseek-harness plugins

Stars
0
Language
JavaScript
Created
Aug 15, 2026
Updated
Aug 15, 2026

Introduction

dsh-plugins

English | 中文

npm npm npm npm npm npm npm License

A personal collection of lightweight DeepSeek Harness (dsh) web plugins — each one is a small, independently installable package under plugins/ that adds one focused capability to the DSH workspace (a Cmd+/ shortcut palette, slash-command helpers, session status alerts, …). Low-invasiveness by design: no forks and no patches to the harness. Every plugin is published to npm and installs with a single dsh plugin add command — no repo clone needed (see Quick start). Plugins work standalone or alongside others.

The repo also carries DSH development references (UI/UX spec, theme tokens, plugin authoring conventions) to support standardized development and keep the whole workspace visually and functionally consistent.

At a glance

dsh-keys-palette — A unified shortcut-management palette for dsh (Cmd+/), with a public keys.actions registry so other plugins can register actions the same way.

dsh-tab-complete — Tab completes the highlighted slash-menu candidate (commands, skills, subagents, @-files) without executing it.

dsh-session-browser — Read-only tools so the model can list, read, and search other sessions in the same workspace.

dsh-tui-command-ext — Everyday CLI-style slash commands (/clear, /rewind, /fork, /resume, …), plus /compact-fast: Qwen Code-inspired context compression that does not call an LLM.

dsh-session-status-alert — Global cross-session status toasts with inline approval, Q&A, and plan review — in the spirit of Vibe Island.

dsh-insights — A Claude Code-style /insights command that analyzes session usage across workspaces and writes a local interactive HTML report.

dsh-plan-keeper — Persists plans and workspace memory, injects them into later turns, and surfaces them in a Deliverables view.

Plugin status

7 plugins — 7 ready (published to npm).

StatusPluginnpm versionNotes
Readydsh-keys-palette0.2.0npm / bundle channel
Readydsh-tab-complete0.1.1npm / bundle channel
Readydsh-session-browser0.2.0npm / bundle channel; list_sessions / read_session / search_sessions; FTS enabled by default
Readydsh-tui-command-ext0.1.0npm / bundle channel; merged from dsh-clear-command + dsh-command-kit
Readydsh-session-status-alert0.2.0npm / bundle channel; client half with timer inject
Readydsh-insights0.2.0npm / bundle channel; optional reportPath / facetDir (defaults under $DSH_HOME)
Readydsh-plan-keeper0.1.0npm / bundle channel; memory_write + deliverables view

Plugins

PluginHighlightsInstall
dsh-keys-paletteCmd+/ non-modal palette
• Built-in shortcut catalog
• Custom bindings with conflict detection
• Bindings persist in localStorage
• Settings → Shortcuts
• Public keys.actions registry
• zh/en UI
npm (bundle) — dsh plugin --profile web add dsh-keys-palette
dsh-tab-complete• Tab completes the highlighted candidate without executing
• Per-source behavior: commands / skills / subagents / @-files
• popupSelect keeps the bare token
• IME and modifier+Tab do not complete
npm (bundle) — dsh plugin --profile web add dsh-tab-complete
dsh-session-browserlist_sessions / read_session / search_sessions
• Same-workspace cwd scoping
• UNTRUSTED snapshots
• Bounded read/list/search budgets
• SQLite FTS enabled by default (with limitations)
npm (bundle) — dsh plugin --profile web add dsh-session-browser
dsh-tui-command-ext• Merged TUI slash-command set
• Visual interaction only (no conversation echo)
/clear /rewind /fork /resume /archive /status /rename /unarchive /compact-fast /theme /lang
npm (bundle) — dsh plugin --profile web add dsh-tui-command-ext
dsh-session-status-alert• Cross-workspace toasts: completion + pending
• Inline approval / Q&A / plan review
• Stack / inline / grouped layouts
• Subagent completion filter
• Settings page
• In-memory prefs (reset on refresh)
npm (bundle) — dsh plugin --profile web add dsh-session-status-alert
dsh-insights• Foreground /insights in the current session (agent.steer, interruptible)
insights_collect / insights_facet / insights_aggregate / insights_render / insights_run tools (subagent-parallel facet fan-out)
• Self-contained interactive HTML report, written locally
--refresh, --window N, --max N flags
npm (bundle) — dsh plugin --profile web add dsh-insights
dsh-plan-keeper• Plan capture under .dsh-outputs/plans/
• Typed workspace memory (user / feedback / project / reference)
• 6KB per-turn memory inject
memory_write model tool
• Deliverables conversation view
• Unauthenticated localhost RPC
npm (bundle) — dsh plugin --profile web add dsh-plan-keeper

Quick start

Install into the web profile of a running dsh (replace the profile name as needed). All seven plugins use the same npm / bundle channeldsh plugin add installs the package and auto-mounts it (takes effect on the next dsh start):

dsh plugin --profile web add dsh-keys-palette
dsh plugin --profile web add dsh-tab-complete
dsh plugin --profile web add dsh-tui-command-ext
dsh plugin --profile web add dsh-plan-keeper
dsh plugin --profile web add dsh-session-browser
dsh plugin --profile web add dsh-insights
dsh plugin --profile web add dsh-session-status-alert
  • dsh plugin --profile <name> add <pkg> — npm / bundle channel. Packages that declare dsh.bundle.patch join the profile's bundle stack automatically; every plugin here does. Takes effect on the next dsh start. Relative paths work for local checkouts: dsh plugin --profile web add ./plugins/dsh-keys-palette.
  • All plugins work out of the box with sensible defaults: dsh-session-browser enables the SQLite FTS index, dsh-insights writes to $DSH_HOME/storages/insights/. Both are overridable per profile (see the plugin READMEs).
  • ./scripts/install.sh <profile> plugins/<name> — local-development helper for this repo's checkouts (installs the package and appends a loader insert to cordis.patch.yml). Not needed for end users; if you previously installed a plugin this way, remove its insert row before switching to the bundle channel (mixing both mounts it twice).

Uninstall (bundle channel): dsh plugin --profile web remove <pkg>.

Development guidelines

The docs/ directory collects DSH development references to support standardized plugin development and keep the workspace visually and functionally consistent (all derived from the actual shipped sources — no invented values):

DocCovers
plugin-development.mdPlugin authoring conventions: package layout, the two install channels, npm publishing checklist.
dsh-web-ui-design-spec.mdDSH Web UI/UX design spec (light/dark): theme token system, core component visuals, icons.
ask-user-question-mechanism.mdFull trigger chain of the ask_user_question capability (model → host bridge → Web UI → answer).
parts/Detailed token / icon / component inventories.

Roadmap

  • Publish plugins to npm — dsh-keys-palette @0.2.0, dsh-tab-complete @0.1.1, dsh-session-browser @0.2.0, dsh-tui-command-ext @0.1.0, dsh-session-status-alert @0.2.0, dsh-plan-keeper @0.1.0, dsh-insights @0.2.0
  • dsh-plan-keeper: published @0.1.0
  • dsh-insights: foreground /insights published @0.2.0
  • Unify every plugin on the npm / bundle install channel (dsh plugin add only — dsh-session-browser / dsh-insights / dsh-session-status-alert @0.2.0)
  • dsh-keys-palette: host-settings-backed persistence, cross-tab binding sync, more built-in actions
  • CI: per-plugin syntax + npm pack validation on change
  • More plugins — suggestions welcome (open an issue or PR)

License

MIT — see LICENSE (each plugin package ships its own).