Introduction¶
The following introduces dsh-polling. It is a plugin for DeepSeek Harness used to convert naturally language described repetitive tasks into cron-driven polling/scheduled tasks, executing them in real sessions. The maintainer is cnyac, and the license is MIT.
Its goal is quite specific: when you need to periodically check folders, web pages, or schedule data scraping, write daily/weekly reports, organize archives, or run scripts, instead of manually initiating a conversation every time, let Harness trigger based on time and complete them in an independent session.
Core Capabilities¶
Create Tasks with Natural Language¶
You can describe tasks directly, for example:
Help me create a polling task: Check
D:\稿件\待处理every weekday at 9 AM; if there are new manuscripts, polish and archive them following the regular process.
The plugin supports creating polling tasks via natural language and provides model tools:
polling_create
polling_list
polling_edit
polling_delete
polling_trigger
Execute in Real Sessions¶
Tasks execute in their own sessions and do not interrupt the current conversation. The process and results are retained in the corresponding session and can be opened for viewing.
When creating a new task, you can choose Standard, PTC, Minimal, Creative, or Custom mode. You cannot switch modes while a task is executing; you must wait for the task to complete before saving.
Web UI Management¶
The plugin provides a Web UI that allows you to view task lists, search, execute immediately, edit, start/stop, and delete tasks.
Scheduling Behavior¶
- After missing a scheduled time, the next run will catch up with the most recent missed time.
- When the previous task is still running, a new trigger will be skipped.
Installation and Enablement¶
First, confirm that dsh CLI is installed on your machine and that dsh web has been run. The Node engine requirement is:
node ^22.19.0 || >=24.0.0
Then execute:
dsh plugin --profile web add github:cnyac/dsh-polling
If installing via GitHub for the first time, you will be prompted to allow building; just confirm once as prompted.
After installation, restart dsh web, and the “Polling” workspace will appear in the sidebar.
Typical Usage¶
Create Task¶
Enter directly in Harness:
Help me create a polling task: Check
D:\稿件\待处理every weekday at 9 AM; if there are new manuscripts, polish and archive them following the regular process.
Once created successfully, it will be automatically triggered at the scheduled time.
Manage Task¶
There are two entry points:
- Sidebar “Polling” workspace → Click into task session → “Polling Task” at the top of the session: Quick view status, execute immediately, and edit.
- Settings → Plugins → “Polling Tasks” tab: Task list and independent edit page, supports search, new, edit, execute immediately, start/stop, and delete.
Optional Configuration¶
The plugin supports custom data directory dir and keepPinned configuration. Configuration example in profile’s cordis.patch.yml:
- id: polling
name: dsh-polling
config:
dir: 'D:\MyPolling'
keepPinned: true
Use Cases and Precautions¶
Suitable for letting Harness automatically run repetitive, describable checks and execution processes, such as monitoring folders, monitoring web pages, scraping data, writing daily/weekly reports, organizing archives, sending messages, and running scripts.
Precautions before use:
- Each trigger equals one model call; the higher the frequency, the higher the cost. Set according to actual needs.
- Tasks are executed autonomously by the model; the plugin runs in the current
dshprocess environment with permissions consistent with manual conversation; it is recommended to check the source code and license before installation. - Task data is saved locally under
$DSH_HOME; the plugin does not report to external services.
Conclusion¶
The value of dsh-polling lies in putting scheduled triggering, natural language task description, real session execution, and Web UI management all in one plugin.
Directory Page: DSH Community Directory (search for dsh-polling).
GitHub: https://github.com/cnyac/dsh-polling