← 返回首页

CLI 参考

拾事的全部核心能力都以命令行原语开放,人和 AI 用同一套入口。本页与仓库内 CLI 手册保持一致,示例均可直接运行。

运行前提

需要 Node.js ≥ 22。下文示例统一简写为 pickdone——装机用户实际调用 node "%LOCALAPPDATA%\Programs\PickDone\resources\cli\pickdone.js",开发者在仓库 pickdone/ 目录下:

node cli/pickdone.js <command> [args] [--json]

给 AI 助手用时始终加 --json:输出 {ok, command, data} 包络,写操作附带 next 字段提示后续命令。

应用正在运行时,CLI 写入约 2 秒内自动同步到界面,无需重启。

通用约定

日期参数

日期参数统一支持:today / tomorrow / +3d / YYYY-MM-DD / "YYYY-MM-DD HH:mm"。

错误与退出码

错误走 stderr 并带非零退出码。常见错误码:AMBIGUOUS_MATCH(关键词命中多条,换更精确关键词或用完整 taskId,不要猜)、TASK_NOT_FOUND、NEEDS_CONFIRM(危险操作缺确认)。

返回与级联

list / search 默认最多返回 200 条(--limit 可调,上限 500);完成父任务默认连带勾选全部子任务(--no-sub-cascade 关闭)。

审计流水

每次写操作自动落审计流水(数据目录 cli-audit.jsonl),log 命令可查询——向别人汇报「AI 改了什么」时引用它。

读取命令

pickdone …作用示例
overview今日总览:完成度 / 逾期 / 无日期 / 回收站计数pickdone overview --json
list列任务:支持 --all|today|tomorrow|week|overdue|future、--done|--undone、--category、--keyword、--limitpickdone list today --undone --json
search全库搜索:按关键词搜内容与描述pickdone search "周报" --json
get查看单个任务完整字段(支持 taskId 或关键词定位)pickdone get "写周报" --json
categories分类列表(id 与名称)pickdone categories --json
stats统计:每日完成量 + 专注分钟(默认近 7 天,可 --from/--to 指定区间)pickdone stats --from 2026-08-01 --json
recycle回收站列表pickdone recycle --json
doctor环境自检(数据目录、依赖与配置体检)pickdone doctor
log审计流水查询:外部写操作历史(--n 条数,--action 过滤)pickdone log --n 20 --json

写入命令

pickdone …作用示例
add新增任务:--desc 描述、--date、--reminder、--category、--difficultypickdone add "写周报" --date friday --category 工作
done完成任务(写 completedAt)pickdone done "周报" --json
undo撤销完成pickdone undo "周报"
edit编辑:--content 新标题、--desc、--date、--reminder、--categorypickdone edit "周报" --date monday
delete删除(进回收站,可恢复)pickdone delete "旧任务"
restore从回收站恢复pickdone restore "旧任务"
import从其他应用一键迁移:滴答清单 / TickTick / Todoist 备份 CSV;--dry-run 先预览,重复任务自动去重pickdone import ticktick-backup.csv --dry-run
purge 是本接口唯一不可恢复的操作。清空回收站前必须:先跑 purge --dry-run 看清单 → 用户明确确认 → 带 --yes 执行。三者缺一不可。

番茄命令

pickdone tomato …作用示例
start开始专注(可 --task 附着任务、--minutes 自定义时长)pickdone tomato start --task "写周报" --json
stop停止 / 放弃(默认按已专注时长落账,--reason 记原因)pickdone tomato stop --reason "被人打断"
attach给进行中的番茄换绑 / 取消附着任务(--none)pickdone tomato attach "新任务"
status查看番茄状态(倒计时 / 附着任务 / 今日收成)pickdone tomato status --json

接入 AI 助手

装好拾事与 Node.js 后,把 CLI 的调用契约交给你的 AI 工具,它就能直接替你管任务。人和 AI 读写同一个本地库,不存在第二份需要同步的数据。

node "%LOCALAPPDATA%\Programs\PickDone\resources\cli\pickdone.js" skill install

Claude Code / ZCode 一条命令即完成接入;Cursor、Codex CLI、OpenCode、Gemini CLI 等其他工具,见「AI 接入」页的分平台方法。