核心用法
things-mac 是一个专为 macOS 设计的 Things 3 任务管理集成技能,通过调用 things3-cli 开源工具实现双向数据交互。该技能支持两大核心操作模式:一是只读查询,直接访问本地 Things SQLite 数据库,可快速检索收件箱、今日任务、即将到期事项,以及按关键词搜索、列出项目/区域/标签等结构化数据;二是写入操作,通过 Things URL Scheme ( (things://) 安全地添加新任务、更新现有任务属性(标题、备注、截止日期、标签、完成状态等)。
安装配置需通过 Go 工具链获取二进制文件,并授予调用应用(Terminal 或 Clawdbot.app)Full Disk Access 权限以读取 Things 数据库。高级用户可配置 THINGSDB 环境变量指定自定义数据库路径,或设置 THINGS_AUTH_TOKEN 简化更新操作的认证流程。技能特别提供 --dry-run 预览模式,在执行实际写入前展示即将生成的 URL,降低误操作风险。
显著优点
1. 原生集成深度:直接操作 Things 3 本地数据库,响应速度远超 AppleScript 或 GUI 自动化方案,查询结果包含完整的 UUID、项目层级、标签元数据等结构化信息。
2. 双向工作流支持:既满足快速录入场景(通过 STDIN 管道批量创建任务、支持多层级清单项),也支持复杂的任务迁移与属性批量更新,填补了 Things 3 官方 API 缺失的空白。
3. 安全设计意识:写入操作强制要求认证令牌,配合预览模式形成双重保险;只读操作与写入操作在架构上分离,最小权限原则清晰。
4. 维护者权威性:由 PSPDFKit 创始人 Peter Steinberger(steipete)维护,其在 iOS/macOS 生态的深厚积累确保了技能与系统特性的最佳适配。
潜在缺点与局限性
- 平台锁定:严格限定 macOS/Darwin 系统,Windows/Linux 用户无法使用,且 Things 3 本身无跨平台版本,生态封闭性强。
- 功能边界:当前版本不支持删除/移至废纸篓操作,仅能标记完成或取消;对于需要彻底清理任务库的用户需返回 Things 原生界面。
- 权限门槛:Full Disk Access 属于 macOS 最高级别文件权限之一,企业环境或高安全需求用户可能面临 IT 策略限制。
- 依赖维护风险:核心功能依赖第三方开源项目
things3-cli,若上游停止维护或 Things 3 更新导致数据库 Schema 变更,可能出现兼容性问题。
适合的目标群体
- GTD 重度实践者:已将 Things 3 作为核心任务系统,需要高频、批量操作任务的知识工作者
- 自动化工作流构建者:希望将 Things 与 Alfred、Raycast、Hammerspoon 或自定义脚本联动的效率工具用户
- 开发者与技术写作者:习惯命令行交互,需要将任务管理嵌入开发工作流(如代码提交时自动创建关联任务)
- macOS 生态深度用户:已配置完善的本地开发环境,愿意授予必要系统权限以换取操作效率
使用风险
- 数据持久性风险:
things update操作会直接修改生产数据,虽支持--dry-run,但认证令牌泄露可能导致未授权任务篡改 - 性能瓶颈:大数据库查询(如
things search无限制返回)可能产生显著 I/O 负载,建议始终配合--limit参数 - 版本耦合:Things 3 应用更新可能静默更改数据库位置或 Schema,需关注
things3-cli上游兼容性公告 - 权限扩散:授予 Clawdbot.app Full Disk Access 后,该应用获得超出 Things 数据范围的系统文件访问能力,需信任整个应用供应链