前言¶
DeepSeek Harness (DSH) 的核心设计理念之一是“一切皆插件”。在开发智能体时,让 Agent 能够直接读写用户的任务管理工具(如滴答清单)是一个常见需求。现有的集成方式往往依赖第三方库或非官方接口,存在安全风险和兼容性问题。dsh-ticktick 插件通过调用官方 Open API,为 DSH 提供了标准化的双向任务同步能力。
插件介绍¶
dsh-ticktick 是由用户 zhengjy01 维护的 DSH 插件,旨在解决智能体与 TickTick / Dida365(滴答清单)之间的数据同步问题。该插件基于官方 OAuth 2.0 Open API 构建,支持拉取任务、创建任务、更新状态以及一键去重同步,并提供了一个 Web 端设置面板用于管理凭证。
核心功能¶
该插件提供以下核心能力:
- 官方 API 集成:使用 OAuth 2.0 授权码模式对接 TickTick / Dida365 开放平台(
/open/v1),支持 401 响应时的令牌自动刷新。 - 多区域支持:支持国内版 Dida365(默认)和国际版 TickTick,可在设置面板或通过
ticktick_config切换。 - 拉取任务:
ticktick_tasks/ticktick_sync可跨所有列表(包括收集箱 Inbox,尽管 Open API 的项目列表可能不包含它)拉取未完成或已完成的任务,按截止日期排序并附带列表名称。 - 创建任务:
ticktick_add支持创建任务,参数包括标题、列表(通过 ID 或名称,inbox/收集箱映射到 Inbox)、截止日期(ISO 8601 或YYYY-MM-DD)、优先级(0-5 或 none/low/medium/high)、标签及内容。 - 单次同步:
ticktick_sync提供单向同步能力。direction=pull返回分组摘要;direction=push会创建缺失的任务,并在列表内按标题去重(包括 Inbox,重复运行不会产生重复任务)。 - 任务维护:提供
ticktick_update(更新)、ticktick_complete(完成)、ticktick_delete(删除)接口,支持可选的项目 ID(自动解析,包含 Inbox)。 - Web 设置面板:在 DSH Web 设置中,可配置凭据、运行授权流程(弹窗 + 手动输入验证码)、刷新令牌、快速添加任务(列表选择器优先显示 Inbox,排除已归档列表)。
- 安全存储:凭证和令牌持久化至
~/.dsh/dsh-ticktick.(权限 0600),状态查询命令ticktick_status不会回显密钥。
安装与启用¶
安装此插件需要 DSH 环境。
- 执行以下命令安装:
dsh plugin --profile web add github:zhengjy01/dsh-ticktick
- 安装完成后,重启
dsh web服务。 - 插件无需构建步骤,依赖 Node.js 内置的
fetch和crypto(要求 Node 22+),无额外运行时依赖。
配置¶
在首次使用前,需完成 OAuth 授权并配置凭证。
- 创建应用:
在 TickTick / Dida365 开放平台控制台创建应用,并设置重定向 URI。该 URI 必须与 DSH Web 服务监听的本地地址匹配,例如:
http://127.0.0.1:3080/api/dsh-ticktick/oauth/callback
- 输入凭据:
在 DSH 设置面板进入 TickTick 配置页面,输入client_id和client_secret。你也可以通过对话让 Agent 执行ticktick_config来设置这些参数。 - 授权登录:
在设置面板点击“开始授权”,登录后完成回调;若回调失败,可手动粘贴验证码并调用ticktick_oauth_finish。 - 系统提示:
插件会向系统提示词注入相关说明,告知智能体在何时应当使用此工具。
典型用法¶
配置完成后,Agent 可通过自然语言调用相关接口:
- 拉取今日未完成任务:
把今天滴答清单里没做完的任务同步给我
对应操作:`ticktick_sync` (pull)
- 推送新任务并去重:
帮我把这些任务同步到滴答清单:买牛奶、写周报
对应操作:`ticktick_sync` (push, dedupes)
- 添加指定任务:
明天下午3点提醒我开会,加到「工作」清单
对应操作:`ticktick_add`
注意事项¶
- 安全风险:
client_secret和 OAuth 令牌是高权限凭证。插件将其存储在本地文件~/.dsh/dsh-ticktick.(权限 0600)中。如果凭证泄露,请立即运行ticktick_config(reset: true)清除。 - 网络限制:OAuth 回调路由仅允许本地回环访问;其余
/api/dsh-ticktick/*路由仅允许本地和同源访问。 - API 覆盖范围:Open API 不支持智能列表过滤和时间触发提醒(
reminders/repeatFlag仅在存在时透传,未建模为参数)。
结语¶
dsh-ticktick 通过官方 Open API 实现了与滴答清单的双向同步,为 DSH 智能体提供了可靠的任务管理能力。无论是日常任务整理还是自动化流程编排,该插件都能提供落地的工具支持。更多细节与源码,可访问 GitHub 仓库。