
Security News
Deno Goes the Way of the Dinosaur
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.
dsh-cron-scheduler
Advanced tools
Linux crontab-style scheduled tasks for DeepSeek Harness: the LLM can schedule recurring workflow runs and prompt-driven tasks with cron expressions, plus proactive task suggestions inferred from the chat.
Linux crontab 风格的定时任务调度插件,让 LLM 可以:
任务与会话(session)绑定,通过会话事件日志持久化——宿主重启后调度自动恢复。
分 时 日 月 周,以及带秒的 6 段形式 秒 分 时 日 月 周*/15、范围 9-18、范围步进 9-18/2、列表 1,5,10、月份/星期名称(JAN-DEC、MON-FRI、SUNDAY):00 触发;错过的触发不补发cron_suggest / cron_accept / cron_reject)run_workflow(workflow 任务,可带参数)DSH 插件中心搜索 dsh-cron-scheduler 安装;或在 web profile(C:\Users\admin\.dsh\profiles\web)中手动添加:
// package.json 的 dependencies 中新增
"dsh-cron-scheduler": "^0.1.0"
然后在 profile 目录执行 pnpm install,重启 DSH Host。
// package.json 的 dependencies 中新增
"dsh-cron-scheduler": "file:E:/dsh/dsh-cron"
dsh.profile.bundles 数组中追加 "dsh-cron-scheduler":"dsh": {
"profile": {
"bundles": [ "...", "dsh-cron-scheduler" ]
}
}
pnpm install,然后重启 DSH Host。插件自身的 cordis.patch.yml 声明 id: cron,加载后自动挂到每个 root agent。
| 工具 | 说明 |
|---|---|
cron_create | 创建定时任务。cron 必填;kind 为 prompt 或 workflow |
cron_list | 列出本会话所有任务(按下次触发时间排序)+ 待主人确认的主动任务建议 |
cron_next | 只读预览:计算表达式未来 N 次触发时间 |
cron_delete | 按 id 删除任务 |
cron_pause / cron_resume | 暂停 / 恢复任务 |
cron_run | 立即手动触发一次(不改变原计划) |
cron_suggest | 主动任务:根据聊天记录推理出周期/提醒意图,形成待确认建议(未排程) |
cron_accept | 主人确认建议 → 把建议转为真实定时任务(自动加入排程) |
cron_reject | 主人拒绝建议 → 丢弃建议 |
请创建定时任务:每天 09:00 投递提示词「早上好,请总结昨日进展并列出今日计划」,
cron 表达式为 0 9 * * *,kind 为 prompt。
请创建定时任务:每周一至周五 18:00 调用工作流 daily_report,
cron 表达式为 0 18 * * 1-5,kind 为 workflow,参数 { scope: "today" }。
请用 cron_next 预览 0 18 * * 1-5 未来 5 次的触发时间。
当对话中出现周期 / 提醒 / 定时类意图(如「每天提醒我喝水」「每周一发周报」)时,LLM 会:
reason);cron_suggest 形成待确认建议(不直接排程),并把建议展示给主人;cron_accept 把建议转为真实任务自动加入排程;主人拒绝 → 调用 cron_reject 丢弃建议。cron/change 事件持久化(操作 suggest / accept / reject),宿主重启后不丢失。cron_s_...),与任务 id(cron_...)不冲突。cron_list 会同时返回 jobs 与 suggestions(status: "pending_confirmation"),即使建议 id 丢失也能找回。cron_accept 在确认时才计算首次触发时间。分 时 日 月 周
0 9 * * 1-5 # 工作日 09:00
*/15 * * * * # 每 15 分钟
0 0 1 * * # 每月 1 日 00:00
0 12 * * MON-FRI # 工作日 12:00(支持名称)
0 0 13 * 5 # 每月 13 日或每周五(日/周 OR 语义)
字段范围:
0-59,时 0-23,日 1-31,月 1-12(或 JAN-DEC),周 0-7(0 和 7 都是周日,或 SUN-SAT)秒 分 时 日 月 周,秒范围 0-59,例如 */10 * * * * * 每 10 秒一次lib/cron-parser.js — 纯函数 cron 表达式解析与下次触发时间计算(无副作用,可独立测试)lib/cron.js — 任务记录模型、主动任务建议模型、事件日志变更(cron/change)、折叠(jobs + suggestions)、消息渲染lib/runtime.js — 每个 root agent 一个 CronRuntime:折叠事件 → 武装定时器 → 到点投递lib/tools.js — 注册 cron_* 工具(含主动任务三件套 cron_suggest / cron_accept / cron_reject)lib/index.js — 插件入口,生命周期接线 + 注册 cron/change 会话事件类型任务与建议均通过 cron/change 事件持久化到会话日志(与 loop/change、schedule/change 同机制)。
foldCronState 一次折叠出活动的 jobs 与待确认的 suggestions;foldCronEvents 保持向后兼容(只返回 jobs)。
workflow 任务到点时向 agent 投递一条 <cron_fire> 心跳,指示 agent 调用自身的
run_workflow 工具——审批、可见性与权限语义与手动调用完全一致。
# 用真实 node(PATH 上的 node 可能是 DSH 包装器,会卡住)
"C:\Program Files\nodejs\node.exe" --test test/
MIT
FAQs
Linux crontab-style scheduled tasks for DeepSeek Harness: the LLM can schedule recurring workflow runs and prompt-driven tasks with cron expressions, plus proactive task suggestions inferred from the chat.
We found that dsh-cron-scheduler demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.

Security News
Anthropic’s free OSS Scanner uses Mythos and other Claude models to find open source vulnerabilities and send maintainers reports with proposed fixes.

Security News
On Front Lines’ Early Adopters: CISO podcast, Andrew Becherer shares lessons from Datadog, weighs the long-term costs of AI-built tools, and explains how founders can actually gain a CISO’s trust.