Docket 是一个面向 AI 编程代理的本地优先、可自托管的协调工作区。它的核心用途是承接待办事项与待办列表:在正式创建工单之前,代理在会话中产生的想法或任务先落到这里,之后再决定是否升级为 Notion 页面、GitLab Issue 或其他形式的正式工作项。
主要能力:
- 共享任务列表:所有条目汇总到一份列表,Claude Code、Codex、Cursor、Warp 等代理均可写入。
- 按项目自动归类:条目依据代理运行目录的 git remote 自动归入对应项目,无需手动输入;无项目上下文的条目归入 Unfiled。同一仓库在不同路径克隆仍视为同一工作区。
- 认领(claim)机制:避免多个代理重复处理同一任务。
- MCP 集成:通过 MCP 协议接入代理宿主,各宿主使用相同的工具集。
- 本地 Web 仪表盘:默认运行在 http://localhost:8787,提供工作区切换、每项目未完成计数、实时更新(SSE)、搜索、排序、内联编辑、撤销删除、明暗主题和移动端响应式布局。
- 双向桥接:sourceUrl 字段可关联 GitLab Issue、Notion 页面、Obsidian 分享链接、Slack 话题、GitHub PR 等,卡片上呈现可点击链接。
- 摘要(digest):代理可读取合并请求、PR、Notion 工单、本地提交和 docket 条目,核对状态后发布摘要,作为仪表盘首页;摘要会在发布时计算与上一次的差异(新增、状态变化、移出项)。
- 会话延续:Claude Code 可获得一个 SessionStart 钩子,在会话开始时注入该项目最多 7 条、不超过 120 token 的未完成条目;可用 DOCKET_HOOKS=off 关闭。
使用方式:
需要 Node.js 18+ 以及至少一个 MCP 宿主。安装可通过 npx 运行,或仅对 Claude Code 使用 claude mcp add docket -- npx -y @pasichdev/docket。安装后重启代理,即可让代理添加待办事项,并自动启动仪表盘。非 Claude Code 代理可将 skills/docket/SKILL.md 的内容复制到相应配置文件(如 Codex 的 AGENTS.md、Cursor 的 .cursor/rules/docket.mdc 等)。
升级与数据: 从 2.x 升级到 3.0 会在首次运行时自动将存储格式从 v7 迁移到 v8。迁移前会保留一份迁移前存储副本,升级输出中会打印其路径;若需回退到 2.x,须先还原该副本。提供 docket backup 将整个数据目录打包为受密码保护的单文件(AES-256-GCM,scrypt 派生密钥),docket restore 可写回。
安全与部署: 数据默认加密保存在本机 ~/.docket,也可自托管服务器。Docker 提供本地加密存储、P2P 同步、局域网查看器门禁和自托管客户端/服务器流量四类独立威胁模型。静态数据使用 AES-256-GCM 加密;LAN 查看器门禁要求主机显式批准其他浏览器访问;自托管模式使用按设备的 HMAC 签名与时间戳+nonce 重放保护。P2P 同步自 v3.0 起已弃用,仍可用但认领仅为建议性,多机场景推荐自托管模式。
适用场景: 适合多代理、多项目并行开发时临时记录与协调任务,尤其是需要在不同 AI 编程工具之间统一待办、避免重复工作的场景。
限制: 部分事实暂未提供,例如具体价格、收费模式、各宿主的完整兼容细节等。README 中明确说明 P2P 同步已弃用,其 15 秒轮询间隔无法提供原子保证。