deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
面向 DeepSeek Harness 的机器级定时任务插件: 直接在 Web 设置页配置定时任务,到点后由宿主内部驱动、自动触发到专用「定时任务」会话 —— 脱手执行。
cronerctx.settings 命名空间,存储于 ~/.dsh/settings.yaml,重启不丢[CRON JOB] 用户消息唤醒专用会话,agent 执行任务并在该会话中回复cron_create / cron_list / cron_delete:直接对 agent 说"以后每天 9 点做 X",它就帮你建任务/cronjob/*(list/create/update/toggle/delete/fire),变更类请求带同源校验# 1. 安装(npm 发布版)
dsh plugin --profile web add cronjob-dsh-plugin
# 2. 重启 dsh web
dsh web
# 3. 打开 设置 -> 定时任务,新建一个任务即可
零配置开箱即用:专用会话默认创建在 $DSH_HOME/cron-job(即 ~/.dsh/cron-job,插件自动创建),
与你的日常工作区完全隔离——不需要配置任何路径。
可选覆盖:想自定义专用会话的位置或名称时,编辑
~/.dsh/profiles/web/cordis.patch.yml:- id: cronjob config: dedicatedSessionCwd: 'D:\你的\工作区' # 可选:覆盖默认目录(必填绝对路径,需存在) dedicatedSessionName: '定时任务' # 可选:新建专用会话时的初始名称专用会话会自动归入其工作目录对应的工作区(而不是「未分组」),会话行支持重命名。 修改
dedicatedSessionCwd后无需手动删除旧会话:下一次触发会自动轮换到新目录。
| 模块 | 职责 |
|---|---|
store |
任务表 CRUD(settings 命名空间,带校验与串行写) |
scheduler |
墙钟调度:算最近触发时刻 → 单定时器等待 → 唤醒后重读时钟,错过周期跳过 |
fire |
把 [CRON JOB] 消息入队到专用会话(whenIdle + runMaintenance + followup) |
routes |
/cronjob/* HTTP 接口,供设置页调用 |
tools |
cron_create / cron_list / cron_delete 模型工具 |
client |
设置页「定时任务」UI(tsdown 构建的浏览器包) |
npm install
npm run typecheck
npm test
npm run build # host tsc -> lib/,client tsdown -> client/client.js
dsh web 进程存活:宿主关闭即停;重启后从当前时间重算下一次,错过的周期不补跑/compact 压缩Apache-2.0
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。