Introduction¶
DeepSeek Harness (DSH) adopts a plugin-based architecture, with the core focus being its flexible extensibility. Beyond real-time conversational interaction, many workflows require tasks to be triggered in the background on a schedule, such as system backups, periodic reminders, or scheduled Agent session startup. dsh-b2us-schedule aims to address this need by providing DSH with persistent, manageable scheduled task capabilities, supporting three primary action types: Agent, Shell commands, and desktop notifications.
What It Is¶
dsh-b2us-schedule is a DSH workflow plugin maintained by changyinliangbaikai. It integrates the host plugin and the web client into a single installation package. Agents can create and manage tasks through five typed conversational tools, and users can also manage them uniformly through the web interface. The plugin stores task definitions, execution status, and execution records in the DSH Settings service, allowing automatic recovery after restart.
Core Features¶
The plugin provides complete scheduling and management capabilities:
-
Four scheduling types
- Cron: Supports Croner-compatible 5/6/7 field expressions and allows specifying a time zone.
- Delay scheduling: Executes once after a specified number of seconds from creation.
- Absolute time scheduling: Executes once at a specified UTC date and time.
- Fixed interval scheduling: Repeats execution at a fixed interval in seconds.
-
Three execution actions
- Agent session: Creates a new top-level DSH Agent for each execution and supports timeout control.
- Shell command: Executes scripts or commands through the DSH ShellExecutor.
- Desktop notification: Supports native notifications on macOS, Linux, and Windows.
-
Management and persistence
- Web management page: Access
Settings → Plugins → Scheduled Tasksto create, read, update, and delete tasks. - Persistence: Task status and execution records are saved in DSH Settings.
- Lifecycle control: Supports uninstalling, disabling, deleting tasks, and modifying definitions to cancel related timers.
- Web management page: Access
Environment Requirements¶
The environment dependencies required for using the plugin are:
Node.js: ^22.19.0 || >=24.0.0
DeepSeek Harness: 0.1.2-rc.1
Cordis: 4.0.2
Typical Usage¶
The following are reproducible examples based on the documentation:
- Shell script scheduling: Run
./scripts/backup.shin the/srv/appdirectory and execute it after a 10-minute delay. - Desktop notification: Send a desktop notification at 9:00 every day in the
Asia/Shanghaitime zone to remind you to check the daily report. - Agent scheduling: Start a new Agent at 8:00 every day in the
/Users/me/testsdirectory, using the default preset and a 15-minute timeout. - Task management: Disable the task just created, or list all scheduled tasks and their next execution time.
Notes¶
- Delivery guarantee: The scheduler provides an “at-least-once” delivery guarantee. Local shell exit or completion of an Agent session only represents the local execution result, not the success of external business logic.
- Execution serialization: Tasks are executed serially according to their scheduled times; only one task can run at a given time.
- Minimum interval: The default minimum interval for Cron and fixed interval scheduling is 1 second; it is recommended to increase this value in production environments for high-frequency task scenarios.
- Executor dependency: Both Shell commands and desktop notifications are run through the DSH ShellExecutor, depending on the host environment’s Bash or PowerShell configuration.
- Renaming and compatibility: The old package name
dsh-auto-schedulehas been renamed todsh-b2us-schedule, but for compatibility the Settings namespace, Cordis row IDs, and tool names remain unchanged.
Conclusion¶
dsh-b2us-schedule provides DSH with a comprehensive scheduled task solution by combining the web interface and conversational tools. It is suitable for scenarios that require automated workflows, periodic system notifications, or scheduled Agent startup. For more technical details, refer to the GitHub repository.