DeepSeek Harness 的理念是「一切皆插件」。在現有的插件生態中,health/habit(健康/習慣)分類是空的,沒有任何插件能幫 Agent 計算週期性的習慣排期。dsh-wash-calendar 插件填補了這個空缺。它把「上次時間 + 間隔天數」的日期數學,轉化爲四個可直接被 Agent 調用的工具,解決「下次啥時候、這段區間內有哪些天、某天是不是、現在該怎麼辦」的問題。
核心功能¶
插件提供了四個工具函數,無需前端頁面,直接在對話中管理週期性健康習慣:
habit_next:計算今天之後的下一次習慣日,返回{ nextDate, daysUntil }。habit_schedule:枚舉某段日期區間內所有計劃中的習慣日(含首尾)。habit_check:校驗某一天是否是排期日,並給出距上次的天數{ scheduled, daysSince }。habit_advice:返回中文建議,例如「今日洗護」、「距下次洗護還有 N 天」或「已逾期 N 天,建議儘快」。
安裝與啓用¶
安裝插件需要指定 profile。推薦從 GitHub 安裝並鎖定 commit(SHA),以保障供應鏈衛生。
# 從 npm 安裝
dsh plugin --profile myprofile add dsh-wash-calendar
# 從 GitHub 安裝(鎖定 commit)
dsh plugin --profile myprofile add github:zimai233/dsh-wash-calendar#<sha>
典型用法¶
用戶可以直接用自然語言描述需求,Agent 會依次調用上述工具。
用戶輸入示例:
“我上次洗護是 2026-08-01,每 4 天一次。今天該不該洗?下次是哪天?幫我列出 8 月剩下的排期。”
Agent 調用示例:
// habit_check
{ "dateISO": "2026-08-14", "lastDate": "2026-08-01", "interval": 4 }
// -> {"scheduled":false,"daysSince":13}
// habit_next
{ "lastDate": "2026-08-01", "interval": 4, "today": "2026-08-14" }
// -> {"nextDate":"2026-08-17","daysUntil":3}
// habit_schedule
{ "lastDate": "2026-08-01", "interval": 4, "startISO": "2026-08-14", "endISO": "2026-08-31" }
// -> ["2026-08-17","2026-08-21","2026-08-25","2026-08-29"]
// habit_advice
{ "lastDate": "2026-08-01", "interval": 4, "today": "2026-08-14" }
// -> "已逾期 9 天,建議儘快"
適用場景與注意¶
該插件適用於任何基於「上次時間 + 固定間隔」的週期性任務,例如洗護、澆花、餵魚、換藥、鍛鍊、大掃除等。
在使用前,請注意以下技術細節:
- 日期格式:所有日期參數必須使用
YYYY-MM-DDISO 格式。 - 間隔範圍:
interval參數表示相鄰兩次之間的天數,取值範圍爲 1-7。 - 依賴項:插件依賴
@deepseek-ai/dsh-tools和@deepseek-ai/cordis。 - 開發方式:零構建步驟,純 ESM,發佈的包即運行時代碼。
插件以當前 DSH 進程權限運行,安裝前建議檢查源碼與許可證(MIT)。
總結¶
dsh-wash-calendar 爲 DeepSeek Harness 生態補齊了健康與習慣管理的工具鏈。通過將複雜的日期計算封裝爲標準工具,開發者無需自行編寫日期輔助函數,即可讓 Agent 處理各類週期性任務。