Scheduled tasks panel for managing DSH agent and system crontabs with natural language input and execution logs.
Install
# from npm (prebuilt)
dsh plugin --profile web add dsh-cron-panel
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:a792883583/dsh-cron-panel
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
A scheduled-tasks panel for the DSH Web GUI: sits between the workspace selector and settings in the sidebar, managing DSH tasks and system tasks (crontab) in separate sections, with natural-language creation, full-screen detail editing, and execution logs.
Features
Sidebar panel: below the workspace selector, above settings; ➕ on the header to create, ▾ to collapse (collapses to a slim title bar; state is persisted)
Separate sections & status indicators: DSH tasks and system tasks are shown apart, with status indicator dots (🟢 success / 🔴 failure / ⚪ not run yet)
Execution logs & one-click clear: panel-created tasks log automatically with live refresh and a one-click "Clear logs" button to prevent file bloat
Natural-language creation: type “run backup every day at 9am”, “clean temp files every 30 minutes”, “every Monday at 8pm” and it is parsed into a cron expression automatically (Chinese & English, 17+ patterns); manual expressions also supported
Full-screen details: click a task to open a full-screen overlay over the conversation, close via the top-right ✕; edit / save / delete / enable-toggle supported
Next-run preview: while editing, the next 5 execution times are shown automatically from the cron expression (avoids typos)
Agent Prompt Automation: In addition to standard Shell commands, switch to "🤖 Agent Prompt Automation" mode to run an AI prompt on schedule in the background (e.g. daily code inspection or morning briefing) and push findings directly to WeCom or Telegram
Notify on completion: when editing a task you can configure "notify on completion" — after the task finishes, the result is pushed to the selected platform (Telegram / Discord / WeCom AI bot / Email); requires an installed and connected
dsh-message-gateway(QQ has no active push). Push goes through the gateway's/gateway/push; the cron command gets a push segment appended automatically (exit code + task description), no extra setup neededRun now: in task details, click "Run now" to execute the command once immediately (not through cron scheduling) and see the exit code and output in real time — verify a task right after creating it instead of waiting for its schedule
Auto-retry on failure: configure the number of retries and the delay between attempts (the command runs in a subshell, so a failed exit code triggers a retry)
Auto-backup before write: every crontab rewrite is preceded by a backup of the current content to
~/.local/share/dsh-cron-backups/(keeps the latest 20), so mistakes can always be rolled backMultilingual: follows the DSH Web UI language (Chinese / English); Spanish browsers automatically get Spanish copy; defaults to Simplified Chinese
Cross-Platform & Theme Adaptations:
- Seamless Windows compatibility: avoids
spawn /usr/bin/crontab ENOENTerrors by supporting local persistence fallback. - Enhanced contrast and color variables across light and dark modes to prevent invisible text.
- Seamless Windows compatibility: avoids
Light / dark theme follows the DSH Web GUI
Screenshots
Sidebar panel (DSH / system sections + add + collapse):

Full-screen details (edit form + execution log, close top-right):

Installation
dsh plugin --profile web add dsh-cron-panel
Restart dsh web, and the “Scheduled tasks” panel appears below the workspace selector in the sidebar.
For local development, install via a link instead:
dsh plugin --profile web add link:/path/to/dsh-cron-panel. After editing source, runnpm run buildand refresh the page to see changes.
Feedback
Found a bug or have a feature request? Open an issue on GitHub Issues — your feedback helps us make the plugin better.
License
MIT
Links
More in this category
Q00/ouroboros#integrations/dsh-plugin★ 5825
Config-only bundle that mounts Ouroboros through the DSH MCP client, exposing 36 interview, Seed, execution, evaluation, and evolution workflow tools in DSH.
huangruiteng/loopx#dsh-loopx-plugin★ 5818
LoopX, a provider-neutral, local-first state kernel and control plane for long-horizon agents: keeps Goal, Todo, gate, evidence, quota, recovery, and handoff state above DeepSeek Harness, while the plugin bootstraps the CLI and skills, admits bounded same-session continuation, and adds a loopback GoalBar for the exact bound loop.
chuspeeism/dashi-taskboard#deepseek-harness★ 3070
Embeds the active installed Codex Taskboard runtime in the DeepSeek Harness sidebar, using its launcher runtime descriptor instead of a fixed port.
NanmiCoder/dsh-agent-teams★ 1596
AgentTeams multi-agent teams.
tong-io/tongflow#dsh-tongflow★ 1020
TongFlow film-crew studio for image, voice, music and video production: the agent writes per-asset TongFlow workflow files (.tongflow.json) that run through TongFlow plugins, with an embedded workflow canvas, a shot/character/take project layout and a manga-drama template; sessions starting with @tongflow open the Studio view.
EthanYoQ/AI-Novel-Writer#dsh-ai-novel-writer★ 824
Installs a dedicated AI novel-writing preset and workbench: revisioned local project assets, a compact side drawer, and native approval-gated single-file changes.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.