← 返回首页

CLI 参考

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

运行前提

需要 Node.js ≥ 20;命令在仓库的 todo-app 目录下执行:

node cli/todo-cli.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 改了什么」时引用它。

读取命令

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

写入命令

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

番茄命令

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

接入 AI 助手

把 CLI 注册成 Claude、Cursor 等 AI 助手的工具,它就能直接替你管任务。仓库内附带现成的技能描述文件(todo-app/cli/SKILL.md),助手的接入配置可直接引用。人和 AI 读写同一个本地库,不存在第二份需要同步的数据。