DeepSHPlugins
dsh-scheduler 專案預覽
GITHUB / COMMUNITY PROJECT

dsh-scheduler

Agent 與自動化JavaScript

cron / 一次性定時任務:按排程執行 shell 命令或投遞 webhook,結果可推送到 ServerChan / 釘釘 / 飛書 / 通用 Webhook。

1 Starsyangyongzhen 更新時間 2026-08-15
訪問 GitHub 倉庫
dsh-scheduler 專案預覽

專案介紹

中文

cron / 一次性定時任務:按排程執行 shell 命令或投遞 webhook,結果可推送到 ServerChan / 釘釘 / 飛書 / 通用 Webhook。

English

Cron/one-shot scheduled tasks: run shell commands or fire webhooks on a schedule, with optional ServerChan/DingTalk/Feishu/webhook delivery of results.

專案資訊與收錄訊號

快照 2026-09-11
作者 / 組織
yangyongzhen
倉庫
yangyongzhen/dsh-scheduler
GitHub Stars
1
Forks
1
開發語言
JavaScript
許可證
未記錄
最近推送
2026-08-15
Manifest
資料中檢測到宣告

公開倉庫不自動等於可商用;許可證與當前相容性以原專案文件為準。Manifest 和資料評分不構成安裝安全認證。

資料評分

62/ 100
維護活躍
81
文件與實用資訊
100
生態關注度
24
安裝便捷訊號
100
專案宣告訊號
80

README 含完整安裝與使用說明;關注度尚低(1);標準命令一鍵安裝。

評分來自已有資料快照的五維模型,僅作瀏覽參考,不是實際使用評測或安全檢測結論。

安裝與使用

所有專案資料與許可均以對應 GitHub 倉庫為準。

dsh plugin --profile web add github:yangyongzhen/dsh-scheduler

複製命令不會自動執行。請先閱讀倉庫文件,確認環境要求與許可證。

專案截圖

倉庫 README

GitHub 原文

已儲存的倉庫文件快照;文件抓取時間未記錄,可能與上方目錄介紹處於不同版本。安裝前請核對當前倉庫說明。

儲存庫檔案保留原文,指令與授權文字不作自動改寫。

dsh-scheduler

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[].cron5/6 位 cron 表达式(可含秒字段);与 at 二选一
jobs[].atISO 8601 时间戳,一次性任务;与 cron 二选一
jobs[].timezone可选,IANA 时区名(如 Asia/Shanghai),仅 cron 生效
jobs[].task.typecommand(执行 shell 命令)或 webhook(POST JSON)
jobs[].task.command要执行的命令;cwd 可选工作目录
jobs[].task.channel可选,命令结果投递通道:serverchan / dingtalk / feishu / generic
jobs[].task.url / payloadwebhook 端点与 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

使用前核對

安裝步驟、相容版本與授權範圍以原專案當前文件為準。Stars 和評分是快照中的導航訊號。

安裝與排錯 · 專案問題反饋

同類專案