SuperAPI AI 工具集

things-mac

办公与效率

查看项目

更新于 10-16 07:11

技能介绍

Things 3 CLI 是一个用于在 macOS 上管理 Things 3 的命令行工具。它通过读取本地 Things 数据库来查询信息,并通过 Things URL scheme 来添加或更新待办事项。

用途

该工具适用于需要通过命令行或自动化方式操作 Things 3 的场景,例如批量添加待办、查询收件箱或今日任务、搜索已有条目,以及在脚本中更新任务状态。

主要能力

读取(只读,基于本地数据库):

  • things inbox --limit 50:查看收件箱
  • things today:查看今日任务
  • things upcoming:查看即将到来的任务
  • things search "query":搜索
  • things projects / things areas / things tags:列出项目、领域、标签

写入(基于 URL scheme):

  • 添加待办:things add "Title" --notes "..." --when today --deadline 2026-01-02
  • 将 Things 带到前台:things --foreground add "Title"
  • 添加到项目或领域:things add "Book flights" --list "Travel"
  • 添加到项目标题下:things add "Pack charger" --list "Travel" --heading "Before"
  • 添加标签:things add "Call dentist" --tags "health,phone"
  • 添加清单项:things add "Trip prep" --checklist-item "Passport" --checklist-item "Tickets"
  • 从标准输入读取(多行时第一行为标题,其余为备注):cat <<'EOF' | things add -

更新待办(需要认证令牌):

  • 先获取 ID:things search "milk" --limit 5(查看 UUID 列)
  • 设置认证:设置 THINGS_AUTH_TOKEN 或传入 --auth-token <TOKEN>
  • 修改标题:things update --id <UUID> --auth-token <TOKEN> "New title"
  • 替换备注:things update --id <UUID> --auth-token <TOKEN> --notes "New notes"
  • 追加或前置备注:--append-notes "..." / --prepend-notes "..."
  • 移动列表:--list "Travel" --heading "Before"
  • 替换或添加标签:--tags "a,b" / --add-tags "a,b"
  • 完成或取消:--completed / --canceled
  • 安全预览:things --dry-run update --id <UUID> --auth-token <TOKEN> --completed

使用方式

安装(推荐,Apple Silicon): GOBIN=/opt/homebrew/bin go install github.com/ossianhempel/things3-cli/cmd/things@latest

如果数据库读取失败:为调用方应用授予完全磁盘访问权限(手动运行时为 Terminal;网关运行时为 Clawdbot.app)。

可选配置:

  • 设置 THINGSDB(或传入 --db)指向 ThingsData-* 文件夹
  • 设置 THINGS_AUTH_TOKEN 以避免在更新操作中传入 --auth-token

安全预览:things --dry-run add "Title" 会打印 URL 而不会打开 Things。

适用场景

  • 在终端中快速查看收件箱、今日任务或搜索待办
  • 通过脚本或自动化流程批量添加待办事项
  • 在命令行中更新已有待办的状态、备注、标签或所属列表

限制

  • 仅支持 macOS。
  • 删除待办暂不支持:things3-cli 目前没有删除或移入废纸篓的写入命令;things trash 仅用于只读列出。替代方案是使用 Things 界面删除,或通过 things update 标记为 --completed / --canceled。
  • 更新操作需要认证令牌。
  • 读取本地数据库可能需要授予完全磁盘访问权限。