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 处理各类周期性任务。