peng-huiyang/cronjob-dsh-plugin

peng-huiyang★ 1TypeScript最后同步: 2026-08-16

在 GitHub 打开

尝试开发适配deepseek harness的定时任务插件,支持在前端页面直接设置定时任务,实现内部驱动的定时请求,满足一定程度上的脱手需求

README 摘要

cronjob-dsh-plugin 中文 English 面向 DeepSeek Harness 的 机器级定时任务插件 : 直接在 Web 设置页配置定时任务,到点后由宿主内部驱动、自动触发到专用「定时任务」会话 —— 脱手执行 。 功能 - 真实 cron 表达式 (5/6/7 段,支持 IANA 时区),基于 croner - Web 设置页「定时任务」 :新建、编辑、启停、删除、立即触发,表单实时显示下次运行预览 - 机器级持久任务表 : ctx.settings 命名空间,存储于 /.dsh/settings.yaml ,重启不丢 - 内部驱动触发 :到点后宿主以 [CRON JOB] 用户消息唤醒专用会话,agent 执行任务并在该会话中回复 - 模型工具 cron create / cron list / cron delete :直接对 agent 说"以后每天 9 点做 X",它就帮你建任务 - 宿主 HTTP 路由 /cronjob/ (list/create/update/toggle/delete/fire),变更类请求带同源校验 快速开始 零配置开箱即用 :专用会话默认创建在 $DSH HOME/cron-job (即 /.dsh/cron-job ,插件自动创建), 与你的日常工作区完全隔离——不需要配置任何路径。 可选覆盖 :想自定义专用会话的位置或名称时,编辑 /.dsh/profiles/web/cordis.patch.yml : 专用会话会自动归入其工作目录对应的 工作区 (而不是「未分组」),会话行支持重命名。 修改 dedicatedSessionCwd 后无需手动删除旧会话:下一次触发会自动轮换到新目录。 工作原理 模块 职责 store 任务表 CRUD(settings 命名空间,带校验与串行写) scheduler 墙钟调度:算最近触发时刻 → 单定时器等待 → 唤醒后重读时钟,错过周期跳过 fire 把 [CRON JOB] 消息入队到专用会话( whenIdle + runMaintenance + followup ) routes /cronjob/ HTTP 接口,供设置页调用 tools cron create / cron list / cron delete 模型工具 client 设置页「定时任务」UI(tsdown 构建的浏览器包) 文档 - 使用指南(中文) — 安装、配置、第一个任务、模型工具、卸载 - 开发指南(中文) — 仓库结构、构建、测试、本地联调、发布 - 故障排查(中文) — 常见问题与解决方案 开发 已知限制 - 调度器随 dsh web 进程存活:宿主关闭即停;重启后从当前时间重算下一次, 错过的周期不补跑 - 每次触发 = 专用会话里一条用户消息, 消耗模型 tok…

在 GitHub 查看完整 README →
工具/开发dsh-pluginagent

分类