用途:通过 Python CLI 与滴答清单 Open API 交互,管理任务、项目、专注记录和习惯,适合脚本或命令行调用滴答清单接口的场景。默认使用中国区 Dida365,国际版仅在登录时显式选择。
主要能力:命令族包括 auth(login/doctor/logout)、project(list/get/data/create/update/delete)、task(get/create/update/complete/delete/move/completed/filter)、focus(get/list/delete)、habit(list/get/create/update/checkin/checkins)。数据模型涵盖 Project、Task、ChecklistItem、Column、ProjectData、Focus、Habit。
使用方式:给 Agent 解析的输出一律加 --json,全局参数放在子命令前。参数不确定时先查 ./scripts/ticktick_cli.py <command> --help。默认假设本地 token 有效,直接执行操作;仅在命令失败且报错指向认证、token、权限、区域或 API base URL 问题时,再运行 ./scripts/ticktick_cli.py --json auth doctor。需要登录时运行 ./scripts/ticktick_cli.py auth login,国际版加 --region ticktick;默认只输出授权链接,加 --open 自动打开。token 默认保存到 ~/.config/ticktick-cli/token.json,可用 TICKTICK_TOKEN_FILE 覆盖。创建或更新 checklist 子任务可重复传 --item,复杂字段用 --item-json 传 JSON 数组或 @path 读文件;任务标签重复传 --tag;复杂 habit payload 用 --payload-json 传 JSON 对象或 @path。
限制:删除项目或任务前先确认用户意图,delete 会真实删除远端数据。登录会启动 localhost callback,默认等待 5 分钟,需尽快完成授权;远程 SSH 场景下浏览器 callback 必须能访问运行 CLI 的机器,必要时在目标机器本地登录或自行做端口转发。临时 JSON 文件若仅用于单次写操作,可在同一次 shell 调用中用 && 串行执行写操作与 rm -- <明确路径>,失败时保留文件,不要用 ; 无条件删除,也不要用变量、通配符或目录作为清理目标;用户提供的 JSON 及后续仍需复用的文件不得自动清理。