dsh-monitor
DiscoveredMonitor plugin for DeepSeek Harness: background bash watchers that steer the agent loop, with a live dock status bar.
dsh-monitor
Monitor plugin for DeepSeek Harness — background bash watchers that interrupt the agent loop with the captured output (the Monitor() pattern), with a live status bar docked above the composer.
◉ pnpm test --watch espera /passed/ vigilando · 2m14s ✕
◉ while ! curl -sf :3000/health … espera /200/ vigilando · 41s ✕
What it does
monitor(command, match?, timeout_ms?, repeat?)— starts a background process and returns immediately. The monitor fires once when the combined output matches the regex, when the process exits, or when the optional timeout expires — and in that moment it injects a steering message into the agent's inbox with the captured output tail, waking the agent even from idle.repeat: true— the monitor stays live and refires on every new match (incremental match window + 1.5 s cooldown), in an unbounded chain until stopped.monitor_stop(id?)— stops one or all monitors (explicit agent action, no steering).- Status bar — every row renders live (state, elapsed, fire count, reason tooltip) from a session projection; the ✕ kills the monitor silently.
- Teardown is fiber-owned: stopping the plugin kills live processes and unregisters everything.
Install
npm install @macorreag/dsh-monitor
Then add one row to your composition. Per-session (agent preset,
agent.cordis.yml):
- id: monitor
name: '@macorreag/dsh-monitor'
inject: ['timer', 'shell', 'tools', 'sessionProjections']
The row-level
injectmatters: the composition loader resolves service access from the row's options (entry.options.inject), so the services the plugin touches must be declared there even though the module also exportsinject. Or globally (hostcordis.yml). The plugin publishes no services — it registers the two tools, themonitorsession projection, and the web surface.
Sandbox notes
Monitor processes run under the harness process sandbox: read-only
filesystem (watch output, don't write files) and the interactive bash tool
cannot observe their PIDs. Details in
packages/dsh-monitor/docs/sandbox-notes.md.
Status
v0.1.0 — the full behavior matrix (11 routes) was validated live against a
running deployment; see
docs/test-matrix.md. The
static port is in dogfooding.
License
MIT
Comments
Loading…
Similar plugins
by aaravarr
DeepSeek Harness (DSH) plugin — a subagent_with_model tool plus a live multi-panel subagent viewer.
★ 3
↓ 54/wk
MIT
JavaScript
Aug 20, 2026
dsh plugin --profile web add @aaravarr/dsh-subagent-maxby HugePaint
A DSH (DeepSeek Harness) client plugin: live account balance plus the current DeepSeek billing window (peak / off-peak) in the sidebar footer.
★ 0
MIT
JavaScript
Oct 20, 2026
dsh plugin --profile web add dsh-balance-chipby cheng-wj
DSH plugin: restart / update / inspect the DeepSeek Harness desktop app from the model side (Windows)
★ 0
MIT
JavaScript
Oct 21, 2026
dsh plugin --profile web add dsh-app-controlby KamChiHei
DeepSeek Harness (dsh) plugin: token usage accounting and account balance with a live status card in DSH Web
★ 0
MIT
JavaScript
Aug 22, 2026
dsh plugin --profile web add dsh-deepseek-usage-monitorby yimeng-dev
Multi-session agent status monitor for DeepSeek Harness.
★ 3
↓ 44/wk
MIT
TypeScript
Aug 16, 2026
dsh plugin --profile web add dsh-traffic-lightby MarJose123
DeepSeek Harness plugin: your DeepSeek API balance and the current peak/off-peak billing window, below the message input.
★ 0
MIT
JavaScript
Oct 18, 2026
dsh plugin --profile web add dsh-simple-usage-info