核心功能
Things 3 CLI (things) 是一款面向 macOS 的命令行工具,提供对 Cultured Code Things 3 的双向操作能力:
读取操作(本地数据库)
- 直接查询 SQLite 数据库:
inbox、today、upcoming列表 - 全文搜索:
things search "query" - 元数据枚举:
projects、areas、tags
写入操作(URL Scheme)
- 添加任务:
things add "标题" --notes --when --deadline - 更新任务:
things update --id <UUID> --title/--notes/--tags/--completed - 支持子任务(checklist)、项目分区(heading)、标签批量操作
高级特性
--dry-run安全预览 URL,不实际触发- STDIN 管道输入实现多行内容批量导入
THINGS_AUTH_TOKEN环境变量避免重复传参
显著优点
1. 原生集成:直接读写 Things 3 本地数据库,非第三方 API 封装
2. 脚本友好:返回结构化数据(JSON/表格),适合自动化工作流
3. 灵活输入:支持管道、多行 heredoc、交互式补全场景
4. 权限粒度清晰:读操作仅需磁盘访问,写操作需用户授权 Token
局限性与风险
| 维度 | 说明 |
|------|------|
| **平台锁定** | 仅限 macOS,无 Windows/iOS 支持 |
| **删除限制** | 无法硬删除任务(仅能 `completed`/`canceled`) |
| **权限要求** | 需为调用进程(Terminal/OpenClaw.app)开启「完全磁盘访问」 |
| **单用户** | 依赖本地 SQLite,不支持 Things Cloud 多设备同步冲突处理 |
| **Schema 依赖** | Things 应用更新可能破坏数据库读取兼容性 |
适合人群
- 效率自动化用户:配合 Alfred/Raycast/Shortcuts 快速捕获任务
- 开发者/技术写作者:将任务管理集成到 Git hooks、CI 脚本
- Things 3 重度用户:需要批量导入、程序化整理历史任务
安全建议
- 生产环境建议
--dry-run验证后再执行批量更新 THINGS_AUTH_TOKEN避免写入 shell history,可用export或钥匙串管理- 定期检查 Things 应用更新后的数据库 Schema 变更日志