Note: The following invocation methods all use dida365 as the CLI entry point.
Use directly after installation:
# npx(推荐)
npx dida365 <command> [options]
# 或全局安装后
npm install -g dida365-ai-tools
dida365 <command> [options]
1. Authentication
Cookie authentication must be set before use.
dida365 auth cookie <token> # 设置 Cookie token 完成认证
dida365 auth status # 检查当前认证状态
2. Project Management
dida365 project list # 列出所有项目
dida365 project list --json # JSON 格式输出
dida365 project show <projectId> # 查看项目详情和任务列表
dida365 project show <projectId> --json
3. Task Management
# 创建任务
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>
Parameter description:
-p, --project <projectId>— Project ID (required)-t, --title <title>— Task title (optional for update)-c, --content <content>— Task content-d, --due <date>— Due date (ISO 8601)--priority <n>— Priority: 0=none, 1=low, 3=medium, 5=high-j, --json— JSON format output
4. Query Completed Tasks
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 # JSON 输出
5. Full Synchronization and User Settings
dida365 sync all # 一次拉取所有项目、任务、标签、文件夹
dida365 sync all --json
dida365 sync settings # 查看用户设置(时区、日期格式等)
dida365 sync settings --json
dida365 sync timezone # 快速获取用户时区
sync all Returned data structure:
projects— Project listtasks— All incomplete taskstags— Tag listprojectGroups— Project foldersinboxId— Inbox project ID
6. Tag Management
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> # 合并标签(fromTag 任务归入 toTag)
dida365 tag delete <name1> [name2...] # 删除(支持多个)
7. Batch Operations
Batch Task Operations
# 移动任务到其他项目
dida365 batch move-task <taskId> <fromProjectId> <toProjectId>
# 设置子任务关系
dida365 batch set-subtask <taskId> <parentId> <projectId>
# 批量删除任务(格式:taskId:projectId)
dida365 batch delete-tasks <taskId1:projectId1> [taskId2:projectId2 ...]
Batch Project Operations
dida365 batch create-project <name> # 创建项目
dida365 batch create-project <name> --color "#ff0000" --group <groupId> --view kanban
dida365 batch delete-projects <projectId1> [projectId2 ...] # 危险,需确认
Project Folder Operations
dida365 batch create-folder <name> # 创建文件夹
dida365 batch delete-folders <groupId1> [groupId2 ...]
Dida365 Conceptual Model
- Project: Project, a container for tasks.
- Common fields:
id,name,color,viewMode(list/kanban/timeline),kind(TASK/NOTE),groupId,closed,permission,sortOrder
- Common fields:
- Task: Task, belonging to a Project.
- Common fields:
id,projectId,title,content,desc,tags,priority(0/1/3/5),status(0=incomplete, 2=completed),startDate,dueDate,timeZone,reminders,repeatFlag,items(subtask),completedTime,parentId
- Common fields:
- SubTask / ChecklistItem: Subtask.
- Common fields:
id,title,status(0/1),completedTime,sortOrder
- Common fields:
- Tag: Tag, can be nested.
- Common fields:
name,color,parent,sortOrder,sortType
- Common fields:
- ProjectGroup: Project folder, used to organize projects.
- Common fields:
id,name,sortOrder
- Common fields:
- Column: Kanban column, used for kanban view.
- Common fields:
id,projectId,name,sortOrder
- Common fields:
Private API Endpoint Reference
The following endpoints are based on https://api.dida365.com/api/v2, unofficial, and may change at any time:
| HTTP | Endpoint | Function |
|---|---|---|
| GET | /user/preferences/settings |
User Settings |
| GET | /batch/check/0 |
Full Synchronization |
| GET | /project/all/completed?from=&to=&limit= |
Query completed tasks by date |
| POST | /batch/task |
Batch task operations |
| POST | /batch/taskParent |
Set subtask relationship |
| POST | /batch/taskProject |
Move task |
| POST | /batch/project |
Batch project operations |
| POST | /batch/projectGroup |
Project folder operations |
| POST | /batch/tag |
Batch tag operations |
| PUT | /tag/rename |
Rename tag |
| PUT | /tag/merge |
Merge tags |
| DELETE | /tag?name= |
Delete tag |
Why Not Use the Open API
Dida365 provides Open API, but its functionality is a subset of the private API and requires registering a developer application. This project chooses to use the private API + Cookie authentication, offering more comprehensive coverage and simpler configuration.
Resources
- Project source code:GitHub
- Private API implementation reference:ticktick-py