| name | dida365-cli |
| description | 使用 Node.js CLI 管理滴答清单(Dida365)的任务、项目、标签等,支持已完成任务按日期查询、全量同步、标签管理、批量操作等,适用于日常任务管理与自动化场景。 |
说明:以下调用方式均以 dida365 为 CLI 入口。
安装后直接使用:
npx dida365 <command> [options]
npm install -g dida365-ai-tools
dida365 <command> [options]
1. 认证
使用前必须先设置 Cookie 认证。
dida365 auth cookie <token>
dida365 auth status
2. 项目管理
dida365 project list
dida365 project list --json
dida365 project show <projectId>
dida365 project show <projectId> --json
3. 任务管理
dida365 task create <title> -p <projectId>
dida365 task create <title> -p <projectId> -c <content> --priority <0|1|3|5> -d <dueDate>
dida365 task show <taskId>
dida365 task show <taskId> --json
dida365 task update <taskId> -p <projectId> -t <newTitle>
dida365 task update <taskId> -p <projectId> -c <content> --priority <0|1|3|5> -d <dueDate>
dida365 task complete <projectId> <taskId>
dida365 task delete <projectId> <taskId>
参数说明:
-p, --project <projectId> — 项目 ID(必填)
-t, --title <title> — 任务标题(update 时可选)
-c, --content <content> — 任务内容
-d, --due <date> — 截止日期(ISO 8601)
--priority <n> — 优先级:0=无, 1=低, 3=中, 5=高
-j, --json — JSON 格式输出
4. 已完成任务查询
dida365 completed today
dida365 completed yesterday
dida365 completed week
dida365 completed date <YYYY-MM-DD>
dida365 completed range <startDate> <endDate>
dida365 completed today --timezone "Asia/Shanghai"
dida365 completed today --json
5. 全量同步与用户设置
dida365 sync all
dida365 sync all --json
dida365 sync settings
dida365 sync settings --json
dida365 sync timezone
sync all 返回的数据结构:
projects — 项目列表
tasks — 所有未完成任务
tags — 标签列表
projectGroups — 项目文件夹
inboxId — 收件箱项目 ID
6. 标签管理
dida365 tag list
dida365 tag list --json
dida365 tag create <name>
dida365 tag create <name> --color "#ff0000" --parent <parentTag>
dida365 tag rename <oldName> <newName>
dida365 tag color <name> <color>
dida365 tag nest <name> <parentTag>
dida365 tag merge <fromTag> <toTag>
dida365 tag delete <name1> [name2...]
7. 批量操作
任务批量操作
dida365 batch move-task <taskId> <fromProjectId> <toProjectId>
dida365 batch set-subtask <taskId> <parentId> <projectId>
dida365 batch delete-tasks <taskId1:projectId1> [taskId2:projectId2 ...]
项目批量操作
dida365 batch create-project <name>
dida365 batch create-project <name> --color "#ff0000" --group <groupId> --view kanban
dida365 batch delete-projects <projectId1> [projectId2 ...]
项目文件夹操作
dida365 batch create-folder <name>
dida365 batch delete-folders <groupId1> [groupId2 ...]
Dida365 概念模型
- Project:项目,任务的容器。
- 常用字段:
id, name, color, viewMode(list/kanban/timeline), kind(TASK/NOTE), groupId, closed, permission, sortOrder
- Task:任务,隶属于某个 Project。
- 常用字段:
id, projectId, title, content, desc, tags, priority(0/1/3/5), status(0=未完成,2=已完成), startDate, dueDate, timeZone, reminders, repeatFlag, items(子任务), completedTime, parentId
- SubTask / ChecklistItem:子任务。
- 常用字段:
id, title, status(0/1), completedTime, sortOrder
- Tag:标签,可嵌套。
- 常用字段:
name, color, parent, sortOrder, sortType
- ProjectGroup:项目文件夹,用于组织项目。
- Column:看板列,用于 kanban 视图。
- 常用字段:
id, projectId, name, sortOrder
私有 API 端点参考
以下端点基于 https://api.dida365.com/api/v2,非官方,可能随时变更:
| HTTP | Endpoint | 功能 |
|---|
| GET | /user/preferences/settings | 用户设置 |
| GET | /batch/check/0 | 全量同步 |
| GET | /project/all/completed?from=&to=&limit= | 按日期查询已完成任务 |
| POST | /batch/task | 批量任务操作 |
| POST | /batch/taskParent | 设置子任务关系 |
| POST | /batch/taskProject | 移动任务 |
| POST | /batch/project | 批量项目操作 |
| POST | /batch/projectGroup | 项目文件夹操作 |
| POST | /batch/tag | 批量标签操作 |
| PUT | /tag/rename | 重命名标签 |
| PUT | /tag/merge | 合并标签 |
| DELETE | /tag?name= | 删除标签 |
为什么不用 Open API
Dida365 提供了 Open API,但其功能是私有 API 的子集,且需要注册开发者应用。本项目选择使用私有 API + Cookie 认证,覆盖更全面、配置更简单。
资源