← 返回
开发者工具 Key

Dida365 Cli

使用 Node.js CLI 管理滴答清单(Dida365)的任务、项目、标签等,支持已完成任务按日期查询、全量同步、标签管理、批量操作等,适用于日常任务管理与自动化场景。
使用 Node.js CLI 管理滴答清单(Dida365)的任务、项目、标签等,支持已完成任务按日期查询、全量同步、标签管理、批量操作等,适用于日常任务管理与自动化场景。
oymy
开发者工具 clawhub v3.0.3 1 版本 100000 Key: 需要
★ 7
Stars
📥 1,562
下载
💾 86
安装
1
版本
#latest

概述

说明:以下调用方式均以 dida365 为 CLI 入口。

安装后直接使用:

# npx(推荐)
npx dida365 <command> [options]

# 或全局安装后
npm install -g dida365-ai-tools
dida365 <command> [options]

1. 认证

使用前必须先设置 Cookie 认证。

dida365 auth cookie <token>     # 设置 Cookie token 完成认证
dida365 auth status             # 检查当前认证状态

2. 项目管理

dida365 project list                    # 列出所有项目
dida365 project list --json             # 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 — 项目 ID(必填)
  • -t, --title </code> — 任务标题(update 时可选)</li><li><code>-c, --content <content></code> — 任务内容</li><li><code>-d, --due <date></code> — 截止日期(ISO 8601)</li><li><code>--priority <n></code> — 优先级:0=无, 1=低, 3=中, 5=高</li><li><code>-j, --json</code> — JSON 格式输出</li></ul><h2>4. 已完成任务查询</h2><pre><code>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 输出 </code></pre><h2>5. 全量同步与用户设置</h2><pre><code>dida365 sync all # 一次拉取所有项目、任务、标签、文件夹 dida365 sync all --json dida365 sync settings # 查看用户设置(时区、日期格式等) dida365 sync settings --json dida365 sync timezone # 快速获取用户时区 </code></pre><p><code>sync all</code> 返回的数据结构:</p><ul><li><code>projects</code> — 项目列表</li><li><code>tasks</code> — 所有未完成任务</li><li><code>tags</code> — 标签列表</li><li><code>projectGroups</code> — 项目文件夹</li><li><code>inboxId</code> — 收件箱项目 ID</li></ul><h2>6. 标签管理</h2><pre><code>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...] # 删除(支持多个) </code></pre><h2>7. 批量操作</h2><h3>任务批量操作</h3><pre><code># 移动任务到其他项目 dida365 batch move-task <taskId> <fromProjectId> <toProjectId> # 设置子任务关系 dida365 batch set-subtask <taskId> <parentId> <projectId> # 批量删除任务(格式:taskId:projectId) dida365 batch delete-tasks <taskId1:projectId1> [taskId2:projectId2 ...] </code></pre><h3>项目批量操作</h3><pre><code>dida365 batch create-project <name> # 创建项目 dida365 batch create-project <name> --color "#ff0000" --group <groupId> --view kanban dida365 batch delete-projects <projectId1> [projectId2 ...] # 危险,需确认 </code></pre><h3>项目文件夹操作</h3><pre><code>dida365 batch create-folder <name> # 创建文件夹 dida365 batch delete-folders <groupId1> [groupId2 ...] </code></pre><h2>Dida365 概念模型</h2><ul><li><strong>Project</strong>:项目,任务的容器。</li><li>常用字段:<code>id</code>, <code>name</code>, <code>color</code>, <code>viewMode</code>(list/kanban/timeline), <code>kind</code>(TASK/NOTE), <code>groupId</code>, <code>closed</code>, <code>permission</code>, <code>sortOrder</code></li><li><strong>Task</strong>:任务,隶属于某个 Project。</li><li>常用字段:<code>id</code>, <code>projectId</code>, <code>title</code>, <code>content</code>, <code>desc</code>, <code>tags</code>, <code>priority</code>(0/1/3/5), <code>status</code>(0=未完成,2=已完成), <code>startDate</code>, <code>dueDate</code>, <code>timeZone</code>, <code>reminders</code>, <code>repeatFlag</code>, <code>items</code>(子任务), <code>completedTime</code>, <code>parentId</code></li><li><strong>SubTask / ChecklistItem</strong>:子任务。</li><li>常用字段:<code>id</code>, <code>title</code>, <code>status</code>(0/1), <code>completedTime</code>, <code>sortOrder</code></li><li><strong>Tag</strong>:标签,可嵌套。</li><li>常用字段:<code>name</code>, <code>color</code>, <code>parent</code>, <code>sortOrder</code>, <code>sortType</code></li><li><strong>ProjectGroup</strong>:项目文件夹,用于组织项目。</li><li>常用字段:<code>id</code>, <code>name</code>, <code>sortOrder</code></li><li><strong>Column</strong>:看板列,用于 kanban 视图。</li><li>常用字段:<code>id</code>, <code>projectId</code>, <code>name</code>, <code>sortOrder</code></li></ul><h2>私有 API 端点参考</h2><p>以下端点基于 <code>https://api.dida365.com/api/v2</code>,非官方,可能随时变更:</p><table><thead><tr><th>HTTP</th><th>Endpoint</th><th>功能</th></tr></thead><tbody><tr><td>------</td><td>----------</td><td>------</td></tr><tr><td>GET</td><td><code>/user/preferences/settings</code></td><td>用户设置</td></tr><tr><td>GET</td><td><code>/batch/check/0</code></td><td>全量同步</td></tr><tr><td>GET</td><td><code>/project/all/completed?from=&to=&limit=</code></td><td>按日期查询已完成任务</td></tr><tr><td>POST</td><td><code>/batch/task</code></td><td>批量任务操作</td></tr><tr><td>POST</td><td><code>/batch/taskParent</code></td><td>设置子任务关系</td></tr><tr><td>POST</td><td><code>/batch/taskProject</code></td><td>移动任务</td></tr><tr><td>POST</td><td><code>/batch/project</code></td><td>批量项目操作</td></tr><tr><td>POST</td><td><code>/batch/projectGroup</code></td><td>项目文件夹操作</td></tr><tr><td>POST</td><td><code>/batch/tag</code></td><td>批量标签操作</td></tr><tr><td>PUT</td><td><code>/tag/rename</code></td><td>重命名标签</td></tr><tr><td>PUT</td><td><code>/tag/merge</code></td><td>合并标签</td></tr><tr><td>DELETE</td><td><code>/tag?name=</code></td><td>删除标签</td></tr></tbody></table><h2>为什么不用 Open API</h2><p>Dida365 提供了 <a href="https://developer.dida365.com/" target="_blank" rel="noopener">Open API</a>,但其功能是私有 API 的子集,且需要注册开发者应用。本项目选择使用私有 API + Cookie 认证,覆盖更全面、配置更简单。</p><h2>资源</h2><ul><li>项目源码:<a href="https://github.com/oymy/dida365-ai-tools" target="_blank" rel="noopener">GitHub</a></li><li>私有 API 实现参考:<a href="https://github.com/lazeroffmichael/ticktick-py" target="_blank" rel="noopener">ticktick-py</a></li></ul></div> </div> </div> <div id="tab-versions" class="detail-content"> <div class="detail-section"> <h2>版本历史</h2> <p style="margin-bottom:12px;font-size:14px;color:#94a3b8;">共 1 个版本</p> <ul class="version-list"> <li> <div> <span class="version-tag">v3.0.3</span> <span style="font-size:11px;color:#5b6abf;margin-left:8px;background:#eef0ff;padding:1px 8px;border-radius:10px;">当前</span> </div> <div style="font-size:12px;color:#94a3b8;"> 2026-03-29 03:09 安全 安全 </div> </li> </ul> </div> </div> <div id="tab-security" class="detail-content"> <div class="detail-section"> <h2>安全检测</h2> <div class="sec-grid"> <div class="sec-card"> <h4>腾讯云安全 (Keen)</h4> <div class="sec-status sec-safe"> 安全,无风险 </div> <a href="https://tix.qq.com/search/skill?keyword=a4d30face6d4c0fd06f4f598f24af8eb" target="_blank">查看报告</a> </div> <div class="sec-card"> <h4>腾讯云安全 (Sanbu)</h4> <div class="sec-status sec-safe"> 安全,无风险 </div> <a href="https://static.cloudsec.tencent.com/html-report-v2/2026/05/25/396226_f63e01bf1d9659a1dac21bbad9abc571.html?q-sign-algorithm=sha1&q-ak=AKID8JMG1bzBC1dz96qNhssfFftujT1NCoFi&q-sign-time=1781386416%3B1812922416&q-key-time=1781386416%3B1812922416&q-header-list=host&q-url-param-list=&q-signature=38bbb81522d3a631a0a7fbfb3377fa847350b43c" target="_blank">查看报告</a> </div> </div> </div> </div> <!-- Recommended Skills --> <div style="margin-top:24px;"> <h2 style="font-size:18px;font-weight:600;margin-bottom:16px;">🔗 相关推荐</h2> <div class="rec-grid"> <div class="rec-card"> <span class="badge-cat" style="margin-bottom:8px;display:inline-block;">developer-tools</span> <h3><a href="/s/github">Github</a></h3> <div class="rec-owner">steipete</div> <div class="rec-desc">使用 `gh` CLI 与 GitHub 交互,通过 `gh issue`、`gh pr`、`gh run` 和 `gh api` 管理议题、PR、CI 运行及高级查询。</div> <div class="rec-stats"> <span style="color:#f39c12;">★ 670</span> <span style="color:#5b6abf;">📥 324,286</span> </div> </div> <div class="rec-card"> <span class="badge-cat" style="margin-bottom:8px;display:inline-block;">developer-tools</span> <h3><a href="/s/agent-browser-clawdbot">Agent Browser</a></h3> <div class="rec-owner">matrixy</div> <div class="rec-desc">专为AI智能体优化的无头浏览器自动化CLI,支持无障碍树快照和基于引用的元素选择。</div> <div class="rec-stats"> <span style="color:#f39c12;">★ 427</span> <span style="color:#5b6abf;">📥 118,260</span> </div> </div> <div class="rec-card"> <span class="badge-cat" style="margin-bottom:8px;display:inline-block;">developer-tools</span> <h3><a href="/s/codeconductor">CodeConductor.ai</a></h3> <div class="rec-owner">larsonreever</div> <div class="rec-desc">AI驱动平台,提供快速全栈开发、智能体、工作流自动化及低代码AI集成的可扩展产品创建。</div> <div class="rec-stats"> <span style="color:#f39c12;">★ 68</span> <span style="color:#5b6abf;">📥 180,293</span> </div> </div> </div> </div> </div> <script> document.addEventListener('DOMContentLoaded',function(){ document.querySelectorAll('.detail-tab').forEach(function(btn){ btn.addEventListener('click',function(e){ var tab = this.getAttribute('data-tab'); document.querySelectorAll('.detail-tab').forEach(function(b){b.classList.remove('active')}); document.querySelectorAll('.detail-content').forEach(function(c){c.classList.remove('active')}); this.classList.add('active'); var el = document.getElementById('tab-'+tab); if(el) el.classList.add('active'); }); }); }); </script> <div class="footer"> <p>Skill工具集 © 2026</p> </div></body> </html>