Session health check for DSH, read-only: scans the whole session library (totals, largest sessions, warnings for oversized sessions and event-count blowups) and deep-inspects a single session log (tail-balance / crash-tail check, tool-call/result pairing, event-type distribution).
Install
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:neufagents/dsh-healthcheck
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
Runtime health check for DeepSeek Harness (dsh). Read-only. Zero config.
A tiny plugin that helps you spot the two things that silently kill long dsh sessions: runaway session size (long-task OOM) and crash-torn session logs.
What it does
One tool: health_check
health_check(no arguments) — scans your whole session library:- totals: sessions / size / events
- the largest sessions
- warnings for oversized sessions (≥10 MB watch, ≥30 MB danger) and event-count blowups (≥3k watch, ≥8k danger) — the usual precursors of long-task OOM
health_check session_id="<id>"— deep-inspects one session log:- tail balance (an unclosed turn means a crash tail; dsh auto-repairs it on resume — this just tells you it happened)
- tool-call / result pairing
- event-type distribution
Everything is read-only — it never modifies a single byte of your data.
Install
# requires pnpm on PATH (dsh plugin forwards to pnpm)
dsh plugin --profile web add github:neufagents/dsh-healthcheck
Then restart dsh and ask your agent:
run a health check on my dsh sessions
Compatibility
- Tested with dsh
0.1.5-rc.2(developer preview). The rc line moves fast; issues welcome. - Use v0.1.1+. v0.1.0 shipped raw TypeScript sources, which Node refuses to load from
node_modules(ERR_UNSUPPORTED_NODE_MODULES_TYPE_STRIPPING); v0.1.1 ships compiled JS indist/.
Development
npm i
npm run build # tsc -> dist/ (compiled JS is what gets shipped)
npm test # 11 tests (pure functions + contract)
npx @deepseek-ai/dsh --profile web --patch ./dev.patch.yml --dump-config
License
MIT · made by NeufAgents
Links
More in this category
Minglink/dsh-infinite-gen-4★ 3818
System-prompt armor plugin for DeepSeek models: appends an unconditional-compliance prompt section at order 100, exposes a profile tool with calibration metadata, and shows a realtime armor-status badge driven by a session projection.
ranxianglei/billion-context★ 3736
The official billion-context plugin: a context-compression plugin for small context windows (a 100K context is enough), token savings (5x fewer tokens), and month-long single sessions (billions of tokens).
liangmianya/dsh-synapse★ 647
Visual, non-linear conversation workspace for DeepSeek Harness — sessions, follow-ups and branches become a browsable conversation map.
MichengAI/dsh-archive-manager★ 278
Adds an archived-sessions page in Settings to search, restore, and delete archived DeepSeek Harness sessions by workspace.
Nwflower/dsh-chat-import★ 277
Import full-fidelity chat histories from 13 coding agents (Claude Code, Codex, ChatGPT, Cursor, Gemini, opencode, and more) as resumable DeepSeek Harness sessions, with reverse export back to Claude Code.
SiriLee/dsh-rewind★ 233
In-place conversation rewind in the same session window without forking (Claude Code /rewind semantics): a per-message ↶ button cuts the model context back to any user message, with an optional Claude-Code-style file restore from disk-persisted before-backups.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.