DSH Plugins Marketplace

DSH Plugins

Plugins

/

Tools & Capabilities

/

dsh-ticktick

P

dsh-ticktick

Manifest valid★ 4

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

UI (client)hasBundlePatch

dsh-ticktick

License Node DSH plugin dsh-doctor DSH Market Gitee CI Version npm version npm downloads dshfind

English | 中文 | Español | Português | हिन्दी

TickTick / Dida365 (滴答清单) task bridge for DeepSeek Harness: a Session-header task panel (list filter, quick add, complete, delete, due dates, drag reorder), eleven curated agent tools, a configuration page on the Plugins page, and a typed Remote service — all over the official TickTick MCP endpoint.

Compatibility

SurfaceStatus
HarnessDeepSeek Harness dsh-v0.1.7-alpha.2 (GitHub tag). npm dependency line: @deepseek-ai/dsh 0.1.7-alpha.2 (peers >=0.1.7-alpha.1 <0.2.0). Verified against the dsh-v0.1.7-alpha.2 checkout (full gate chain + profile install smoke).
Node^22.19.0 || >=24.0.0

Features

  • Session-header panel — the ticktick action in the Session header opens a popup: filter by list (All + every list), toggle undone/completed views, full-text search, add tasks with an optional due date, complete, delete (with confirm), set/clear due dates with overdue/today/tomorrow chips, and drag-reorder (undone, single-list views). A status dot shows the connection state; when no token is configured the panel offers one-step in-panel token setup.
  • Eleven agent tools — ticktick_status, ticktick_lists, ticktick_tasks, ticktick_add, ticktick_complete, ticktick_delete, ticktick_due, ticktick_reorder, ticktick_completed, ticktick_search, ticktick_batch_add; Code Mode gets await tools.ticktick_*(args) for free.
  • Configuration page — Plugins page → the TickTick row → Configure: API token (secret), token file, MCP endpoint with CN/International presets, protected task ids (all four applied live, no restart), a Test-connection button, and a Clear-credentials button.
  • Live token re-read — the Bearer token is re-read per request (card secret > token file, default $DSH_HOME/.ticktick-token); a 401 resets the client so a rotated token activates without restart.
  • Measured workarounds — the TickTick MCP server rejects update_task for tasks inside regular projects ("Expecting value: line 1 column 1"); the bridge retries via a move-to-inbox → update → move-back detour. Lists that fail server-side validation (historical repeatFrom: '' data) are skipped and reported as warnings, never silently dropped.
  • Protected ids — mutating operations refuse tasks on the protected-id list before any wire call.
  • Multi-device sync — every write lands on the TickTick cloud account, so the phone/desktop/web apps see it; every read fetches current state.

Install

# npm (published artifact includes lib/, no build permission needed)
dsh plugin --profile web add @perrylink/dsh-ticktick

# git source (pin a commit; pnpm asks you to allow the prepare build once)
dsh plugin --profile web add "github:PerryLink/dsh-ticktick#<sha>"

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

Restart dsh web (bundle plugins activate on restart). The ticktick action appears in the Session header; its configuration page opens from the Configure control on the TickTick row of the Plugins page.

Configuration

  1. Get an API 口令 (a dp_-prefixed token) from the Dida365/TickTick web app: Profile → Settings → Account & Security → API 口令.
  2. Pick one of three token sources (priority order): the TickTick configuration page's secret field (Plugins page → the TickTick row → Configure), the DIDA365_TOKEN environment variable, or a token file (default $DSH_HOME/.ticktick-token, one line). Writing the file activates the bridge without any config change.
  3. Use the card's Test connection button to verify the token, and Clear credentials to wipe it.
KeyDefaultMeaning
tokenFile''Path to a text file holding the token; empty resolves to $DSH_HOME/.ticktick-token
mcpUrlhttps://mcp.dida365.comTickTick MCP endpoint (the international endpoint is unverified — see below)
toolCallTimeoutMs30000Per tools/call deadline in milliseconds
protectedTaskIds[]Task ids every mutating operation refuses
tools.*'' eachRaw MCP tool-name pins (projects/tasks/create/complete/remove/update/move); '' = discover by pattern

Agent tools

ToolPurpose
ticktick_statusconnection state: token configured, client connected, endpoint, last error
ticktick_listsevery list (project), the virtual Inbox included
ticktick_tasksundone tasks: one list or all aggregated, with per-list warnings
ticktick_addcreate a task (list, optional ISO due date)
ticktick_completecomplete a task (task id + list id)
ticktick_deletedelete a task (task id + list id)
ticktick_dueset/clear a due date (omit the date to clear)
ticktick_reorderassign a new integer sortOrder (lists order by descending sortOrder)
ticktick_completedtasks completed within a window (default 30 days), optionally one list
ticktick_searchfull-text search over tasks (the official search tool)
ticktick_batch_addcreate several tasks in one call

