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属于另一个无关项目——装它不会装到本插件。
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 端点。
工作流概览:安装 → 打开面板 → 操作。下面的示例使用实际命令面。
同一次运行,动图版。
兼容性
| 方面 | 状态 |
|---|---|
| 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_tasksticktick_add
配置
- 在滴答网页版获取 API 口令(
dp_开头):头像 → 设置 → 账户与安全 → API 口令。 - 三种令牌来源任选其一(优先级从高到低):TickTick 配置页的 secret 字段(插件页 → TickTick 行 → Configure)、
DIDA365_TOKEN环境变量、令牌文件(默认$DSH_HOME/.ticktick-token,一行)。写文件即生效,无需任何配置变更。 - 用卡片上的测试连接按钮验证令牌,清除凭据按钮一键抹除。
| 配置键 | 默认 | 含义 |
|---|---|---|
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 的首屏被长表淹没;点击展开可查看每一行及其状态。
License
链接
同类插件
Tencent/WeKnora#dsh-weknora★ 35688
把 WeKnora 知识库接入 dsh 的四个只读工具:列出知识库、混合检索原文片段、按顺序还原单篇文档,以及直接取用 WeKnora 自己带引用的 RAG 或 ReAct agent 回答(含可续聊的 session id)。
superdesigndev/treg★ 6403
给 Agent 的工具目录:按「要做的事」检索约 2,600 个外部接口(SEO 与 SERP、外链、社交、人物与公司信息补全、广告库、抓取),查看参数与单次调用价格后直接调用,凭据由服务端注入。附带技能,MCP 行在未设置 TREG_TOKEN 前保持禁用。
T-Auto/dsh-ops★ 4593
为 Windows 的 DSH 提供 bash、PowerShell 7 及 Rust 高性能工具,减少 token 消耗。
sixtysevenlf/dsh-blender-plugin★ 1388
让 DSH agent 通过直连 TCP 通道驱动本地 Blender,提供 15 个工具:视口帧、自定义视角渲染、Python 执行、无头与作业卸载、事务回滚,以及 34 个 family / 228 个 op 的规划层。
TencentCloudBase/CloudBase-AI-Toolkit#dsh-plugin★ 1152
把腾讯云 CloudBase 后端接入 DeepSeek Harness——在对话里搭好并部署全栈应用,查询结果渲染为表格卡片(分页、排序、导出 CSV),部署后可预览真实域名,并提供 CloudBase MCP 工具集(`mcp__cloudbase__*`),登录走 device-code 流程。
anysearch-team/anysearch-dsh★ 665
基于 AnySearch 的实时网页与垂直搜索插件,为 DeepSeek Harness 提供搜索工具。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。