zhouwei713/dsh-daily-kit--packages-tasks ↗★ 0
dsh-daily-tasks
dsh plugin: tasks (developer preview)
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:zhouwei713/dsh-daily-kit#03d93caab5b846c990da8bb201d52881756ed483&path:packages/tasks说明文档
阅读完整 README ↗安装与配置
# dsh 配置示例
- id: tasks
name: dsh-daily-tasks
config:
enabled: true
provider: local # v1 仅 local;todoist / microsoft-todo 为 v2 预留
local:
dataFile: tasks-store.json # 存储文件,相对路径相对 dsh 工作目录
# defaultListLimit: 50 # task_list 默认返回上限
# summaryMaxItems: 5 # task_summary 每桶默认列出条数
权限透明
本插件对宿主环境的影响面,逐条交代清楚:
- 读写位置:仅写配置的
local.dataFile一个 JSON 文件(tmp+rename 原子写);不读取其他任何文件。 - 网络域名:无。local Provider 不发起任何网络请求。
- 凭证:不持有任何凭证(v2 远程 Provider 的凭证将只从环境变量读取,配置里只放变量名)。
- 确认点:无新增确认点。本地待办的增删改属本地 L1 写,正常开放。
- 日志内容:仅加载时写一行启动日志(任务数与存储路径);存储文件损坏时写一行警告(原文件保留,不覆盖)。
组合示例
source 字段让本插件成为其他插件的"落点":
- 与 mail 组合:"把主题含『账单』的未读邮件各建一条待办,来源记邮件 id,截止下周五。"——agent 用
mail_search找到邮件,task_add时带上source: mail:。 - 与 watcher 组合:"这个 RSS 出现含『发布』的新条目时提醒我,并转一条待办。"——watcher 投递后 agent 调
task_add记录跟进事项。 - 晨报流程:会话开场让 agent 调
task_summary,把"逾期/今日到期"两桶念给你听。
已知限制
- 无重复任务/提醒:v1 没有 recurring 任务,也没有到点提醒(提醒属 scheduler 的职责,可组合使用)。
- 截止日期精度到天:
due是YYYY-MM-DD本地日历日,不带时刻与时区。 - 单文件整体读写:每次变更重写整个 JSON 文件;个人 GTD 清单量级(千条以内)没有问题,不适合当高并发数据库用。
- 无删除工具:v1 用
task_update的cancelled状态表达"不做",已完成/已取消任务保留在文件中(可手动编辑 JSON 清理)。 - 存储明文:待办内容明文落盘,不要写入口令、密钥等敏感内容。
手动验证
本仓库的 CI 只覆盖类型检查与纯函数单测(node:test + 临时目录)。接入真实 dsh 后请手动验证:
- 在 dsh 配置中启用本插件,确认启动日志出现
tasks: loaded(provider local,任务 N 条,存储 …)。 - 调用
task_add新增两条不同优先级/截止日期的待办,确认返回的 task 字段完整,且tasks-store.json已写入。 - 调用
task_list(默认)确认只看 open;用tag/keyword/dueBefore过滤确认结果正确。 - 调用
task_update把一条置为 done,确认返回带completedAt;再置回 open 确认completedAt消失。 - 调用
task_summary,确认逾期/今日到期/本周/无日期四桶数量与手工清点一致。 - 重启 dsh,确认
task_list仍能看到之前新增的待办(跨会话持久化)。 - 手动把存储文件改坏(写入非 JSON 文本),重启确认插件以空清单启动、日志出现损坏警告,且原文件未被覆盖。
许可
MIT