@goodandready/dsh-cron

workflowtested: passnpmMIT

Scheduled cron tasks, background automation and agent execution for DeepSeek Harness.

下载量 / Downloads
8,841
依赖体积 / node_modules
1.69 MB
测试时间 / Tested
2026-11-06
DSH 版本 / Version
0.2.2-rc.1

Install

dsh plugin --profile web add @goodandready/dsh-cron

Sandbox test results

StageResult
1 install✓
2 list✓
3 mount✓
4 boot—

Four stages run in an isolated sandbox: install (network on) → list → mount → boot (last three with no network).

README

📦 @goodandready/dsh-cron

<div align="center">

<h3>面向 DeepSeek Harness 的定时 Cron 调度、后台自动化与智能体任务执行引擎</h3>

<p align="center">

<a href="https://www.npmjs.com/package/@goodandready/dsh-cron"><img src="https://img.shields.io/npm/v/@goodandready/dsh-cron.svg?style=for-the-badge&color=6366f1&labelColor=1e1b4b" alt="npm version"></a>

<a href="../LICENSE"><img src="https://img.shields.io/github/license/GooDAnDReaDY/dsh-cron.svg?style=for-the-badge&color=10b981&labelColor=064e3b" alt="license"></a>

<a href="https://github.com/topics/dsh-plugin"><img src="https://img.shields.io/badge/DSH-Plugin-8b5cf6.svg?style=for-the-badge&labelColor=2e1065" alt="DSH Plugin"></a>

<a href="https://nodejs.org"><img src="https://img.shields.io/badge/Node-20%2B-f59e0b.svg?style=for-the-badge&labelColor=451a03" alt="Node version"></a>

</p>

<p align="center">

<a href="https://goodandready.app/"><img src="https://img.shields.io/badge/所有项目-goodandready.app-ff4500.svg?style=for-the-badge&logo=rocket&logoColor=white&labelColor=1a1a2e" alt="所有项目"></a>

</p>

<p align="center">

<a href="README.md"><b>🇬🇧 English</b></a> •

<a href="README.ru.md"><b>🇷🇺 Русский</b></a> •

<a href="README.zh.md"><b>🇨🇳 中文说明</b></a>

</p>

<table align="center">

<tr>

<td align="center">

⭐ <strong>如果您喜欢这个插件,请在 GitHub 上为它点亮 Star</strong> — 这能让我知道插件对您有用,并鼓励我继续开发和维护它。

<br><br>

🐛 <strong>如果您发现 Bug 或希望增加功能</strong>,请使用任意语言在 GitHub 上提交 Issue — 我会评估您的建议,并在后续版本中实现有价值的改进。

</td>

</tr>

</table>

</div>


⚡ 概述与问题

自主 AI 智能体经常需要执行周期性任务:生成每日晨报、整理缺陷跟踪、检查 API 健康状态、同步数据库或定期执行 Git 清理。如果 Harness 内没有专用调度器,用户只能依赖外部 crontab 封装、复杂的 webhook 方案或手动干预。

@goodandready/dsh-cron 是 DeepSeek Harness 的原生全栈调度与后台自动化插件。它将标准 cron 表达式、自然语言间隔语法与自主智能体执行连接起来:

1. 完善的可视化任务管理器 —— 侧边栏按钮带可折叠的活跃任务列表(下次运行时间或实时状态,行数有上限且状态可记忆),以及功能齐全的面板:按类型、模型、渠道筛选,暂停、立即运行、复制、导出/导入与创建任务。

2. 交互式“由 DSH 创建”流程 —— 与智能体对话,把高层需求转化为规范的定时任务。

3. 自主工具调用 —— 原生 cron_* 工具让智能体在会话中自行安排后续执行。

4. 健壮的调度器与原子存储 —— 基于 croner:间隔别名、一次性延时任务、原子写入、运行历史与成本追踪。

5. 六种执行运行时 —— shell、Node.js、Python、HTTP/webhook、远程 SSH 与 Docker,并支持按任务的环境变量、工作区绑定以及面向代码修改任务的隔离 git worktree。

6. 多渠道路由与模板 —— 一次运行可投递到 Telegram、dsh-kanban、Discord、Slack、ntfy、Bark、PushPlus、语音(dsh-tts)与 Gitea,支持 {变量} 消息模板与按 DSH 凭据名称引用的密钥。


🏗️ 架构

graph TD
    subgraph Client ["Web 客户端 (DSH UI)"]
        SidebarBtn["侧边栏时钟按钮<br/>(DSH 客户端插槽)"]
        Overlay["任务管理面板<br/>(标签: 全部 / 活跃 / 暂停 / 已完成)"]
        CreateWithDSH["“由 DSH 创建”对话框<br/>(自然语言任务)"]
        ManualForm["手动任务表单<br/>(运行时、cron、超时、重叠策略、渠道)"]
        SettingsCard["设置卡片<br/>(渠道、模板、凭据)"]
    end

    subgraph Server ["服务端 (Cordis 与 DSH 服务)"]
        HttpRoutes["HTTP REST API<br/>(/dsh-cron/*)"]
        AgentTools["工具调用网关<br/>(cron)"]
        Scheduler["TaskScheduler 引擎<br/>(Croner 实例 + one-shot 定时器)"]
        Store["原子 TaskStore<br/>(tasks.json 原子写入)"]
        AgentRunner["智能体会话调度器<br/>(以指定模型执行提示词)"]
        Runtimes["执行运行时<br/>(shell、node、python、http、ssh、docker)"]
        Notify["投递路由<br/>(模板 + 9 个渠道)"]
        Secrets["凭据引用<br/>(DSH credentials / ENV)"]
    end

    SidebarBtn --> Overlay
    Overlay --> CreateWithDSH
    Overlay --> ManualForm
    SettingsCard --> HttpRoutes
    CreateWithDSH -->|POST /chat/start| HttpRoutes
    ManualForm -->|POST /tasks| HttpRoutes
    HttpRoutes --> Scheduler
    AgentTools --> Scheduler
    Scheduler --> Store
    Scheduler -->|按间隔/一次性触发| AgentRunner
    Scheduler --> Notify

