dsh-tui-cron: DSH 的定時任務調度插件

前言

DSH 理念是「一切皆插件」,開發者可以通過插件擴展功能。在日常使用 dsh-TUI 進行交互時,有時需要在固定時間週期觸發特定提示詞或執行操作。dsh-tui-cron 插件解決了這一需求,它基於 cron 表達式管理任務,在指定時間將提示詞作爲後續用戶消息注入當前會話。

是什麼

dsh-tui-cron 是一個適用於 dsh-TUI 的社區插件,由 FUSU123fusu 維護。它允許用戶通過標準的 cron 語法保存提示詞,並在任務觸發時將其作爲 follow-up user message 發送至當前會話隊列,正在進行的輪次不會被中斷。

核心功能

  • 定時調度:支持 Vixie cron 標準語法(分、時、日、月、周)。
  • 消息注入:將保存的提示詞作爲後續用戶消息注入會話。
  • TUI 面板管理:提供可視化面板,支持選擇任務、啓用/停用、刪除任務。
  • 數據持久化:使用 JSON 格式將配置存儲在 ~/.dsh-tui/cron.json。

安裝與啓用

該插件暫未發佈至 npm,需從源碼打包安裝。操作步驟如下:

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

典型用法

安裝並啓用插件後,在 dsh-TUI 交互界面中使用以下命令:

/cron                                        # 打開任務面板
/cron add 0 9 * * 1-5 提醒我整理今天的站會要點
/cron rm <id>                                # 刪除任務(支持精確 id 或唯一前綴)
/cron on <id>                                # 啓用任務
/cron off <id>                               # 停用任務

在 TUI 面板中,使用 ↑ / ↓ 鍵選擇任務,空格 鍵切換啓用/停用狀態,d 鍵刪除(需在 3 秒內按兩次確認),Esc 鍵退出。

適用場景與注意

  • 進程生命週期限制:調度器僅存活於當前 dsh profile 進程中。啓動時計算下次觸發時間,TUI 不在線期間錯過的時點不會補跑。要確保任務觸發,必須保持 dsh-TUI 進程持續運行。
  • 會話檢查:如果到點時還沒有任何頂層會話(agent)創建過,本次觸發會跳過並寫入 warn 日誌。
  • 環境依賴:需要 Node.js 版本 ^22.19 || >=24,並依賴 @deepseek-ai/dsh-llm 0.1.0-rc.6。
  • 存儲位置:配置文件存儲在 ~/.dsh-tui/cron.json。

總結

dsh-tui-cron 爲 DSH 用戶提供了一個輕量級的定時任務解決方案。通過 cron 語法和 TUI 面板,開發者可以方便地實現自動化提示詞觸發,適合需要定時提醒或週期性檢查的場景。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