Architecture

browser panel ── ctx.remote.ticktick.* ──▶ TicktickService (Typert Remote)
configuration page ── ctx.configForms ──▶ profile entry "ticktick" (Volatile Config)
agent tools ─── ctx.tools (ticktick_*) ──▶ the same service
                    │
                    ▼
        minimal streamable-HTTP MCP client
        (session id, protocol version, Retry-After)
                    │
                    ▼
        https://mcp.dida365.com  (official TickTick MCP)

Known limitations

  • The international TickTick endpoint is unverified: mcpUrl defaults to the CN endpoint, and the international MCP URL has not been probed.
  • The completed view, search, and batch add ride the MCP tools list_completed_tasks_by_date, search, and batch_add_tasks; their wire contracts come from the published catalogue (dida365-sdk stubs) and re-verification against the live endpoint is pending — run probes/probe-queries.mjs with a real token before claiming them verified.
  • The measured update_task crash and the list-validation failure are server-side behaviors; probes/ re-verifies them against the live endpoint before a release (run with DIDA365_TOKEN exported).
  • The /api surface the panel uses is the standard harness Typert gateway; the token is stored locally (settings document or token file) and sent only to TickTick's own servers. Do not expose a dsh web instance to the public internet.

Verify the bridge against the live endpoint

# PowerShell
$env:DIDA365_TOKEN='dp_...'
node probes/probe-bootstrap.mjs      # handshake + tool catalogue
node probes/probe-crud.mjs           # create/complete/delete round trip
node probes/probe-due.mjs            # due dates (+ detour with a PROJECT_ID)
node probes/probe-reorder.mjs        # sortOrder semantics
node probes/probe-queries.mjs        # P2 query-tool contract discovery

Uninstall

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

Restart dsh web. All runtime registrations (tools, panel, configuration page, prompt section) are removed with the plugin. The only static residue is the token in the user settings document — clear it first with the Clear credentials button on the TickTick configuration page (or remove the token file / DIDA365_TOKEN variable) to detach completely. To keep the package installed but inactive, disable the row instead:

- id: ticktick
  disabled: true

Install from the DSH Desktop Market

All PerryLink plugins are browsable in the built-in DSH Desktop Market: Market → Sources → add source → paste https://perrylink-dsh-catalog.perrylink.workers.dev/catalog-source.json → select it. Installation still goes through the Market's npm-identity verification and your confirmation.

PerryLink DSH Plugin Family

This project is one of the 45 DeepSeek Harness plugins maintained by PerryLink. If this one helps you, the others likely will too:

PluginOne-liner
dsh-auto-reviewSecond-model auto-review on the approval chain, fail-closed by default
dsh-autotierAutomatic strong/cheap model-tier routing with deterministic risk guards and a /tier command
dsh-background-agentsDurable background child agents with a Web UI sidebar, messaging and interrupt
dsh-budgetCost governance for DeepSeek Harness: budgets, carbon, and latency in one panel.
dsh-catalogDSH Desktop Market standard catalog source for the PerryLink family
dsh-cert-mcpRead-only MCP server exposing the certification registry: grades, snapshots and five-dimension evidence
dsh-checkpoint-rewindClaude Code /rewind-equivalent: snapshots, session forks, one-shot restore
dsh-claude-moveMigrate Claude Code sessions, memory, skills and CLAUDE.md into DSH
dsh-clickCross-platform native desktop control for DeepSeek Harness — Windows first.
dsh-composer-historyTerminal-style input history for the web composer: arrows, Ctrl+R search
dsh-data-qualityDataset quality checks and citation cross-checks (the optional numeric bridge consumed here)
dsh-defendPrompt-injection, jailbreak, and secret-leak defense for DeepSeek Harness.
dsh-doublecheckEngineering-discipline guard: requirements grill, test gates, adversary review
dsh-drawUnified static-image generation routing for DeepSeek Harness.
dsh-fastRead-only performance diagnostics for DeepSeek Harness.
dsh-fund-researchDeterministic research reports for Chinese public mutual funds
dsh-githubGitHub PR/issues integration for DSH, every write gated by approval
dsh-industry-researchIndustry research orchestration that seals its deliverables through this plugin's ctx.researchReport.assemble
dsh-layaLaya typed decisions (noul/choice/score) as a first-class Cordis service and model-visible tools
dsh-libraryLocal document knowledge base for DeepSeek Harness.
dsh-local-aiLocal-model (Ollama) integration for DeepSeek Harness.
dsh-lsp-actionsLSP diagnostics, formatting, completion, code actions and rename over language servers
dsh-maskPII masking middleware: anonymize at the model boundary, restore at the display layer
dsh-mcp-panelRead-only MCP runtime panel: /mcp command + Settings tab with status, tools and errors
dsh-mementoApproval-gated cross-session memory: ctx.memory seam + SQLite + memory tool
dsh-observeOpenTelemetry and Langfuse observability exporter for DeepSeek Harness.
dsh-output-stylesClaude Code outputStyles-equivalent runtime style switching
dsh-permission-rulesClaude Code-style declarative allow/deny/ask permission rules with audit
dsh-plugin-certificationCommunity certification registry with repro-checkable grades and badges
dsh-plugin-doctorZero-dependency static + sandbox smoke detector for DSH plugins
dsh-plugin-guidePlugin-development knowledge base as an on-demand agent skill
dsh-plugin-kitShared zero-runtime-dependency toolkit for the PerryLink DSH plugins
dsh-plugin-upgradeOne-package, one-corridor-index plugin upgrade skill: routes a repository to the matching closed corridor card
dsh-plugin-upgrade-015Merged 0.1.3-alpha.1 → 0.1.5-rc.1 upgrade corridor card plus a zero-dependency seam scanner
dsh-reachMulti-channel approval/question bridge: WeChat/Telegram/Feishu, session console
dsh-research-reportVerifiable research-report engine: content-addressed evidence ledger and sealed versions
dsh-scoreMulti-dimensional quality scoring for DeepSeek Harness plugins.
dsh-session-pinPin sessions in the Web sidebar with durable ordering
dsh-session-syncCross-device session sync for DeepSeek Harness — a dedicated git mirror of your session store.
dsh-skill-pack-securitySecurity-audit skill pack: secret scan, dependency and supply-chain review
dsh-talkVoice-first session loop for DeepSeek Harness: talk to it, hear it answer.
dsh-team-roomsCross-session team rooms: shared message bus, task board and timeline
dsh-test-driveIsolated install-and-smoke test drives for DeepSeek Harness plugins.
dsh-ticktickTickTick/Dida365 task bridge: session-header panel + 11 tools
dsh-translateVendor parameter translation and deterministic JSON repair for DeepSeek Harness.

