READMESource: main@b91e0ff4
dsh-task-dispatcher — TickTick daily task dispatcher
Use TickTick (滴答清单) as DSH's daily task dispatcher: a cordis timer pulls each morning (default 08:30) today's due tasks from the 5️⃣AI list, writes them to today's task file, and notifies via flomo + macOS. The agent reads the file, works through the items, and writes results back to TickTick with ticktick_complete.
Reuses the already-installed
dsh-ticktickplugin (its data layer + OAuth credentials in~/.dsh/dsh-ticktick.json) — no duplicate configuration.
Features
- Interval dispatch: cordis
ctx.intervalpolls every minute and dispatches when the configured interval (minutes) has elapsed; 0 disables the timer;dispatcher_rundispatches manually anytime. - Task source: default the 5️⃣AI list (
projectName/projectIdconfigurable);dueMode=todaypulls due-today/overdue + undated,dueMode=allpulls all incomplete. - Today task file: writes a Markdown checklist (default
~/.dsh/dsh-task-dispatcher/today-tasks.md). - Notify on change only:
notifyFlomo(reuses~/.dsh/dsh-flomo.json) +notifyMac(osascript); a repeated pull with no new tasks stays silent. - Auto-execute (autoExecute): when on, each pulled task runs in its own
dsh --profile headlesssession (serial, one task per session); success writes back to TickTick viaticktick_complete; failed tasks wait out the retry cooldown. - Worker workspace (workerWorkspaceId): the auto-execute worker session runs in the user's home dir by default; set a DSH workspace id and the worker spawns with cwd = that workspace's directory, so files are written there and the produced session shows up under that workspace in the GUI sidebar. The settings panel provides a workspace dropdown (list read from
~/.dsh/storages/workspace.json); empty = home dir. - Agent tools:
dispatcher_status/dispatcher_config/dispatcher_run/dispatcher_report+ a Web settings panel.
Install
dsh plugin --profile web add link:/path/to/dsh-task-dispatcher
# restart dsh web to activate
Dev
pnpm install
pnpm build && node tests/smoke.mjs
License
MIT
No comments yet. Be the first to write one.