deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
English | 中文
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 (aCmd+/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 singledsh plugin addcommand — 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.
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.
7 plugins — 7 ready (published to npm).
| Status | Plugin | npm version | Notes |
|---|---|---|---|
| ✅ Ready | dsh-keys-palette | 0.2.0 |
npm / bundle channel |
| ✅ Ready | dsh-tab-complete | 0.1.1 |
npm / bundle channel |
| ✅ Ready | dsh-session-browser | 0.2.0 |
npm / bundle channel; list_sessions / read_session / search_sessions; FTS enabled by default |
| ✅ Ready | dsh-tui-command-ext | 0.1.0 |
npm / bundle channel; merged from dsh-clear-command + dsh-command-kit |
| ✅ Ready | dsh-session-status-alert | 0.2.0 |
npm / bundle channel; client half with timer inject |
| ✅ Ready | dsh-insights | 0.2.0 |
npm / bundle channel; optional reportPath / facetDir (defaults under $DSH_HOME) |
| ✅ Ready | dsh-plan-keeper | 0.1.0 |
npm / bundle channel; memory_write + deliverables view |
| Plugin | Highlights | Install |
|---|---|---|
| dsh-keys-palette | • Cmd+/ 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-browser | • list_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 |
Install into the web profile of a running dsh (replace the profile name as needed). All seven plugins use the same npm / bundle channel — dsh 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.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>.
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):
| Doc | Covers |
|---|---|
| plugin-development.md | Plugin authoring conventions: package layout, the two install channels, npm publishing checklist. |
| dsh-web-ui-design-spec.md | DSH Web UI/UX design spec (light/dark): theme token system, core component visuals, icons. |
| ask-user-question-mechanism.md | Full trigger chain of the ask_user_question capability (model → host bridge → Web UI → answer). |
| parts/ | Detailed token / icon / component inventories. |
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.0dsh-plan-keeper: published @0.1.0dsh-insights: foreground /insights published @0.2.0dsh 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 actionsnpm pack validation on changeMIT — see LICENSE (each plugin package ships its own).
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。