Preface

In DeepSeek Harness (DSH), an agent’s todo_write task list records what needs to be done and the current step. If you want to see task status changes on your desktop, you can first install a plugin that listens to todo/write events. dsh-task-progress-notifier is used to track the progress of the agent’s todo_write tasks and pops up native desktop notifications in the bottom right corner of the computer when a task is completed.

What is this

dsh-task-progress-notifier is a DeepSeek Harness plugin that tracks the agent’s todo_write task list and pops up native desktop notifications when a task is completed.

It runs in the dsh profile, has an MIT license, and the repository is at https://github.com/sjscy05/dsh-task-progress-notifier.

Core Features

This plugin mainly does four things: track todo_write state migration, pop notifications based on state, provide a proactive notification tool, and invoke platform-native notifications.

Tracking todo_write State Migration

It listens to persistent todo/write session events and maintains the latest full task list snapshot for each session. Each write is diffed against the previous snapshot, broadcasting only the actual state migration rather than every rewrite.

Pop Notifications by State

Supports three notification configurations:

  • notifyOnComplete: Pop up a notification when the task changes to completed.
  • notifyOnStart: Pop up a notification when the task changes to in_progress (default is off).
  • notifyOnAllDone: Pop up a summary notification after all tasks are completed.

Proactive Notification

The plugin registers a notify tool, allowing the model to proactively trigger notifications, such as reminding the user to rest or move around.

Cross-platform Notifications

Notification implementation relies on platform-native methods:

  • Windows: PowerShell tray bubble (bottom right).
  • macOS: osascript notifications.
  • Linux: notify-send.

Installation

First, confirm that dsh is installed on the current machine and meets the Node 22.19+ / 24+ requirements. Then add the plugin to the target profile:

dsh plugin --profile <name> add github:sjscy05/dsh-task-progress-notifier

Where <name> is the target profile name.

If checking out locally, you can also use:

dsh plugin --profile <name> add ./task-progress-notifier

Configuration

You can override the configuration of task-progress-notifier via the profile’s cordis.patch.yml:

- id: task-progress-notifier
  config:
    title: 'DeepSeek Harness'
    notifyOnComplete: true
    notifyOnStart: false
    notifyOnAllDone: true

Configuration meanings:

  • title: The popup title.
  • notifyOnComplete: Pop up a notification when a task is completed.
  • notifyOnStart: Pop up a notification when a task starts.
  • notifyOnAllDone: Pop up a summary notification after all tasks are completed.

Using the notify Tool

notify is a tool registered by the plugin. The model can call it proactively during runtime; a typical use case is reminding the user to rest or move.

Use Cases and Notes

This plugin is suitable for developers running agent tasks in a DSH profile who want to turn todo_write status changes into desktop notifications. Notes before installation:

  • Must run on a machine with dsh installed and run within the dsh profile.
  • Requires Node 22.19+ / 24+.
  • Only imports @deepseek-ai/dsh-tools and @deepseek-ai/schemastery, no extra dependencies needed.
  • Notifications rely on platform-native methods: Windows PowerShell, macOS osascript, Linux notify-send.
  • The plugin runs with the permissions of the current dsh process; check the source code and license before installing.

References

  • Directory page: https://www.skillhub.cn/plugins/sjscy05/dsh-task-progress-notifier
  • GitHub: https://github.com/sjscy05/dsh-task-progress-notifier