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-tasksskill together with thecron_createcommand.
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.
- 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
- After installation, restart the corresponding Profile (
dsh webor the Desktop app). - Verify the installation. Running the following command should show
dsh-cron-tasksin the output.
dsh --profile web --dump-config
Typical Usage¶
- Delayed Trigger: Use the
after_minutesparameter to trigger the task after N minutes, for exampleafter_minutes: 60. - Recurring Scheduling: Supports one-off
atscheduling or standard 5-field cron expressions. - Local Development Installation: When debugging in a local development environment, use the
file:protocol for installation rather thanlink:.
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’scrontab. - 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, notlink:.
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.