ticktick-cli
使用 Python CLI 与 Dida365 Open API 交互以管理滴答清单任务/项目,适用于需要通过脚本或命令行调用滴答清单接口的场景(如项目/任务的查询、创建、更新、完成、删除)。
How do I install this agent skill?
npx skills add https://github.com/dcjanus/prompts --skill ticktick-cliIs this agent skill safe to install?
- Gen Agent Trust Hubfail
This skill contains a highly suspicious dependency 'httpxyz', which appears to be a typosquatting attempt of the popular 'httpx' library. It also requires a non-existent Python version (3.14). These issues suggest a potential supply chain attack that could be used to exfiltrate TickTick authentication tokens or execute malicious code.
- Socketpass
No alerts
- Snykwarn
Risk: MEDIUM · 1 issue
- Runlayerwarn
6/6 files flagged
What does this agent skill do?
ticktick-cli
通过本 skill 调用滴答清单 / TickTick Open API。默认中国区 Dida365;国际版只在登录时显式选择。
执行约定
- 给 Agent 解析的输出一律加
--json,并且全局参数必须放在子命令前。 - 删除项目或任务前先确认用户意图;
delete会真实删除远端数据。 - 参数不确定时先查
./scripts/ticktick_cli.py <command> --help。
认证
默认假设本地 token 有效,直接执行用户请求的操作;不要在每次操作前先跑 auth doctor。
只有命令失败且报错指向认证、token、权限、区域或 API base URL 问题时,再诊断当前本地 token:
./scripts/ticktick_cli.py --json auth doctor
确实没有 token、token 失效或用户要求重新登录时再登录:
./scripts/ticktick_cli.py auth login
- 国际版登录用
./scripts/ticktick_cli.py auth login --region ticktick。 - 默认只输出授权链接,不自动打开浏览器;需要自动打开时加
--open。 - 登录会启动 localhost callback,默认等待 5 分钟;看到链接后应尽快完成授权。
- token 默认保存到
~/.config/ticktick-cli/token.json,可用TICKTICK_TOKEN_FILE覆盖。 - 后续命令只读本地 token 文件,并从 token 元数据推断区域和 API base URL。
- 远程 SSH 场景下,浏览器 callback 必须能访问运行 CLI 的机器;必要时在目标机器本地登录,或自行做端口转发。
日常操作
常用命令族:
auth login|doctor|logoutproject list|get|data|create|update|deletetask get|create|update|complete|delete|move|completed|filterfocus get|list|deletehabit list|get|create|update|checkin|checkins
常见入口:
./scripts/ticktick_cli.py --json project list
./scripts/ticktick_cli.py --json project data --project-id <project-id>
./scripts/ticktick_cli.py --json task get --project-id <project-id> --task-id <task-id>
./scripts/ticktick_cli.py --json task filter --project-id <project-id> --status 0
创建或更新 checklist 子任务:
- 简单标题:重复传
--item。 - 复杂字段:用
--item-json传 JSON 数组,或传@path读取文件。 - 任务标签:创建/更新任务时重复传
--tag。 - 复杂 habit payload:用
--payload-json传 JSON 对象,或传@path读取文件。
如果 JSON 文件由 Agent 为当前单次写操作临时创建,且成功后不再复用,在同一次 shell
调用中把写操作与 rm -- <明确路径> 用 && 串行执行。写操作失败时保留文件,不要
使用 ; 无条件删除,也不要用变量、通配符或目录作为清理目标。用户提供的 JSON 和
后续更新或校验仍需复用的文件不得自动清理。例如:
./scripts/ticktick_cli.py --json task create \
--project-id <project-id> \
--title "任务标题" \
--item-json @/tmp/ticktick-items.json \
&& rm -- /tmp/ticktick-items.json
数据模型
- Project:任务容器,支持 list / kanban / timeline 等视图。
- Task:隶属于 Project,可包含时间、提醒、优先级、重复规则、标签与子任务。
- ChecklistItem:Task 下的子任务项。
- Column:看板列,仅在 kanban 场景常用。
- ProjectData:项目详情聚合,包含项目、未完成任务和列信息。
- Focus:专注/番茄钟记录。
- Habit:习惯与打卡记录。
参考
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/dcjanus/prompts/ticktick-cli">View ticktick-cli on skillZs</a>