dsh-lab
开发工具 活跃维护

dsh-lab

S2P2/dsh-lab

pnpm管理的monorepo插件集合,每个功能独立拆包,提供工作流扩展、实验性交互界面、配额状态组件等单技能无法实现的增强能力。

1
Stars 标星
0
Forks 分支
1
Watchers 关注
6
Open Issues
JavaScript
主要语言
MIT
开源协议
263 KB
仓库大小
1 个月前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:S2P2/dsh-lab
git clone https://github.com/S2P2/dsh-lab.git
git clone git@github.com:S2P2/dsh-lab.git
README.md main

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

Package Status What
packages/dsh-quota-bar 🌱 v0.1.x · spec #1 (done) · v0.2 settings #6 GLM 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 · dogfooding Rich 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 #3 Context glossary surfaces: term sidebar, chatbox autocomplete, avoid-list flagging with suggestions.
packages/dsh-wayfinder-map 📋 spec #4 Decision-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)