Introduction

In DeepSeek Harness (DSH) use cases, when you need to run scripts periodically, generate daily reports, or perform data cleaning, existing solutions are often fragmented: system-level crontab operates outside the browser or desktop environment, while same-session reminder plugins consume the current conversation’s context. This article introduces dsh-cron-tasks, a scheduling plugin that runs inside the DSH Host. It executes tasks by creating independent root Sessions and isolates run records in a “Scheduled Tasks” entry in the sidebar, avoiding disruption to the day-to-day workspace while providing controllable scheduling policies.

Core Features

This plugin provides DSH with complete task scheduling capabilities. Core features include:

  • Sidebar Management Entry: Provides a “Scheduled Tasks” entry directly below “New Session”, supporting task creation, pause/resume, deletion, immediate execution, and search.
  • Scheduling Policy Configuration: In Settings → Plugins → Plugin Configuration, you can configure global scheduling policies, including the enable toggle, default time zone (default is Asia/Shanghai), history retention policy, and handling policies for overlapping or missed runs.
  • Independent Sessions and History: Each task trigger creates a new root Session. Clicking a history record opens the native conversation window directly for continued interaction.
  • Model and Path Locking: Each task can specify a fixed model to avoid affecting quota expectations when switching chat models; the working directory supports selecting an existing workspace via dropdown or a custom path.
  • Interactive Creation: Supports creating tasks in a conversation using the scheduled-tasks skill together with the cron_create command.

Installation and Activation

Before installation, ensure DeepSeek Harness is installed. The plugin is installed via the official CLI and supports both Web and Desktop Profiles.

  1. Run the installation commands. Web and Desktop must be installed separately.
    dsh plugin --profile web add github:Whale-Zhang/dsh-cron-tasks
    dsh plugin --profile desktop add github:Whale-Zhang/dsh-cron-tasks
  1. After installation, restart the corresponding Profile (dsh web or the Desktop app).
  2. Verify the installation. Running the following command should show dsh-cron-tasks in the output.
    dsh --profile web --dump-config

Typical Usage

  • Delayed Trigger: Use the after_minutes parameter to trigger the task after N minutes, for example after_minutes: 60.
  • Recurring Scheduling: Supports one-off at scheduling or standard 5-field cron expressions.
  • Local Development Installation: When debugging in a local development environment, use the file: protocol for installation rather than link:.
    dsh plugin --profile web add file:$HOME/.dsh/plugins/dsh-cron-tasks

Applicable Scenarios and Notes

  • Runtime Environment: The scheduler runs in the DSH Host process. If the Host is not running, tasks will not trigger.
  • Unofficial / System-Level: This is not the official same-session reminder plugin (@deepseek-ai/dsh-schedule), nor is it the operating system’s crontab.
  • Overlapping and Missed Runs: If an instance of the same task is already running, a new trigger will be skipped; scheduled runs missed while the Host is down will not be automatically backfilled.
  • Local Development Note: For local development installation, use a file: path, not link:.

Conclusion

The plugin provides DSH users with a controllable scheduled-task solution through independent session management and sidebar history records. Its core value lies in decoupling scheduling logic from conversation context, making it suitable for scenarios requiring periodic batch execution or automated reporting. The source code and documentation are available on GitHub, and the license is MIT.

Plugin Catalog | GitHub Repository