dsh-delivery-ledger:定时任务执行器与投递台账

前言

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 仓库。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