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-monitor directories 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 sessionId and 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 as restart_requires_confirmation or agent_disposed, are automatically migrated to ACTIVE on 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.