Preface

In DSH, a common requirement is not “immediately start the agent,” but “let it start and stop within a time window”: automatically creating sessions and dispatching tasks at the start time; canceling the current turn and stopping the session at the stop time, after which results can still be reviewed in the session list.

Below is introduced dsh-auto-scheduler. It is a DSH plugin maintained by Cheng-xiu, used for such timed automatic work: users define start time, stop time, and repeat method; DSH drives the session within the host process.

What is it

dsh-auto-scheduler is a DSH timed auto-work plugin: it starts and stops agent sessions according to a user-defined schedule, and supports ds valley/peak presets and silent mode.

It solves the problem summarized in three steps:

  1. At start time, DSH creates a Web GUI session and sends the task.
  2. At stop time, DSH cancels the current active turn and stops the session.
  3. The session remains in the session list for post-event inspection.

The license verified in the materials is MIT.

Core Features

Host-side Timing

The timer is located inside the dsh web host process, so even if no browser tabs are open, the timing can trigger.

But two prerequisites must be met:

  • The dsh web process must be running.
  • Missed time windows will be skipped as designed, not retried.

Auto Start and Auto Stop

This plugin breaks a task into explicit time behaviors:

  • Start time reached: Create Web GUI session and send task.
  • Stop time reached: Cancel current active turn and stop session.

This is suitable for tasks requiring “scheduled start and scheduled stop.”

default and silent modes

The plugin offers two running modes:

  • default: The agent can ask the user; other settings keep deployment defaults.
  • silent: Does not ask the user, disables ask_user_question, uses silent persona, and uses danger-full-access permissions. It continues working until the task is complete, but will still be stopped externally at the stop time.

silent mode implies unattended full-privilege execution and is only suitable for trusted tasks.

valley/peak presets and timezone handling

The plugin provides ds valley/peak presets for one-click filling of the following Beijing time windows:

12:00-14:00
18:00-09:00

These times belong to Beijing Time, i.e., UTC+8.

Timezone handling rules are as follows:

  • The panel displays and edits according to your system timezone.
  • Stored times are converted to UTC.
  • Valley presets are converted to your local timezone for display.

Repeat rules

Repeat rules support two types:

once
daily

Installation and Activation

Below uses the installation command given in the materials; it points specifically to #v0.1.4.

dsh plugin --profile web add github:Cheng-xiu/dsh-auto-scheduler#v0.1.4

After execution, dsh plugin add automatically registers the plugin bundle.

It should be noted that the #v0.1.4 in the materials’ README is inconsistent with the version information in package.json; here we do not treat the unconfirmed version as a fact. Please check the current available tags in the repository before installing.

After installation or upgrade, you must restart dsh web, because the client panel is injected at startup. After restarting, the sidebar will appear with an Auto Work entry.

Typical Usage

First open the panel, then fill in the time window, save and wait for the trigger:

  1. Open the Auto Work sidebar panel.
  2. Fill in goal, mode (default / silent), start/stop times and repeat; you can also directly click a valley-period preset.
  3. Save. When the time comes, DSH creates a session and sends the task; the panel will display live status and next-run countdown.
  4. Run now will trigger a run immediately; at this point, stop time = now + original duration.

If you just want to manually verify once without waiting for the timer, Run now is the most direct way.

Applicable Scenarios and Notes

This plugin is suitable for the following scenarios:

  • Need to automatically start DSH tasks within a fixed time window.
  • Want to automatically cancel the current turn and stop the session at the stop time.
  • Want to use daily repetition for some stable, trusted tasks.
  • Want to use valley/peak presets to quickly fill in off-peak hours in Beijing time.

The unsuitable scenarios are also clear:

  • Need to retry missed time windows.
  • Need to trigger timing even if the dsh web process is not running.
  • Want to use silent mode for untrusted, high-risk, or uncontrollable tasks.

Precautions before use:

  • Scheduled tasks run inside the dsh web host process, so plugin behavior is related to the running environment of that host process.
  • silent mode uses danger-full-access permissions and will not ask the user; it should only be applied to trusted tasks.
  • The panel interface only accepts loopback requests, or the host allowed via the following configuration:
--trusted-host

Other requests will return 403.

  • Timing data is saved on the host side, path is as follows:
DSH_HOME/dsh-auto-scheduler.json

The default path is:

~/.dsh/dsh-auto-scheduler.json
  • The plugin executes with the dsh web host process; you should check the source code and license before installing.

Conclusion

The value of dsh-auto-scheduler lies in putting DSH session creation, task dispatching, and stopping into a clear time window, suitable for fixed-hour trusted automatic tasks. It is not part of the official app store; the DSH community directory is an independent site with no official affiliation to DeepSeek / High-Flyer.

The materials did not confirm the specific address of the directory page; the repository address is as follows:

https://github.com/Cheng-xiu/dsh-auto-scheduler