DeepSeek Harness 插件

PerryLink/dsh-ticktick

Star 数 ★ 4 下载量(近 30 天) 3,298 分类 工具与能力 收录于 2026-09-05 npm @perrylink/dsh-ticktick

TickTick(滴答清单)任务桥:会话页头部任务面板与精选代理工具,走官方 TickTick MCP 端点。

安装

# npm 包(预构建)

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

# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)

dsh plugin --profile web add github:PerryLink/dsh-ticktick

装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。

README

Release stamp: 0.1.13 (2026-10-04).

包名说明。 本项目的 npm 发布名是 @perrylink/dsh-ticktick。裸名 dsh-ticktick 属于另一个无关项目——装它不会装到本插件。

dsh-doctor DSH Market

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

dsh plugin --profile <name> add @perrylink/dsh-ticktick

面向 DeepSeek Harness 的滴答清单(TickTick / Dida365)任务桥:会话头部任务面板(清单筛选、快速添加、完成、删除、截止日期、拖拽排序)、11 个精选 agent 工具、插件页上的配置页,以及类型化的 Remote 服务——全部走官方滴答 MCP 端点。

安装

dsh plugin --profile web add github:PerryLink/dsh-ticktick
# npm(发布产物含 lib/,无需构建许可)
dsh plugin --profile web add @perrylink/dsh-ticktick

# git 源码(钉住 commit;pnpm 首次会请你放行 prepare 构建)
dsh plugin --profile web add "github:PerryLink/dsh-ticktick#<sha>"

# 本地开发
dsh plugin --profile web add link:/path/to/dsh-ticktick

重启 dsh web(bundle 插件重启生效)。ticktick 按钮出现在会话头部;其配置页从插件页 TickTick 行的 Configure 控件打开。

What is dsh-ticktick?

面向 DeepSeek Harness 的滴答清单(TickTick / Dida365)任务桥:会话头部任务面板(清单筛选、快速添加、完成、删除、截止日期、拖拽排序)、11 个精选 agent 工具、插件页上的配置页,以及类型化的 Remote 服务——全部走官方滴答 MCP 端点。

dsh-ticktick 工作流图:安装 → 打开面板 → 操作。

工作流概览:安装 → 打开面板 → 操作。下面的示例使用实际命令面。

同一次运行,动图版。

兼容性

