AbnerAI/dsh-monitor
Persistent background watchers that wake the agent on new messages (file inbox or command-output delta) — the harness analog of Claude Code's Monitor tool.
A drop-in replacement for Claude Code's Monitor tool, built for DeepSeek Harness: persistent background watchers on message sources that wake the owning agent — delivering a plugin-sourced user message into the session, exactly like Claude Code's <task-notification>. The model calls the monitor tool to arm a watcher on a source: source: file (append-only NDJSON inbox, new lines delivered as they land) or source: command (shell command re-run on an interval, output delta since last run delivered). When idle, the agent opens a new turn (agent.followup()); when busy, the message is queued into the next step (agent.inject()). Watchers are durable within the session, disarmable on demand, and torn down on unload.
Install
npx @deepseek-ai/dsh@latest plugin --profile web add dsh-monitornpm package dsh-monitor 0.1.1 (registry-verified 2026-08-28): npx @deepseek-ai/dsh@latest plugin --profile web add dsh-monitor (or from git: ... add https://github.com/AbnerAI/dsh-monitor, or a local directory — run pnpm install inside first for local installs). dsh plugin is a thin pnpm forwarder: it runs pnpm in the profile directory and auto-adds any installed package that declares dsh.bundle to the layer stack.
Compatibility
DeepSeek Harness. Claude Code Monitor-style background watchers on message sources.
Details
- Repo: AbnerAI/dsh-monitor
- Category: Tools & Capabilities
- Stars: 2
- Version: npm dsh-monitor 0.1.1 (registry-verified 2026-08-28)
- Last push: 2026-08-13
- First seen: 2026-08-13
Recent updates
Claude Code Monitor equivalent; file + command watchers; wake on new content (followup/inject); durable, disarmable watchers.
FAQ
- What does it watch?
- Two sources: an append-only NDJSON inbox file (new lines delivered as they land) and a shell command re-run on an interval (its output delta is delivered).
- How does it wake the agent?
- Idle → agent.followup() opens a new turn; busy → agent.inject() queues the message into the next step.
- Are watchers persistent?
- Durable within the session, disarmable on demand, and torn down automatically when the plugin is unloaded.
Alternatives
Auran-Lu/dsh-client-ui-monitor · jelly-000/dsh-balance-monitor · zhangzheng25/dsh-token-monitor