cron / 一次性定时任务:按调度执行 shell 命令或投递 webhook,结果可推送到 ServerChan / 钉钉 / 飞书 / 通用 Webhook。
安装
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:yangyongzhen/dsh-scheduler
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
DeepSeek Harness 定时任务插件:cron 表达式 / 一次性时间点触发,执行 shell 命令或投递 webhook,命令结果可选推送到 ServerChan / 钉钉 / 飞书 / 通用 Webhook。
安装
dsh plugin --profile <name> add dsh-scheduler
# 或从本地 checkout 安装
cd ~/dsh-scheduler && dsh plugin --profile <name> add .
配置
在 profile 的 cordis.patch.yml(或 --patch overlay)中:
- id: scheduler
config:
enabled: true
jobs:
- id: daily-report # 每天 09:00 跑一次脚本,结果发 ServerChan
cron: '0 9 * * *'
timezone: 'Asia/Shanghai'
task:
type: command
command: 'bash report.sh'
channel:
type: serverchan
url: 'https://sctapi.ftqq.com/<SENDKEY>.send'
- id: heartbeat # 每 5 分钟 POST 一次心跳
cron: '*/5 * * * *'
task:
type: webhook
url: 'https://example.com/hook'
payload: { text: 'dsh alive' }
- id: deploy-window # 一次性任务:到点执行
at: '2026-08-16T09:00:00+08:00'
task:
type: webhook
url: 'https://example.com/hook'
字段说明
| 字段 | 说明 |
|---|---|
jobs[].cron |
5/6 位 cron 表达式(可含秒字段);与 at 二选一 |
jobs[].at |
ISO 8601 时间戳,一次性任务;与 cron 二选一 |
jobs[].timezone |
可选,IANA 时区名(如 Asia/Shanghai),仅 cron 生效 |
jobs[].task.type |
command(执行 shell 命令)或 webhook(POST JSON) |
jobs[].task.command |
要执行的命令;cwd 可选工作目录 |
jobs[].task.channel |
可选,命令结果投递通道:serverchan / dingtalk / feishu / generic |
jobs[].task.url / payload |
webhook 端点与 JSON 载荷(自动附加 job 与 at 字段) |
使用
插件提供模型可见工具 scheduler_status:列出所有已配置任务、下一次执行时间、上次执行状态与结果。Agent 在对话中询问「有什么定时任务」即可自动调用;任务本身按调度自动触发,无需人工干预。
- cron 任务错过执行窗口(如系统休眠)不会回补刷屏:触发后直接推进到下一次未来时刻。
- 命令执行有 120s 超时与 1 MiB 输出上限;投递失败只记录状态,不影响插件运行。
- 单次执行有重入保护,超长命令不会造成同任务并发。
开发
pnpm install && pnpm build
node --import tsx test/scheduler.test.mjs # 引擎单测(假时钟 + 本地 webhook sink)
License
MIT
链接
同类插件
Q00/ouroboros#integrations/dsh-plugin★ 6128
通过 DSH MCP 客户端挂载 Ouroboros 的纯配置包,在 DSH 中提供 36 个涵盖需求访谈、Seed、执行、评估与演化流程的工具。
loopx-project/loopx#dsh-loopx-plugin★ 6087
LoopX——面向长周期 Agent 的提供商中立、本地优先状态内核与控制平面:在 DeepSeek Harness 执行层之上持久化 Goal、Todo、门禁、证据、配额、恢复与交接状态;插件负责引导安装 CLI 与技能、准入有界的同会话续跑,并为精确绑定的工作循环提供本地 GoalBar。
chuspeeism/dashi-taskboard#deepseek-harness★ 3253
把当前已安装并运行中的 Codex Taskboard 嵌入 DeepSeek Harness 侧边栏,并通过 Launcher 运行时描述文件连接,而不是使用固定端口。
NanmiCoder/dsh-agent-teams★ 1839
AgentTeams 多智能体团队。
EthanYoQ/AI-Novel-Writer#dsh-ai-novel-writer★ 1181
安装专用 AI 小说创作预设与工作台:提供带修订号的本地项目资产、紧凑侧边工作台,以及需要原生审批的逐文件变更。
tong-io/tongflow#dsh-tongflow★ 1034
基于 TongFlow 的“片场”插件,用于图片、配音、音乐与视频制作:agent 为每个资产生成 TongFlow 工作流文件(.tongflow.json)并通过 TongFlow 插件执行,内嵌工作流画布,按镜头/角色/take 组织项目,附漫剧模板;以 @tongflow 开头的会话进入 Studio 界面。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。