Introduction¶
The design philosophy of DeepSeek Harness (DSH) is “everything is a plugin”, requiring developers to flexibly extend Web Profile capabilities. In Web Profile, agent tasks typically need to be triggered manually. When tasks need to run periodically (such as daily data aggregation) or outside peak hours, manual operation is not suitable. The dsh-plugin-automations plugin addresses this issue by introducing scheduled task mechanisms in DSH Web Profile.
Plugin Positioning¶
This is a DeepSeek Harness Web Profile scheduled task plugin maintained by developer Sev7een. It provides a set of basic capabilities, supporting one-time execution and standard Cron scheduling, and includes “on time execution” and “off peak execution” modes.
Core Features¶
The plugin includes the following verified functional features:
-
UI and Polling
Provides a settings page form and task list, refreshing status via polling every 5 seconds. -
Execution Modes
- On time (
on_time): Immediately creates an isolated Session after the task reaches due time and starts execution. - Off peak (
when_idle): The task runs only outside Beijing peak hours (avoiding 09:00-12:00 and 14:00-18:00). If the task becomes due during peak hours, the system automatically postpones it to the next idle window.
- On time (
-
Schedule Types
- One-time (
once): After execution, the task enters a terminal state and will not run again. - Cron expression: Supports standard six-field Cron expressions. Cron expressions are evaluated in the host’s local timezone.
- One-time (
-
Session Management
- Title template: Supports custom Session titles, allowing references to task fields and Moment-style date formats (e.g.,
{{scheduledAt:YYYY-MM-DD}}). - Isolation: Each execution uses an independent Session and inherits the default Agent preset, model, and host workspace root directory.
- State persistence: Uses
ctx.storageDomainto ensure persistent task state. - Timeout and recovery: Fixed 30-minute execution timeout, including an explicit
host_interruptedrecovery mechanism.
- Title template: Supports custom Session titles, allowing references to task fields and Moment-style date formats (e.g.,
-
Security and Communication
- API security: Strict JSON API validation, request size limits, same-origin checks, and custom mutation headers.
- Message source: Automatically generated messages are tagged with
{ kind: 'plugin', plugin: 'dsh-plugin-automations' }and do not impersonate direct human input.
Installation and Enablement¶
Installing this plugin requires the DSH Web Profile environment and a Node.js version >= 20.
- Run the installation command:
dsh plugin --profile web add github:Sev7een/dsh-plugin-automations
-
After installation completes, restart the DSH Web application.
-
Open the Settings -> Scheduled Tasks page to view the plugin interface.
Typical Usage¶
The plugin submits tasks via HTTP API and supports using curl or other HTTP clients.
Create a Scheduled Task¶
Use POST /dsh-scheduled-tasks/api/v1/tasks to create a task.
Request Headers:
Content-Type: application/json
X-DSH-Scheduled-Tasks: 1
Request Body Example (Cron mode, on time execution):
{
"prompt": "check project tests",
"schedule": {
"type": "cron",
"expression": "0 0 8 * * *"
},
"mode": "on_time",
"sessionTitleTemplate": "Daily Feed · {{scheduledAt:YYYY-MM-DD}}"
}
Request Body Example (one-time task):
{
"prompt": "summarize meeting notes",
"schedule": {
"type": "once"
},
"mode": "when_idle"
}
Notes¶
- MVP limitations: The current version (MVP) API endpoints only support task creation; editing, deletion, pausing, cancellation, retry, and pagination are not yet supported.
- Timezone issue: Cron expression parsing is based on the host’s local timezone, not UTC.
- Development environment: Local development requires using the
--legacy-peer-depsflag to resolve dependency compatibility issues. - Permissions and security: The plugin runs with the permissions of the DSH process. It is recommended to review the source code and license (MIT) before installation. Automatically generated messages are explicitly identified as plugin behavior and do not simulate human users.
Summary¶
dsh-plugin-automations provides basic scheduled automation capabilities for DeepSeek Harness Web Profile, especially automated off peak execution support. Although still at the MVP stage, it offers a viable technical path for building periodic workflows.