Introduction¶
The core philosophy of DeepSeek Harness (DSH) is “everything is a plugin.” In the agent development workflow, developers often need to continuously monitor file changes in the local workspace to trigger follow-up actions such as builds, deployments, or code reviews. dsh-workspace-monitor aims to provide DSH with a lightweight, command-line-based file state monitoring solution, replacing manual polling or complex script logic.
What Is This¶
This is a command-driven monitoring plugin maintained by Rainier-Z. It allows users to create and manage multiple independent monitoring tasks in the current session through natural-language instructions. Each task has its own taskId, workspace path, scan baseline, and runtime state.
Core Features¶
- Natural-language operations: No need to write complex commands; monitoring tasks can be managed through conversation.
- Multiple concurrent tasks: The same session can create multiple monitoring tasks simultaneously without interfering with each other.
- Independent state: Each task has its own
taskId, workspace, scan baseline, and runtime state. - Configurable scanning: Scans every 60 seconds by default, and the scan interval can be changed dynamically at runtime (e.g., to every minute).
- Summary reports: When a task is created, the baseline is established silently without sending a first-round notification. Each subsequent scan outputs a summary that explicitly lists added, modified, and deleted files. If no changes are found, it explicitly reports “no changes”.
- Metadata scanning: Scanning only reads file metadata (such as modification time and size), does not read file contents, and does not write to the monitored workspace.
- Default ignores:
.git,node_modules, and.dsh-workspace-monitordirectories are ignored by default to reduce noise.
Installation and Activation¶
Run the following command in the terminal to install the plugin:
dsh plugin --profile desktop add dsh-workspace-monitor
Typical Usage¶
After installation, you can operate directly with natural-language commands in the current session:
- Start monitoring the current workspace
- List monitors (lists only tasks owned by the current session)
- Change
<taskId>to every minute - Stop monitoring
<taskId> - Resume monitoring
<taskId>
Use Cases and Notes¶
This plugin is suitable for DSH developers who need to continuously track workspace file changes.
- Persistence and fault tolerance: Tasks belong to the current session’s
sessionIdand do not rely on a single temporarily alive Agent instance. When the Agent is busy or temporarily unavailable, reports are retained and retried later. Legacy system pause reasons from older versions, such asrestart_requires_confirmationoragent_disposed, are automatically migrated toACTIVEon startup. - Permissions and security: The plugin runs with the current process permissions, so ensure that the installation source is trusted. Sidebar taskbar integration is not yet implemented.
- Local validation: If you need to validate the plugin code locally, you can run:
npm test
npm run check
npm run pack:check
Summary¶
dsh-workspace-monitor provides efficient workspace state awareness for DSH, making it suitable for scenarios that require fine-grained control over file monitoring logic. The related source code and documentation can be found at: GitHub | Community Directory.