Bundle
dsh-auto-scheduler
DSH timed auto-work plugin: start/stop agent sessions on a user-defined schedule with valley/peak presets and silent mode (DeepSeek Harness dsh-plugin)
- Source
- Cheng-xiu
- stars
- 2 stars
- License
- MIT
- Updated
- Updated yesterday
Readme
English | [中文](README.zh.md) # dsh-auto-scheduler A DeepSeek Harness (DSH) plugin for timed autonomous work: fill in a goal and a time window in the sidebar panel, and DSH automatically creates a session and starts working at the start time, then interrupts the agent and stops the session at the stop time (the session stays in the list for review). ## Features - **Host-side scheduler**: timers live inside the dsh web host process, so they fire even when no browser tab is open (the dsh web process itself must be running; missed windows are skipped). - **Auto start / auto stop**: creates a Web GUI session and sends the task at the start time; cancels the active turn and stops the session at the stop time. - **Two modes**: - `default`: the agent may ask the user; every other setting keeps deployment defaults. - `silent`: never asks the user (ask_user_question tool disabled + silent persona), danger-full-access permissions, keeps working until the task is done (still stopped externally at the stop time). - **ds valley/peak presets**: one-click quick fill for Beijing time 12:00-14:00 and 18:00-09:00 (UTC+8). - **Timezone handling**: the panel displays/edits in your system timezone and converts to UTC for storage; valley presets are converted to your local timezone for display. - **Repeat**: once / daily. ## Install ### Manual (recommended) ```sh dsh plugin --profile web add github:Cheng-xiu/dsh-auto-scheduler#v0.1.4 ``` This is the only command needed; `dsh plugin add` registers the plugin bundle automatically. ### One-click script (Windows) Download the installer and run it (or clone the repo and run `install.cmd`): ```bat curl -o install.cmd https://raw.githubusercontent.com/Cheng-xiu/dsh-auto-scheduler/v0.1.4/install.cmd install.cmd :: optional: install.cmd <profile>, default profile is web ``` ### One-click script (macOS / Linux) ```sh curl -o install.sh https://raw.githubusercontent.com/Cheng-xiu/dsh-auto-scheduler/v0.1.4/install.sh chmod +x install.sh && ./install.sh # optional: ./install.sh <profile> ``` Restart `dsh web` afterwards. The "Auto Work" (自动工作) entry then appears in the sidebar. ## Usage 1. Open the "Auto Work" sidebar panel. 2. Fill in the goal, mode (default/silent), start/stop times, and repeat — or click a valley-period preset. 3. Save. When the time arrives, DSH creates a session and sends the task; the panel shows live status and the next-run countdown. 4. "Run now" triggers a run immediately (stop time = now + original duration). ## Data & security - Schedules persist host-side in `DSH_HOME/dsh-auto-scheduler.json` (default `~/.dsh/dsh-auto-scheduler.json`). - Panel APIs accept only loopback requests or hosts granted via `--trusted-host`; anything else gets 403. - **Silent mode means unattended full-permission execution — use it only for tasks you trust.** ## How it works - The host ticks every 20 seconds and drives sessions through the exact same path the Web GUI uses (`apiProxy.sessions.create/prompt/cancel`). - Silent mode uses the bundled agent preset `dsh-auto-scheduler-silent` (a fork of the standard preset with a silent persona and the question tool disabled), synced to `~/.dsh/.agent-presets/` at startup. - Sessions are titled "[Auto] <goal prefix>" so they are easy to find in the session list. ## Troubleshooting - **No sidebar entry after restart**: run `dsh --profile web --dump-config | findstr auto-scheduler`; if the row is missing, re-run the install command. Client panels are injected at boot — a restart is mandatory after install/upgrade. - **pnpm store or allowBuilds error**: this package has no build scripts and no dependencies; follow the pnpm hint printed by `dsh plugin add` (e.g. add the printed key to `allowBuilds` in the profile's `pnpm-workspace.yaml`) and re-run. - **Missed schedule**: the dsh web process must be running at the scheduled time; missed windows are skipped by design. ## License MIT
Install
dsh plugin --profile web add github:Cheng-xiu/dsh-auto-scheduler
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-auto-scheduler from the hub
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.