Back to home@S2P2

dsh-lab

My DeepSeek Harness (DSH) plugin lab — workflow extensions, grilling UI experiments, quota widgets, and other things skills alone can't do. pnpm monorepo, one package per plugin.

Stars
0
Language
JavaScript
Created
Aug 21, 2026
Updated
Aug 23, 2026
GitHub repo

Introduction

dsh-lab

My DeepSeek Harness (DSH) plugin lab — pnpm monorepo, one package per plugin.

⚠️ Early experimental plugins. Everything here is under active, unrestrained experimentation: APIs will break, behavior will change, and quality varies wildly between packages. Use at your own risk — read the source before installing anything into a profile that holds your credentials, and pin exact versions if you depend on any of it.

Why

Skills shape agent behavior through text; they can't register tools, render UI, or enforce anything deterministically. This lab is where those pieces live: workflow extensions around Matt Pocock's skills, quota/status widgets, and other experiments.

Packages

PackageStatusWhat
packages/dsh-quota-bar🌱 v0.1.x · spec #1 (done) · v0.2 settings #6GLM Coding Plan quota card in the sidebar footer: 5h/weekly/tools windows + reset times in a theme-native card. Host-side fetch (credentials-service key resolution) over a loopback route; parser unit-tested. Port of proven pi-config statusline logic.
packages/dsh-grilling-card🌱 v0.1 · spec #2 (implemented, dogfooding)Rich grilling/interview question card: recommended answers, one-click accept, round-at-a-time, frontier meter, recorded-round transcript view. Dual-face (host grill_round tool + composer-takeover card); round-trip, wire-legality, and MCP-elicitation tests.
packages/dsh-ask-card🌱 early · dogfoodingRich transcript card for the stock ask_user_question tool: shadows the tool.call.toolview row at priority -1 — pixel-identical stock look collapsed, question/answer card expanded (choices, recommendations, multi-select, status chip; stock IN/OUT fallback). Client-only; uninstall restores stock.
packages/dsh-glossary📋 spec #3Context glossary surfaces: term sidebar, chatbox autocomplete, avoid-list flagging with suggestions.
packages/dsh-wayfinder-map📋 spec #4Decision-ticket map with blocking edges (wayfinder visualization).
packages/dsh-frontier📋 spec #5 (blocked by #4)Deterministic implement-spec orchestrator: ticket graph, frontier computation, approval-gated destructive ops.

Spec status: #1 is implemented and closed (grilled → prototyped → shipped 2026-08-22). #2 is implemented (grilled → prototyped → built 2026-08-23, dogfooding). #3–#5 are rough seeds from the 2026-08-22 planning session, labeled needs-triage — each needs a grilling round before it's ready-for-agent for implementation.

Install (once packages publish)

dsh plugin --profile web add @s2p2/<package>

Then restart dsh web.

Development

pnpm install
pnpm build
# dogfood: link a package into your web profile
dsh plugin --profile web add ../dsh-lab/packages/dsh-quota-bar

Note: pnpm 11+ gates freshly published packages behind minimumReleaseAge (24h default). For your own freshly-published packages set minimumReleaseAge: 0 in the profile's pnpm-workspace.yaml (see dsh-web-ui#71).

Releases run through changesets: pnpm changeset in package-changing PRs, merge the auto-maintained "Version Packages" PR, and the Release workflow bumps versions, writes CHANGELOGs, and tags. npm publishing flips on (pnpm changeset publish + NPM_TOKEN) when the first package ships.

Layout

packages/<dsh-*>   one npm package per plugin
docs/research/     primary-source research notes feeding the specs
CONTEXT.md         domain glossary for the lab's contexts
shared/            code shared across plugins (planned)
.dsh/              dogfooding: skills + profile bits for working on this repo (planned)