{
  "schemaVersion": "1.0",
  "item": {
    "slug": "dida365-cli",
    "name": "Dida365 Cli",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/oymy/dida365-cli",
    "canonicalUrl": "https://clawhub.ai/oymy/dida365-cli",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/dida365-cli",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=dida365-cli",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/dida365-cli"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/dida365-cli",
    "agentPageUrl": "https://openagent3.xyz/skills/dida365-cli/agent",
    "manifestUrl": "https://openagent3.xyz/skills/dida365-cli/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/dida365-cli/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "1. 认证",
        "body": "使用前必须先设置 Cookie 认证。\n\ndida365 auth cookie <token>     # 设置 Cookie token 完成认证\ndida365 auth status             # 检查当前认证状态"
      },
      {
        "title": "2. 项目管理",
        "body": "dida365 project list                    # 列出所有项目\ndida365 project list --json             # JSON 格式输出\ndida365 project show <projectId>        # 查看项目详情和任务列表\ndida365 project show <projectId> --json"
      },
      {
        "title": "3. 任务管理",
        "body": "# 创建任务\ndida365 task create <title> -p <projectId>\ndida365 task create <title> -p <projectId> -c <content> --priority <0|1|3|5> -d <dueDate>\n\n# 查看任务\ndida365 task show <taskId>\ndida365 task show <taskId> --json\n\n# 更新任务\ndida365 task update <taskId> -p <projectId> -t <newTitle>\ndida365 task update <taskId> -p <projectId> -c <content> --priority <0|1|3|5> -d <dueDate>\n\n# 完成任务\ndida365 task complete <projectId> <taskId>\n\n# 删除任务（危险操作，删除前需确认）\ndida365 task delete <projectId> <taskId>\n\n参数说明：\n\n-p, --project <projectId> — 项目 ID（必填）\n-t, --title <title> — 任务标题（update 时可选）\n-c, --content <content> — 任务内容\n-d, --due <date> — 截止日期（ISO 8601）\n--priority <n> — 优先级：0=无, 1=低, 3=中, 5=高\n-j, --json — JSON 格式输出"
      },
      {
        "title": "4. 已完成任务查询",
        "body": "dida365 completed today                              # 今天完成的\ndida365 completed yesterday                          # 昨天完成的\ndida365 completed week                               # 本周完成的\ndida365 completed date <YYYY-MM-DD>                  # 指定日期\ndida365 completed range <startDate> <endDate>        # 日期范围\ndida365 completed today --timezone \"Asia/Shanghai\"   # 指定时区\ndida365 completed today --json                       # JSON 输出"
      },
      {
        "title": "5. 全量同步与用户设置",
        "body": "dida365 sync all                # 一次拉取所有项目、任务、标签、文件夹\ndida365 sync all --json\ndida365 sync settings           # 查看用户设置（时区、日期格式等）\ndida365 sync settings --json\ndida365 sync timezone           # 快速获取用户时区\n\nsync all 返回的数据结构：\n\nprojects — 项目列表\ntasks — 所有未完成任务\ntags — 标签列表\nprojectGroups — 项目文件夹\ninboxId — 收件箱项目 ID"
      },
      {
        "title": "6. 标签管理",
        "body": "dida365 tag list                            # 列出所有标签\ndida365 tag list --json\ndida365 tag create <name>                   # 创建标签\ndida365 tag create <name> --color \"#ff0000\" --parent <parentTag>\ndida365 tag rename <oldName> <newName>      # 重命名\ndida365 tag color <name> <color>            # 修改颜色\ndida365 tag nest <name> <parentTag>         # 设置父标签（层级关系）\ndida365 tag merge <fromTag> <toTag>         # 合并标签（fromTag 任务归入 toTag）\ndida365 tag delete <name1> [name2...]       # 删除（支持多个）"
      },
      {
        "title": "任务批量操作",
        "body": "# 移动任务到其他项目\ndida365 batch move-task <taskId> <fromProjectId> <toProjectId>\n\n# 设置子任务关系\ndida365 batch set-subtask <taskId> <parentId> <projectId>\n\n# 批量删除任务（格式：taskId:projectId）\ndida365 batch delete-tasks <taskId1:projectId1> [taskId2:projectId2 ...]"
      },
      {
        "title": "项目批量操作",
        "body": "dida365 batch create-project <name>                 # 创建项目\ndida365 batch create-project <name> --color \"#ff0000\" --group <groupId> --view kanban\ndida365 batch delete-projects <projectId1> [projectId2 ...]  # 危险，需确认"
      },
      {
        "title": "项目文件夹操作",
        "body": "dida365 batch create-folder <name>                  # 创建文件夹\ndida365 batch delete-folders <groupId1> [groupId2 ...]"
      },
      {
        "title": "Dida365 概念模型",
        "body": "Project：项目，任务的容器。\n\n常用字段：id, name, color, viewMode(list/kanban/timeline), kind(TASK/NOTE), groupId, closed, permission, sortOrder\n\n\nTask：任务，隶属于某个 Project。\n\n常用字段：id, projectId, title, content, desc, tags, priority(0/1/3/5), status(0=未完成,2=已完成), startDate, dueDate, timeZone, reminders, repeatFlag, items(子任务), completedTime, parentId\n\n\nSubTask / ChecklistItem：子任务。\n\n常用字段：id, title, status(0/1), completedTime, sortOrder\n\n\nTag：标签，可嵌套。\n\n常用字段：name, color, parent, sortOrder, sortType\n\n\nProjectGroup：项目文件夹，用于组织项目。\n\n常用字段：id, name, sortOrder\n\n\nColumn：看板列，用于 kanban 视图。\n\n常用字段：id, projectId, name, sortOrder"
      },
      {
        "title": "私有 API 端点参考",
        "body": "以下端点基于 https://api.dida365.com/api/v2，非官方，可能随时变更：\n\nHTTPEndpoint功能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=删除标签"
      },
      {
        "title": "为什么不用 Open API",
        "body": "Dida365 提供了 Open API，但其功能是私有 API 的子集，且需要注册开发者应用。本项目选择使用私有 API + Cookie 认证，覆盖更全面、配置更简单。"
      },
      {
        "title": "资源",
        "body": "项目源码：GitHub\n私有 API 实现参考：ticktick-py"
      }
    ],
    "body": "说明：以下调用方式均以 dida365 为 CLI 入口。\n\n安装后直接使用：\n\n# npx（推荐）\nnpx dida365 <command> [options]\n\n# 或全局安装后\nnpm install -g dida365-ai-tools\ndida365 <command> [options]\n\n1. 认证\n\n使用前必须先设置 Cookie 认证。\n\ndida365 auth cookie <token>     # 设置 Cookie token 完成认证\ndida365 auth status             # 检查当前认证状态\n\n2. 项目管理\ndida365 project list                    # 列出所有项目\ndida365 project list --json             # JSON 格式输出\ndida365 project show <projectId>        # 查看项目详情和任务列表\ndida365 project show <projectId> --json\n\n3. 任务管理\n# 创建任务\ndida365 task create <title> -p <projectId>\ndida365 task create <title> -p <projectId> -c <content> --priority <0|1|3|5> -d <dueDate>\n\n# 查看任务\ndida365 task show <taskId>\ndida365 task show <taskId> --json\n\n# 更新任务\ndida365 task update <taskId> -p <projectId> -t <newTitle>\ndida365 task update <taskId> -p <projectId> -c <content> --priority <0|1|3|5> -d <dueDate>\n\n# 完成任务\ndida365 task complete <projectId> <taskId>\n\n# 删除任务（危险操作，删除前需确认）\ndida365 task delete <projectId> <taskId>\n\n\n参数说明：\n\n-p, --project <projectId> — 项目 ID（必填）\n-t, --title <title> — 任务标题（update 时可选）\n-c, --content <content> — 任务内容\n-d, --due <date> — 截止日期（ISO 8601）\n--priority <n> — 优先级：0=无, 1=低, 3=中, 5=高\n-j, --json — JSON 格式输出\n4. 已完成任务查询\ndida365 completed today                              # 今天完成的\ndida365 completed yesterday                          # 昨天完成的\ndida365 completed week                               # 本周完成的\ndida365 completed date <YYYY-MM-DD>                  # 指定日期\ndida365 completed range <startDate> <endDate>        # 日期范围\ndida365 completed today --timezone \"Asia/Shanghai\"   # 指定时区\ndida365 completed today --json                       # JSON 输出\n\n5. 全量同步与用户设置\ndida365 sync all                # 一次拉取所有项目、任务、标签、文件夹\ndida365 sync all --json\ndida365 sync settings           # 查看用户设置（时区、日期格式等）\ndida365 sync settings --json\ndida365 sync timezone           # 快速获取用户时区\n\n\nsync all 返回的数据结构：\n\nprojects — 项目列表\ntasks — 所有未完成任务\ntags — 标签列表\nprojectGroups — 项目文件夹\ninboxId — 收件箱项目 ID\n6. 标签管理\ndida365 tag list                            # 列出所有标签\ndida365 tag list --json\ndida365 tag create <name>                   # 创建标签\ndida365 tag create <name> --color \"#ff0000\" --parent <parentTag>\ndida365 tag rename <oldName> <newName>      # 重命名\ndida365 tag color <name> <color>            # 修改颜色\ndida365 tag nest <name> <parentTag>         # 设置父标签（层级关系）\ndida365 tag merge <fromTag> <toTag>         # 合并标签（fromTag 任务归入 toTag）\ndida365 tag delete <name1> [name2...]       # 删除（支持多个）\n\n7. 批量操作\n任务批量操作\n# 移动任务到其他项目\ndida365 batch move-task <taskId> <fromProjectId> <toProjectId>\n\n# 设置子任务关系\ndida365 batch set-subtask <taskId> <parentId> <projectId>\n\n# 批量删除任务（格式：taskId:projectId）\ndida365 batch delete-tasks <taskId1:projectId1> [taskId2:projectId2 ...]\n\n项目批量操作\ndida365 batch create-project <name>                 # 创建项目\ndida365 batch create-project <name> --color \"#ff0000\" --group <groupId> --view kanban\ndida365 batch delete-projects <projectId1> [projectId2 ...]  # 危险，需确认\n\n项目文件夹操作\ndida365 batch create-folder <name>                  # 创建文件夹\ndida365 batch delete-folders <groupId1> [groupId2 ...]\n\nDida365 概念模型\nProject：项目，任务的容器。\n常用字段：id, name, color, viewMode(list/kanban/timeline), kind(TASK/NOTE), groupId, closed, permission, sortOrder\nTask：任务，隶属于某个 Project。\n常用字段：id, projectId, title, content, desc, tags, priority(0/1/3/5), status(0=未完成,2=已完成), startDate, dueDate, timeZone, reminders, repeatFlag, items(子任务), completedTime, parentId\nSubTask / ChecklistItem：子任务。\n常用字段：id, title, status(0/1), completedTime, sortOrder\nTag：标签，可嵌套。\n常用字段：name, color, parent, sortOrder, sortType\nProjectGroup：项目文件夹，用于组织项目。\n常用字段：id, name, sortOrder\nColumn：看板列，用于 kanban 视图。\n常用字段：id, projectId, name, sortOrder\n私有 API 端点参考\n\n以下端点基于 https://api.dida365.com/api/v2，非官方，可能随时变更：\n\nHTTP\tEndpoint\t功能\nGET\t/user/preferences/settings\t用户设置\nGET\t/batch/check/0\t全量同步\nGET\t/project/all/completed?from=&to=&limit=\t按日期查询已完成任务\nPOST\t/batch/task\t批量任务操作\nPOST\t/batch/taskParent\t设置子任务关系\nPOST\t/batch/taskProject\t移动任务\nPOST\t/batch/project\t批量项目操作\nPOST\t/batch/projectGroup\t项目文件夹操作\nPOST\t/batch/tag\t批量标签操作\nPUT\t/tag/rename\t重命名标签\nPUT\t/tag/merge\t合并标签\nDELETE\t/tag?name=\t删除标签\n为什么不用 Open API\n\nDida365 提供了 Open API，但其功能是私有 API 的子集，且需要注册开发者应用。本项目选择使用私有 API + Cookie 认证，覆盖更全面、配置更简单。\n\n资源\n项目源码：GitHub\n私有 API 实现参考：ticktick-py"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/oymy/dida365-cli",
    "publisherUrl": "https://clawhub.ai/oymy/dida365-cli",
    "owner": "oymy",
    "version": "3.0.3",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/dida365-cli",
    "downloadUrl": "https://openagent3.xyz/downloads/dida365-cli",
    "agentUrl": "https://openagent3.xyz/skills/dida365-cli/agent",
    "manifestUrl": "https://openagent3.xyz/skills/dida365-cli/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/dida365-cli/agent.md"
  }
}