No description
Find a file
oliver 0ffc48b43a Recognize fallback_admin login for the scheduled-tasks panel.
UDS_FALLBACK_USER is HttpOnly so the client never saw it; also accept UDS_FALLBACK_UI and data-uds-logged-in.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-08 11:38:46 +08:00
docs Allow each scheduled job to pin its provider and model. 2026-08-24 14:31:52 +08:00
lib Recognize fallback_admin login for the scheduled-tasks panel. 2026-09-08 11:38:46 +08:00
test Require browser login for scheduled-task HTTP APIs. 2026-09-08 08:06:54 +08:00
.gitignore Initial commit: scheduled tasks plugin for DeepSeek Harness 2026-08-24 14:16:47 +08:00
cordis.patch.yml Fork dsh-cron-tasks as dsh-ops-cron with DSH/IM delivery. 2026-09-05 21:48:17 +08:00
FORK.md Mirror scheduled-run summaries into the origin effective session. 2026-09-06 12:45:37 +08:00
LICENSE Initial commit: scheduled tasks plugin for DeepSeek Harness 2026-08-24 14:16:47 +08:00
package.json Recognize fallback_admin login for the scheduled-tasks panel. 2026-09-08 11:38:46 +08:00
README.md Mirror scheduled-run summaries into the origin effective session. 2026-09-06 12:45:37 +08:00

dsh-ops-cron

Scheduled-task plugin for DeepSeek Harness (fork of dsh-cron-tasks).

  • Sidebar 定时任务 under New Session
  • Agent tools: cron_create / cron_list / cron_pause / cron_resume / cron_delete
  • Per-job delivery: DSH (new root session) or IM (ctx.dshIm.send)
  • After each fire, mirrors the summary into the origin effective session (creator Web chat or WhatsApp peer binding) so follow-ups share context

See FORK.md for install notes. Do not install upstream @dsh-external/dsh-cron-tasks in the same profile.

Install

dsh plugin --profile web add -w "github:hansjone/dsh-im-ops"
dsh plugin --profile web add -w "github:hansjone/dsh-ops-cron"
# restart dsh web

Delivery defaults

Created from Default delivery Effective-session mirror
WhatsApp / IM session im → reuse or auto-create a 投递目标 for that chat (group→group, DM→DM) Live session for that conversationKey (latest binding)
Web / plain DSH session dsh → sidebar history session Creator session pinned as origin.sessionId
Explicit delivery / im_bot_id+im_target_id as specified Same mirror rules when origin / peer can be resolved

You usually do not need to paste botId/targetId when creating from WhatsApp — omit delivery and the job binds to the current chat.

Execution session ≠ effective session. Each fire still opens a fresh root Session for the Agent turn (visible under 定时任务 history). The mirrored notice is what makes the WhatsApp/Web chat you actually use able to continue from the result.

Agent preset

Source Behavior
Explicit agent_preset / sidebar field pinned on the job
WhatsApp / IM create (omit) inherit chat/group override → bot preset → Host default
Sidebar leave empty Host default at each fire

Scheduled runs mount job.agentPreset (or Host default when empty).

License

MIT (upstream MIT retained).