Install from the DSH Desktop Market

All PerryLink plugins are browsable in the built-in DSH Desktop Market: Market → Sources → add source → paste https://perrylink-dsh-catalog.perrylink.workers.dev/catalog-source.json → select it. Installation still goes through the Market's npm-identity verification and your confirmation.

License

Apache-2.0

Compatibility

DSH 0.2.1-rc.4: failedDSH 0.2.1-rc.3: failedDSH 0.2.1-alpha.3: failed

Versions

Latest versionPublishedSize
0.1.5——
0.1.7——
0.1.2——
0.1.6——
0.1.4——
0.1.3——
0.1.14——
0.1.15——
0.1.9——
0.1.10——
0.1.11——
0.1.12——
0.1.13——
0.1.16——
0.1.17——
0.1.19——
0.1.20——
0.1.21——
0.1.22——
0.1.23——

Comments

Loading…

Similar plugins

dsh-ticktick

by zhengjy01

Two-way TickTick/Dida365 (滴答清单) 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.

Notifications & IntegrationsManifest valid

★ 0

MIT

TypeScript

Sep 11, 2026

dsh plugin --profile web add dsh-ticktick

by aleksvega

Drive a dsh agent from Telegram: one chat topic per project directory, voice and photo input, ordered per-topic job queue, per-topic goals and task checklists, live progress message, command menu in e

Tools & CapabilitiesManifest valid

★ 0

MIT

JavaScript

Oct 25, 2026

dsh plugin --profile web add dsh-tg-bridge

by shengsheng90

Native local Taskboard plugin for DeepSeek Harness. SQLite-backed projects, Agent claim/review, and a native Web UI — no iframe, no second chat runtime.

Workflow & AutomationManifest valid

★ 323

↓ 211/wk

Apache-2.0

TypeScript

Oct 19, 2026

dsh plugin --profile web add @shengsheng/dsh-taskboard

by pure-craft

Deterministic project actions for people and agents — a DeepSeek Harness Web plugin. One actions.json, two surfaces: a right-sidebar panel and agent tools.

Security & AuditUI & ExperienceManifest valid

★ 6

↓ 935/wk

MIT

TypeScript

Oct 22, 2026

dsh plugin --profile web add dsh-actions

by pure-craft

DeepSeek Harness plugin: see what your agent can actually reach — skills, MCP servers, system tools with true in-context state, and per-session / per-preset switches

UI & ExperienceManifest valid

★ 11

MIT

TypeScript

Oct 19, 2026

dsh plugin --profile web add dsh-capability-panel

by hanxuanliang

Durable multi-agent collaboration for DeepSeek Harness: channels, threads, tasks, and resumable agent sessions.

Workflow & AutomationManifest valid

★ 5

↓ 220/wk

MIT

TypeScript

Aug 24, 2026

dsh plugin --profile web add @hanxuanliang/dsh-chaos