Recurring task scheduler with an append-only delivery ledger: window-aligned dedup execution, failure/abandoned rows, and same-window retry redelivery.
Install
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:leetom314/dsh-delivery-ledger
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
This plugin publishes its README in Chinese only.
Recurring task scheduler with a delivery ledger — 定时任务执行器 + 投递台账。 移植 Hermes Agent 的 delivery_obligations 治理:每次任务执行都留台账行,失败可查可补发,同窗口去重。
What it does
- ledger_create — 注册定时任务(命令 + 间隔秒)。插件自带调度器,按窗口对齐触发,不依赖 dsh-schedule(那是会话内提醒)。
- ledger_list — 查台账,支持按状态过滤(ok/failed/abandoned)。
- ledger_retry — 补发最近的失败/放弃窗口(redeliver 语义:attempt 递增,同一 dueAt)。
设计
- 台账 append-only JSONL,存
$DSH_HOME/ledger/<task-id>.jsonl(经dshHomePath)。 - 窗口对齐(interval 边界)+ 同窗口去重:进程抖动不会重复执行。
- Hermes redeliver 语义:retry 补的是失败的窗口而非新跑当前时刻。
- 零网络零 LLM;命令执行走
/bin/sh -c,10s 超时。 - 任务注册表在内存(跨进程不持久调度——v1 边界,GOAL.md 有声明)。
验证
单测 node --test(ledger.js 行覆盖 100%);真实 headless e2e:
- 5s 任务 sleep 13s → 4 行 ok(每窗口 1 次,去重生效)
- gate 文件场景 → 3 行 failed → touch 开闸 → retry → 同 dueAt attempt 2 ok
安装/开发
# from GitHub (requires dsh CLI)
dsh plugin --profile web add "github:leetom314/dsh-delivery-ledger#main"
# or clone and verify locally first
git clone https://github.com/leetom314/dsh-delivery-ledger.git
cd dsh-delivery-ledger && ./setup.sh && ./verify.sh # 一键真实 e2e(隔离 DSH_HOME)
verify.sh 动态生成临时 overlay($HERE/index.js 路径),不需要仓库内 overlay 文件——overlay*.yml 已 gitignore(含本机绝对路径,不随版本库分发)。
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.