dsh-cron
Unattended scheduled jobs for the DeepSeek Harness: agent/command tasks on cron schedules, durable dispatch state, bounded run history
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:squirrel20/dsh-cron说明文档
阅读完整 README ↗Usage
Adding a job by hand
Click + in the sidebar's Cron Jobs section header. The New job dialog configures everything on one screen:
- Name — lowercase, digits and
-. - Trigger —
cron(5-field expression + IANA time zone),interval, orone-shot. - Task —
agent(a prompt executed unattended through the full dsh toolchain) orcommand(an argv to spawn). - Preset / Access / Model — leave blank to inherit the host defaults.
- Working directory — type a path or browse via the folder icon.
- Timeout, On overlap, On misfire — see Features for the policy semantics.
Create & enable persists the job (a "manual" chip marks it apart from config-declared jobs). Afterwards, each row's ⋯ menu offers Run now / Pause schedule / Edit job / Delete job; clicking a row expands its run history, and clicking an agent run opens that run's full session replay.
Adding a job from a session
Just ask the agent in any session:
Every Monday at 07:00 review our outdated dependencies and save an upgrade checklist to reports/deps-audit.md.
The bundled cron-create skill (auto-registered when the host has a skill registry) walks the model through collect → confirm → create → verify, calling the cron_create tool under the hood; cron_delete removes a manual job the same way. Jobs created from a session are ordinary manual jobs — the exact same overlay the web dialog writes — so they show up in the sidebar immediately and can be edited there later. The read/steer tools (cron_list, cron_runs, cron_run_now, cron_enable, cron_disable) work on config-declared jobs too.