DSH Plugins Marketplace

DSH Plugins

Plugins

/

Notifications & Integrations

/

dsh-ticktick

z

dsh-ticktick

Manifest valid

Two-way TickTick/Dida365 (TickTick) task sync via the official OAuth Open API: pull tasks across lists, create/update/complete/delete tasks, and one-shot title-deduped sync, with a web settings panel.

UI (client)hasBundlePatch

dsh-ticktick

English | 中文

Two-way task sync with TickTick / Dida365 (滴答清单) for DeepSeek Harness, built on the official OAuth 2.0 Open API. Pull tasks across every list, create / update / complete / delete tasks, and run a one-shot dedupe sync — from the agent or the web settings panel.

Features

  • Official Open API — OAuth 2.0 authorization-code flow against the TickTick / Dida365 open platform (/open/v1), with automatic token refresh on 401.
  • Both regions — Dida365 (CN, default) and TickTick (international), selectable in the settings panel or via ticktick_config.
  • Pull — ticktick_tasks / ticktick_sync list incomplete (or completed) tasks across all lists (the 收集箱 Inbox included, even though the Open API's project list omits it), sorted by due date, with list names.
  • Push — ticktick_add creates one or more tasks (title, list by id or name — inbox / 收集箱 resolve to the Inbox, due date in ISO 8601 or bare YYYY-MM-DD, priority 0-5 or none/low/medium/high, tags, content).
  • One-shot sync — ticktick_sync with direction=pull (grouped summary) or direction=push (creates missing tasks, dedupes by title within a list, Inbox included — re-running never duplicates).
  • Maintenance — ticktick_update, ticktick_complete, ticktick_delete (project id optional; auto-resolved, Inbox included).
  • Settings panel — Settings → TickTick: configure credentials, run the authorize flow (popup + manual code paste), refresh tokens, quick-add a task (list picker shows the Inbox first, archived lists are excluded), and complete today's tasks in place.
  • Credentials and tokens persist to ~/.dsh/dsh-ticktick.json with mode 0600; ticktick_status never echoes secrets.
  • System-prompt announcement so agents know when to use the plugin.

Install

# after publishing to GitHub (repo tagged with the `dsh-plugin` topic)
dsh plugin --profile web add github:zhengjy01/dsh-ticktick

# or from npm (prebuilt install, no build approval needed)
dsh plugin --profile web add dsh-ticktick

# local development
dsh plugin --profile web add link:/path/to/dsh-ticktick

Restart dsh web. The plugin needs no build step — lib/index.js is plain ESM.

Configuration

  1. Create an app in the open platform console: https://developer.dida365.com/docs#/openapi (CN) or https://developer.ticktick.com/manage/ (international), and register the redirect URI:

    http://127.0.0.1:3080/api/dsh-ticktick/oauth/callback
    

    (use your actual dsh web port, or set a custom redirectUri — it must match exactly.)

  2. Give the plugin your client_id / client_secret, either in the settings panel (Settings → TickTick) or by asking the agent:

    帮我配置滴答清单,client_id 是 xxx,client_secret 是 yyy,区域用国内版 Dida365
    

    The agent calls ticktick_config and persists the credentials.

  3. Authorize: click 开始授权 in the panel (or ticktick_oauth_start) and log in. The callback completes automatically; if it doesn't, paste the code back and call ticktick_oauth_finish.

From then on:

把今天滴答清单里没做完的任务同步给我          → ticktick_sync (pull)
帮我把这些任务同步到滴答清单:买牛奶、写周报   → ticktick_sync (push, dedupes)
明天下午3点提醒我开会,加到「工作」清单       → ticktick_add

The client_secret and OAuth tokens are credentials: anyone holding them can read and change your tasks. They stay in ~/.dsh/dsh-ticktick.json (mode 0600); use ticktick_config(reset: true) to clear them if they leak.

API surface

ToolPurpose
ticktick_statusconnection & authorization status
ticktick_configset / clear clientId, clientSecret, region (cn/intl), redirectUri
ticktick_oauth_startbuild the authorize URL
ticktick_oauth_finishexchange a pasted code / redirect URL for tokens
ticktick_listslist all lists (id + name)
ticktick_taskspull tasks (by list, completed flag, limit)
ticktick_addcreate tasks
ticktick_updateupdate a task
ticktick_completecomplete a task
ticktick_deletedelete a task
ticktick_syncpull summary / push with title dedupe

Notes

  • Uses Node's built-in fetch (Node 22+) and crypto — zero runtime dependencies.
  • The OAuth callback route is loopback-only and verifies the OAuth state; the remaining /api/dsh-ticktick/* routes are loopback + same-origin only.
  • Not covered by the open API: smart-list filters and time-triggered reminders (reminders/repeatFlag are passed through when present, but not modeled as tool parameters).
  • The web settings panel talks to the host through the loopback-only /api/dsh-ticktick route family.

License

MIT

Compatibility

DSH 0.1.7-rc.1: failedDSH 0.1.7-rc.2: failedDSH 0.2.0-rc.1: failed

Versions

Latest versionPublishedSize
0.1.0——
0.1.1——
0.1.2——
0.1.3——
0.1.4——

Comments

Loading…

Similar plugins

dsh-ticktick

by PerryLink

TickTick (Dida365) task bridge: a session-header task panel and curated agent tools over the official TickTick MCP endpoint.

Tools & CapabilitiesManifest valid

★ 4

↓ 760/wk

Apache-2.0

TypeScript

Oct 26, 2026

dsh plugin --profile web add @perrylink/dsh-ticktick

by zhengjy01

Task dispatcher for DeepSeek Harness: use TickTick (滴答清单) as the daily task dispatcher — a cordis timer pulls today's due tasks, writes them to the task file, and notifies (WeChat via ClawBot / flomo / macOS); optional auto-execute with result receipts

Workflow & AutomationNotifications & IntegrationsDevelopment & InfrastructureManifest valid

★ 3

↓ 188/wk

MIT

JavaScript

Sep 29, 2026

dsh plugin --profile web add dsh-task-dispatcher

by AnCoSONG

DSH task-completion notifier: system notifications for turn/subagent/workflow/goal/question events. Cross-platform (macOS osascript / Linux notify-send / Windows toast).

Manifest valid

★ 0

↓ 11/wk

JavaScript

Aug 15, 2026

dsh plugin --profile web add @anco-dsh/dsh-task-notifier

一个 dsh host 层插件:用一张任务定义表驱动周期性任务,按时间窗与依赖把任务派发成独立会话执行(调度层零大模型介入)

Workflow & AutomationManifest valid

★ 2

↓ 193/wk

MIT

TypeScript

dsh plugin --profile web add dsh-task-dispatch-table

Desktop and webhook alerts on macOS, Linux and Windows when an agent finishes a turn, errors, or waits for approval — zero-dependency native notifications (osascript / notify-send / PowerShell toast)

Notifications & IntegrationsManifest valid

★ 2

↓ 562/wk

MIT

JavaScript

dsh plugin --profile web add dsh-notification

by LeslieWylie

Cross-session task queue with handoff notes: sessions and subagents push, claim, complete and cancel tasks on a shared file-backed queue, and leave a handoff summary for whoever picks up next.

Workflow & AutomationSessions & MessagesManifest valid

★ 2

MIT

TypeScript

Aug 18, 2026

dsh plugin --profile web add dsh-task-relay