✨ 功能与能力

🐝 群蚁协同委托与多智能体并行执行 (Swarm Delegation) (#350)

  • 受控工作池:配置并发限制 concurrencyLimit(1..10,默认 3),在不耗尽系统资源的前提下并行处理独立子任务。
  • 高容错分解:单个子任务异常完全隔离,群体自动聚合所有成功输出,并在存在异常时清晰上报。
  • 智能结果汇编:支持将所有工作节点的执行输出聚合成结构化 Markdown 报告或交由综合模型提炼总结。
  • 群体指标与历史:运行历史完整记录成功/失败统计、耗时及每个子节点的执行快照与日志。

🔍 Git Diff 变更查看与交互式补丁审查 (#351)

  • 自动 Diff 捕获:在 Git 工作区执行的任务会自动捕获变更文件列表、状态统计及完整 Unified Diff(最高 256 KiB)。
  • 一键丢弃 (Discard):一键清空工作区未提交改动,安全重置仓库状态(git reset --hard HEAD && git clean -fd)。
  • 一键应用 (Apply):将保存的 Diff 补丁直接重新注入并应用到工作区(git apply --whitespace=fix)。
  • 交互式审阅面板:在运行详情抽屉中直接查看带有色彩区分的高亮 Diff 变更对比。

🔀 决策节点与条件分支 IF/ELSE (#352)

  • 条件路由:任务可配置 branchRules(评估 exitCode、output、output.json.<path> 等字段),支持 equals、notequals、contains、gt、lt、regex 等操作符。
  • 回退分支:若无匹配规则,自动执行 elseTask。
  • 死锁防护:未触发的分支自动标记为 skipped,确保后续汇聚栅栏(joinPolicy: 'all_success')正常通过。
  • DAG 可视化:图谱界面直观展示决策标识(🔀 Decision)与连线判断条件。

🩺 自愈医生(Self-Healing Doctor)(#353)

  • 故障诊断分类:自动分类 8 类运行故障(语法错误、缺少依赖、频率限制、认证失效、架构变更、超时、网络错误、运行时异常)。
  • 统一代码差分:生成直观的标准 Unified Diff 对比。
  • 一键应用与回滚:提供 /doctor/apply 与 /doctor/revert 接口,自动保留多达 10 个历史版本(task.revisions)。
  • 受控自主修复:启用 autoHeal: true 时,高可信度(high)修复自动生效,且强制 24 小时频次限制防止死循环。

1. 可视化任务管理器

点击 DSH 侧边栏中的时钟图标(位于“新会话”按钮旁)打开管理面板:

  • 状态过滤标签:全部、活跃、已暂停、已完成。
  • 即时操作:立即运行(Run Now)、暂停/恢复调度、带确认的删除。
  • 一键预设模板:每日摘要、每周回顾、待办监控。
  • 运行历史:打开任务卡片查看历史运行 —— 时间、耗时、状态(成功 / 失败 / 超时 / 跳过 / 错过)、输出与错误。
  • 快捷计划预设:在任务编辑弹窗中通过预设按钮一键填入常用频率(15m、1h、Daily 09:00、Weekdays、Weekly Mon),并即时更新自然语言预览。
  • 自动暂停与预算保护徽章:当任务因预算熔断机制(Burn Guard)自动暂停或手动暂停时,任务卡片上显著展示包含具体原因的状态徽章。
  • 汇总统计栏:活跃任务数、总运行次数、总 token 消耗与估算美元成本。

2. “由 DSH 创建”对话框

无需猜测 cron 语法,用自然语言即可创建任务:

1. 点击 Create ⌄ ➔ Create with DSH。

2. 描述要自动化的内容(例如:“每个工作日早上 9 点检查未处理的 PR 并起草评论”)。

3. 插件会创建一个注入了调度器指令的专属智能体会话。智能体会与你确认细节 —— LLM 还是 NO-LLM shell 任务、准确的 cron 表达式、在你的 DSH 安装中可用的经济型模型,以及是否启用“静默规则”(仅在新事件或故障时告警)—— 评估属于对话内定时提醒(schedule_create)还是后台自动化(cron),并在获得您的确认后通过 cron 工具(action: 'create')注册任务。

2. DSH 核心内置 schedule 与 dsh-cron 对比

DeepSeek Harness 内置了轻量级扩展 @deepseek-ai/dsh-schedule,用于会话内的基础定时提醒。下表帮助您根据场景选择合适的工具:

功能维度 · DSH 核心 schedule (@deepseek-ai/dsh-schedule) · @goodandready/dsh-cron

主要定位 · 当前会话内的定时提醒与催办消息 · 无人值守的后台自动化执行器与任务编排引擎

执行上下文 · 当前活动会话内 · 独立的隔离智能体会话或外部后台进程

执行运行时 · 仅当前会话提示词(LLM) · 9 种运行时:llm、script (bash/sh)、node、python、http (REST/webhook)、ssh、docker、skill、workflow

模型工具 · `schedule

…(truncated)

Rendered from the README published on npm. Formatted only, not edited.

Versions

Published on npm::119,最后更新 2026-11-06

Links

GitHub · Homepage · npm

Same category