Bundle
dsh-tui-cron
Cron schedules for dsh-TUI: /cron saves 5-field cron entries that fire a prompt into the live conversation as a follow-up user message.
- Source
- FUSU123fusu
- License
- MIT
- Updated
- Updated 7 days ago
Readme
# dsh-tui-cron > 适用于 [dsh-TUI](https://github.com/ccch1mneyyy/dsh-TUI)([dshtui.com](https://dshtui.com))的社区插件。 dsh-TUI 的定时任务插件:`/cron` 保存一条标准 5 段 cron 计划和提示词,到点把提示词作为一条**后续用户消息**(follow-up user message)发进当前会话——正在跑的轮次不会被打断,消息排进队列成为下一轮。 [English](#english) below. ## 用法 ``` /cron " 打开任务面板(非 TUI 宿主退化为文本列表) /cron add <分> <时> <日> <月> <周> <提示词> " 添加,返回 id 和下次触发时间 /cron rm <id> " 删除(精确 id 或唯一前缀) /cron on <id> " 启用 /cron off <id> " 停用 ``` 面板按键:↑/↓ 选择 · 空格 启用/停用 · d 删除(3 秒内按两次确认)· Esc 退出。 示例: ``` /cron add 0 9 * * 1-5 提醒我整理今天的站会要点 /cron add */30 9-18 * * * 检查一下后台任务面板有没有失败的 job ``` ## cron 语法速查 五段:`分 时 日 月 周`。每段支持 `*`、`*/n`、`a`、`a-b`、`a-b/n`、逗号列表;周 0-7(0 和 7 都是周日)。日/周同时为限制值时是 **或** 语义(Vixie cron 惯例):任一匹配即触发。 ``` */15 * * * * " 每 15 分钟 0 9 * * 1-5 " 工作日 9:00 0 0 1,15 * * " 每月 1 号和 15 号 0:00 0 0 13 * 5 " 每个周五,以及每月 13 号(或语义) ``` ## 重要限制:进程生命周期 调度器只活在当前 dsh profile 进程里:启动时从**此刻**计算每条任务的下次触发时间,**TUI 不在线期间错过的时点不会补跑**。要任务能触发,请保持 dsh-TUI 开着。如果到点时还没有任何顶层会话(agent)创建过,本次触发跳过并写 warn 日志。 数据存在 `~/.dsh-tui/cron.json`(纯 JSON 数组,可手改,格式:`id / cron / prompt / enabled / createdAt / lastFiredAt`)。 ## 安装 暂未发布到 npm,从源码打包安装: ```bash git clone https://github.com/FUSU123fusu/dsh-tui-cron.git cd dsh-tui-cron npm pack dsh plugin --profile <你的profile> add file:dsh-tui-cron-0.1.0.tgz ``` ## 开发 ``` node --test " 单元测试(cron 解析/nextFire 预言机对照、存储、调度器、manifest) ``` --- ## English Cron schedules for dsh-TUI: `/cron` saves a standard 5-field cron expression plus a prompt, and when a slot comes due the prompt is injected into the live conversation as a follow-up user message (`agent.followup`) — a running turn is never interrupted, the message queues as the next turn. - Parser: `*`, `*/n`, `a`, `a-b`, `a-b/n`, comma lists; dow 0-7 (0 and 7 = Sunday); Vixie dom/dow OR-semantics. `nextFire` fast-forwards field by field with a ~4-year cap. - **Process-lifetime limitation:** the scheduler lives only while this dsh profile process runs. Next fires are computed from *now* at startup — slots missed while the TUI was offline are never caught up. - Storage: `~/.dsh-tui/cron.json`, best-effort plain JSON. - Panel keys: ↑/↓ select · Space toggle · d delete (double-press confirm) · Esc quit. Degrades to a text list on hosts without the scene seam. MIT
Install
dsh plugin --profile web add github:FUSU123fusu/dsh-tui-cron
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-tui-cron from the hub
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.