JSON-first CLI for Dida365 / TickTick
DidaCLI builds as a single Go binary with no external Go modules. It keeps Web API cookie auth, Official MCP tokens, and OpenAPI OAuth separate. Commands return a consistent JSON envelope.
$ dida task today --compact --jsonnpm i -g @delicious233/dida-cli # npm
curl -fsSL https://raw.githubusercontent.com/DeliciousBuding/dida-cli/main/install.sh | sh
iwr https://raw.githubusercontent.com/DeliciousBuding/dida-cli/main/install.ps1 -UseB | iexAll install options
npm install -g @delicious233/dida-clicurl -fsSL https://raw.githubusercontent.com/DeliciousBuding/dida-cli/main/install.sh | shiwr https://raw.githubusercontent.com/DeliciousBuding/dida-cli/main/install.ps1 -UseB | iexgo install github.com/DeliciousBuding/dida-cli/cmd/dida@latestDIDA_VERSION=vX.Y.Z curl -fsSL https://raw.githubusercontent.com/DeliciousBuding/dida-cli/main/install.sh | shAfter install:
dida version && dida doctor --json
dida upgrade --check# 1. Login with the Dida365 browser cookie named "t"
dida auth cookie set --token-stdin --json
# Optional browser capture path
dida auth login --browser --json
# 2. Verify
dida doctor --verify --json
# 3. See today
dida +today --json
# 4. Create a task (preview first)
dida task create --project <id> --title "Ship v1" --dry-run --jsonRead
dida task today --json
dida task upcoming --days 14 --json
dida task search --query "exam" --json
dida project list --json
dida tag list --json
dida completed today --json
dida pomo stats --jsonWrite
dida task create --project <id> --title "New task" --json
dida task update <id> --project <p> --title "Updated" --json
dida task complete <id> --project <p> --json
dida task move <id> --from <p> --to <p> --json
dida task delete <id> --project <p> --yes --jsonOfficial channels (MCP & OpenAPI)
# MCP (token)
DIDA365_TOKEN=dp_xxx dida official project list --json
# OpenAPI (OAuth)
dida openapi client set --id <id> --secret-stdin --json
dida openapi login --browser --json
dida openapi project list --jsonFull reference: docs/commands.md
| Web API | Official MCP | Official OpenAPI | |
|---|---|---|---|
| Auth | Browser cookie | Token | OAuth |
| Coverage | Web API resources outside official channels | MCP tool-based | Standard REST |
| Setup | One login | Get token | Register app |
The three auth channels stay separate.
dida schema list --compact --json # discover commands
dida agent context --outline --json # build context
dida task create ... --dry-run --json # preview writes| Agent | Install |
|---|---|
| Claude Code | Copy skills/dida-cli/SKILL.md |
| Codex / Others | See docs/skill-installation.md |
Preview resource writes with --dry-run when supported. Destructive commands require --yes. The CLI does not print full token values. See Agent Usage.
git clone https://github.com/DeliciousBuding/dida-cli.git && cd dida-cli
go test ./... && go build -o bin/dida ./cmd/didaSee CONTRIBUTING.md.
DidaCLI is an independent open-source CLI for Dida365 / TickTick-compatible workflows. Use it with accounts and automations you control, subject to the upstream services' terms.