方面 状态
Harness DeepSeek Harness dsh-v0.2.1-alpha.1(GitHub tag)。npm 依赖线钉在 @deepseek-ai/dsh 0.2.1-alpha.1(peers `>=0.1.2-rc.1 <0.2.0
Node ^22.19.0 || >=24.0.0

功能

  • 会话头部面板:会话头部的 ticktick 按钮打开弹窗——按清单筛选(全部 + 各清单)、未完成/已完成视图切换、全文搜索、带可选日期的快速添加、勾选完成、确认删除、设置/清除截止日期(过期/今天/明天高亮 chip)、单清单未完成视图内拖拽排序。常驻连接状态圆点;未配置令牌时面板内直接一步粘贴保存。
  • 11 个 agent 工具: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 免费获得 await tools.ticktick_*(args)。
  • 配置页:插件页 → TickTick 行 → Configure:API 口令(secret)、令牌文件、端点预设(国内/国际版未实测/自定义)、受保护任务 id(四项均即时生效,无需重启)、一键测试连接与清除凭据。
  • 令牌热重读:Bearer 令牌每次请求重读(卡片 secret 优先于令牌文件,默认 $DSH_HOME/.ticktick-token);401 会重置客户端,轮换令牌无需重启。
  • 实测绕行:滴答 MCP 对真实项目内任务调用 update_task 会服务端崩溃("Expecting value: line 1 column 1")——桥自动走「移到收件箱 → 更新 → 移回」绕行;服务端校验失败的清单(历史 repeatFrom: '' 数据)跳过并以警告透传,绝不静默丢弃。
  • 受保护任务:变更操作在任何网络调用前拒绝受保护 id 列表中的任务。
  • 多端同步:所有写入落在滴答云端账号,手机/电脑/网页版都能看到;每次读取都是当前状态。

示例

以下为插件真实入口;安装后调用一个即可。

详细示例

命令

ticktick_lists

输入

{}

输出

Inbox (inbox)
Work (hex1)

来源 plugins/dsh-ticktick/src/tools.ts:107-109 (renderer); fixture/assertion at plugins/dsh-ticktick/tests/service.spec.ts:40-46,103-108

失败分支

输入

{"id":"t-guarded","projectId":"hex1"} (protectedTaskIds: ["t-guarded"])

输出

Error: task t-guarded is protected

来源 plugins/dsh-ticktick/src/service.ts:344-349; plugins/dsh-ticktick/tests/service.spec.ts:158-163

简短示例
  • ticktick_tasks
  • ticktick_add

配置

  1. 在滴答网页版获取 API 口令(dp_ 开头):头像 → 设置 → 账户与安全 → API 口令。
  2. 三种令牌来源任选其一(优先级从高到低):TickTick 配置页的 secret 字段(插件页 → TickTick 行 → Configure)、DIDA365_TOKEN 环境变量、令牌文件(默认 $DSH_HOME/.ticktick-token,一行)。写文件即生效,无需任何配置变更。
  3. 用卡片上的测试连接按钮验证令牌,清除凭据按钮一键抹除。
配置键 默认 含义
tokenFile '' 存放令牌的文本文件路径;留空 = $DSH_HOME/.ticktick-token
mcpUrl https://mcp.dida365.com 滴答 MCP 端点(国际版端点未实测——见下文)
toolCallTimeoutMs 30000 单次 tools/call 截止时间(毫秒)
protectedTaskIds [] 所有变更操作拒绝的任务 id
tools.* 各自 '' 原始 MCP 工具名钉住(projects/tasks/create/complete/remove/update/move);'' = 按模式发现

Agent 工具

工具 用途
ticktick_status 连接状态:令牌已配置、客户端已连接、端点、最近错误
ticktick_lists 全部清单(含虚拟收件箱)
ticktick_tasks 未完成任务:单个清单或全部聚合,附带逐清单警告
ticktick_add 创建任务(清单、可选 ISO 截止日期)
ticktick_complete 完成任务(任务 id + 清单 id)
ticktick_delete 删除任务(任务 id + 清单 id)
ticktick_due 设置/清除截止日期(省略日期 = 清除)
ticktick_reorder 赋新整数 sortOrder(清单按 sortOrder 降序排列)
ticktick_completed 时间窗内已完成任务(默认近 30 天),可选单清单
ticktick_search 任务全文搜索(官方 search 工具)
ticktick_batch_add 一次调用批量创建任务

架构

浏览器面板 ── ctx.remote.ticktick.* ──▶ TicktickService(Typert Remote)
配置页 ─────── ctx.configForms ──────▶ profile 条目 "ticktick"(Volatile Config)
agent 工具 ── ctx.tools(ticktick_*)──▶ 同一服务
                    │
                    ▼
        迷你 streamable-HTTP MCP 客户端
        (session id、协议版本、Retry-After)
                    │
                    ▼
        https://mcp.dida365.com(官方滴答 MCP)

已知限制

  • 国际版 TickTick 端点未实测:mcpUrl 默认国内端点,国际版 MCP URL 尚未探测。
  • 已完成视图、搜索与批量添加走官方 MCP 的 list_completed_tasks_by_date、search、batch_add_tasks 工具;其线上契约来自已发布目录(dida365-sdk 存根),对真实端点的复验待做——先用真实令牌跑 probes/probe-queries.mjs,再宣称已核验。
  • 实测到的 update_task 崩溃与清单校验失败是服务端行为;发布前用 probes/ 对真实端点复验(导出 DIDA365_TOKEN 后运行)。
  • 面板使用的 /api 面是 harness 标准 Typert 网关;令牌仅存本地(设置文档或令牌文件)且只发给滴答自己的服务器。不要把 dsh web 实例暴露到公网。

对真实端点验证

# PowerShell
$env:DIDA365_TOKEN='dp_...'
node probes/probe-bootstrap.mjs      # 握手 + 工具目录
node probes/probe-crud.mjs           # 创建/完成/删除往返
node probes/probe-due.mjs            # 截止日期(带 PROJECT_ID 可测绕行)
node probes/probe-reorder.mjs        # sortOrder 语义
node probes/probe-queries.mjs        # P2 查询工具契约探测

卸载

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

重启 dsh web。工具、面板、配置页、系统提示等全部运行态注册随插件卸载一并撤销。唯一静态残留是用户设置文档里的令牌——卸载前用 TickTick 配置页的清除凭据按钮抹掉(或删除令牌文件 / DIDA365_TOKEN 变量)即可彻底断开。想保留安装但暂时停用,改禁用该行:

- id: ticktick
  disabled: true

从 DSH Desktop 市场安装

所有 PerryLink 插件均可在 DSH Desktop 内置市场中浏览:市场 → 来源 → 添加来源 → 粘贴 https://perrylink-dsh-catalog.perrylink.workers.dev/catalog-source.json → 选中。安装仍需通过市场的 npm 身份校验与你的确认。

PerryLink DSH Plugin Family

本项目是 PerryLink 维护的 DeepSeek Harness 插件家族成员。完整名单默认折叠,避免每个 README 的首屏被长表淹没;点击展开可查看每一行及其状态。

插件 状态
dsh-aqua-input-check
dsh-archive-check
dsh-auto-review
dsh-autotier
dsh-bid-ca-precheck
dsh-bid-qual-check
dsh-cert-mcp
dsh-checkpoint-rewind
dsh-click
dsh-composer-history
dsh-contract-stance
dsh-customs-doc-check
dsh-data-quality
dsh-demurrage-ledger
dsh-doublecheck
dsh-drill-script-check
dsh-eia-guide-check
dsh-emergency-plan
dsh-essay-rubric-check
dsh-evidence-check
dsh-export-ctl-check
dsh-fast
dsh-fmea-table-check
dsh-forecast-penalty
dsh-fund-research
dsh-github
dsh-gongwen-flow-check
dsh-gongwen-word-check
dsh-guard-plan-qc
dsh-hazchem-check
dsh-hazplan-check
dsh-hidden-risk-map
dsh-hs-classify
dsh-icd-rule-check
dsh-industry-research
dsh-lawcite-adapter
dsh-laya
dsh-lc-doc-check
dsh-learning-gap-check
dsh-library
dsh-local-ai
dsh-lsp-actions
dsh-mask
dsh-mcp-panel
dsh-medrec-qc
dsh-memento
dsh-nsfc-form-check
dsh-nurse-record-check
dsh-observe
dsh-origin-rvc-check
dsh-ota-review-check
dsh-output-styles
dsh-paper-doc-adapter
dsh-permission-rules
dsh-permit-report-check
dsh-pipeline-check
dsh-pleading-draft
dsh-plugin-doctor
dsh-plugin-guide
dsh-plugin-kit
dsh-plugin-upgrade
dsh-policy-brief-draft
dsh-power-loss-split
dsh-power-ticket-check
dsh-ppap-check
dsh-protest-deadline
dsh-railway-window
dsh-repair-order-qc
dsh-research-report
dsh-review-reply-check
dsh-rulefile-check
dsh-safety-brief-check
dsh-score
dsh-session-sync
dsh-site-log-check
dsh-skill-pack-security
dsh-soe-decision-check
dsh-soilwater-check
dsh-sop-sync-check
dsh-spc-gbt-adapter
dsh-talk
dsh-tender-extract
dsh-tender-matrix
dsh-test-drive
dsh-ticktick
dsh-translate
dsh-warranty-calc
dsh-budget 🧊 已冻结 — 见仓库 README
dsh-claude-move 🧊 已冻结 — 见仓库 README
dsh-defend 🧊 已冻结 — 见仓库 README
dsh-draw 🧊 已冻结 — 见仓库 README
dsh-reach 🧊 已冻结 — 见仓库 README
dsh-background-agents 🚫 已退役 — 见仓库 README
dsh-session-pin 🚫 已退役 — 见仓库 README
dsh-team-rooms 🚫 已退役 — 见仓库 README

License

Apache-2.0

内容来自项目 README(GitHub)↗

链接

同类插件

查看整个分类 →

评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。