前言¶
DeepSeek Harness(DSH)采用插件化架构,允许开发者根据需求扩展功能。在构建自动化智能体或工作流时,常遇到需要定时执行命令、记录执行历史以及处理失败重试的场景。dsh-delivery-ledger 插件正是为此设计,它将定时任务调度与投递台账(Delivery Ledger)结合,借鉴了 Hermes Agent 的 delivery_obligations 治理逻辑。
插件定位¶
这是一个定时任务执行器与投递台账。插件会为每次任务执行生成台账行,支持按状态查询,并提供补发机制。其核心价值在于窗口对齐去重与 Hermes 风格的重发语义,确保重复任务不会因进程抖动而重复执行。
核心功能¶
ledger_create:注册定时任务,指定执行的命令和间隔秒数。插件自带调度器,按窗口对齐触发。ledger_list:查询台账,支持按状态过滤(ok/failed/abandoned)。ledger_retry:补发最近失败或放弃的窗口。重发时 attempt 递增,dueAt 保持不变。
设计与限制¶
- 存储方式:台账采用 append-only JSONL 格式,存储在
$DSH_HOME/ledger/<task-id>.jsonl。 - 执行机制:窗口对齐(interval 边界)+ 同窗口去重,防止进程抖动导致重复执行。命令通过
/bin/sh -c执行,超时时间为 10s。 - 调度状态:任务注册表仅在内存中,跨进程不持久调度(v1 边界)。
- 无依赖:零网络、零 LLM 调用,纯本地执行。
安装与启用¶
在 DSH 环境中安装该插件:
dsh plugin --profile web add "github:leetom314/dsh-delivery-ledger#main"
典型用法¶
- 注册任务:调用
ledger_create接口,传入命令和间隔时间。 - 查看台账:调用
ledger_list接口,传入过滤条件(如仅查看 failed 状态)。 - 补发重试:调用
ledger_retry接口,对指定任务进行重发。
适用场景与注意¶
该插件适合需要严格审计和去重控制的定时任务场景。使用时需注意:
* 任务调度目前仅在内存中,进程重启后注册的任务会丢失(v1 版本限制)。
* 代码执行依赖当前 DSH 进程的权限。
* 建议在安装前检查源码与许可证(MIT)。
结尾¶
以上介绍了 dsh-delivery-ledger 的核心功能与使用方式。更多细节可查看插件目录页或 GitHub 仓库。