Install
openclaw skills install dida365-openapi基于滴答清单(Dida365)官方 OpenAPI 和 OAuth2 的任务管理 Skill,直连 dida365.com,不经过任何第三方服务,你的数据只在本地和滴答清单服务器之间传输。零第三方依赖,纯 Python 标准库实现。完整覆盖项目与任务的增删改查、完成、移动、筛选,支持标签、提醒、重复规则等丰富功能,并内置输入验证和灰色区域防护,确保每次 API 调用都安全可靠。详细文档与同类 Skill 对比见 GitHub:https://github.com/workingcoder/dida365-openapi 。Use when the agent needs to manage Dida365 tasks, projects, tags, reminders, or repeat rules through the official OpenAPI.
openclaw skills install dida365-openapiUse this skill to call the documented Dida365 OpenAPI surface through the bundled Python CLI.
Prefer python scripts/dida365.py ... over ad hoc curl because the bundled CLI already handles OAuth, config loading, exact project-name resolution, structured errors, and every documented endpoint.
Use Python 3.9 or newer.
The skill's default support surface is the documented API plus stable tested extensions that behaved consistently in real app/API round-trips:
kind writes for TEXT and NOTEtags writesThis skill intentionally stays on the official Dida365 OpenAPI surface. It does not use browser-cookie private APIs.
That means the following are explicit non-goals here:
If a user asks for those, state that they are outside the official API-backed scope of this skill.
python scripts/dida365.py auth setup --client-id ... --client-secret ... --redirect-uri ...python scripts/dida365.py auth login-local --client-id ... --client-secret ...python scripts/dida365.py project data --project-id inboxpython scripts/dida365.py project listpython scripts/dida365.py task create --project-id inbox --title "Example"python scripts/dida365.py task completed --start-date ... --end-date ... to query completed tasks across all projectsManual authorize-url / exchange-code flows remain supported; see references/auth-and-config.md when the localhost callback flow is not suitable.
auth for OAuth helpers, token cache inspection, and token cleanup.project for project CRUD and project data reads.task for task CRUD, complete, move, completed-task queries, and filter queries.project data --project-id inbox for inbox reads. Do not use project get --project-id inbox.--project-name only when the user gave a human-readable project name. Resolution is exact match only.--json-file or --json when the payload contains arrays or nested objects such as items, reminders, bulk move operations, or advanced filter bodies.--json-file loads a base payload, --json overrides it, and scalar flags override both.task create, task update, and task complete, prefer a read-back step when the stored result matters. Use task get to verify fields like reminders, repeatFlag, tags, and kind.kind writes are TEXT and NOTE. Use checklist items instead of direct CHECKLIST kind writes.task filter --tag-json uses any-match / OR semantics in real testing, not all-match semantics.task filter responses are capped at 200 rows for this endpoint on the tested account. Narrow the query window or add filters when completeness matters.references/api-reference.md. Do not invent undocumented values.references/api-reference.md, do not assume it is safe.{"ok": true}.${XDG_CONFIG_HOME:-~/.config}/dida365-openapi/.auth exchange-code and auth login-local persist config and token state; auth setup persists config without performing OAuth.references/auth-and-config.md for environment variables, local file locations, and localhost callback details.auth authorize-url.code: use auth exchange-code.auth login-local.auth status.auth clear-token.project data --project-id inbox.project get.project data.task filter with the local-day startDate / endDate window.task completed with a weekly date range and omit --project-id for an account-wide view.--json-file.task move --from-project-id ... --to-project-id ... --task-id ....task move --json '[{...}, {...}]'.--project-id from task completed.repeatFlag patterns.