AbnerAI/dsh-monitor
dsh-monitor
dsh-monitor is a community DeepSeek Harness plugin. Read the repository README before installing.
Install
npx @deepseek-ai/dsh plugin --profile web add github:AbnerAI/dsh-monitorRestart `dsh web` after install. Bundle APIs can change during the developer preview.
README badge
[](https://dshhub.dev/plugins/dsh-monitor)Paste this into your README. The star count updates with every catalog sync.
From the README
Excerpt from AbnerAI/dsh-monitor, cleaned of badges and images.
dsh-monitor
A drop-in replacement for Claude Code's Monitor tool, built for DeepSeek Harness.
dsh-monitor is a harness plugin that arms persistent, background watchers on message sources. When new content arrives, the plugin wakes the owning agent — delivering a plugin-sourced user message into the session, exactly like Claude Code's <task-notification> mechanism.
If you rely on Claude Code's Monitor to stay responsive to inbound messages while a shell is idle, this plugin gives you the same capability inside DeepSeek Harness.
How it works
The model calls the monitor tool to arm a watcher on a source:
source: file— an append-only NDJSON inbox. New lines are delivered as they land.source: command— a shell command re-run on an interval. Its output delta since the last run is delivered.
On each new message the plugin wakes the agent:
| Agent state | Behavior |
|---|---|
| idle | agent.followup() — opens a new turn (harness analog of Claude Code's <task-notification>) |
| busy | agent.inject() — queues the message into the next step |
Watchers are durable within the session, disarmable on demand, and torn down automatically when the plugin is unloaded.
Installation
dsh plugin --profile <name> <args...>is a thin pnpm forwarder: it runspnpm <args...>in the profile directory, then adds any installed package that declaresdsh.bundleto the profile's layer stack automatically.
From npm
npx @deepseek-ai/dsh@latest plugin --profile web add dsh-monitor
From git
npx @deepseek-ai/dsh@latest plugin --profile web add https://github.com/AbnerAI/dsh-monitor
From a local directory
npx @deepseek-ai/dsh@latest plugin --profile web add /path/to/dsh-monitor
When installing a local directory, run
pnpm installinside the package first —link:installs do not resolve the package's own dependencies automatically.
Manual alternative: add dsh-monitor to the profile's dsh.profile.bundles
and include this package's cordis.patch.yml via its dsh.bundle.patch
declaration.
Quick start
Tell the agent to arm a watcher on an inbox file:
monitor(source="file",
path="/absolute/path/to/inbox.ndjson",
name="my-inbox",
poll_interval_ms=1000)
pathmust be an absolute path (or start with~— the plugin expands it). Node'sfsdoes not expand~itself.poll_interval_msdefaults to 2000; 1000 is a good balance for chat-like inboxes.
The tool returns a watcher id, e.g. monitor-1. From then on, every new line written to the file wakes the agent automatically.
Manage watchers at any time:
monitor_list # list armed watchers (id, source, delivered count)
monitor_stop(id="monitor-1") # disarm one
To watch a command's changing output instead of a file:
monitor(source="command", command="tail -n 5 /var/log/app.log", poll_interval_ms=5000)
Tools
monitor
Arm a persistent watcher.
…
