技能使用指南

things-mac(Things3CLI工具Skill)Skill 是什么?如何下载安装?

things-mac(Things3CLI工具Skill)让 AI 助手直接读写 macOS 上的 Things 3:读取收件箱、今天、即将到来与搜索结果,通过 URL Scheme 添加和更新待办,支持 dry-run 安全预览与批量 STDIN 录入。本文详解安装步骤、命令用法、竞品对比与真实应用场景,帮你把待办管理交给 AI 一句话完成。

Things3CLI工具Skillthings-mac
8 个章节 约 16 分钟阅读 AI 智能生成

Things3CLI工具Skill:让 AI 助手直接读写你的 Things 3 待办清单

  • 一句话定位:把 macOS 上 Things 3 的图形界面能力搬到命令行,让 AI 助手可以「读收件箱、查今天、搜任务、建待办、改笔记」。
  • 核心能力:只读侧可列出收件箱/今天/即将到来、搜索任务、查看项目/区域/标签;写入侧可通过 URL Scheme 添加与更新待办事项。
  • 安装前提:仅限 macOS,且本机已安装 Things 3,并具备 Go 环境与 things 命令。
  • 安全设计:支持 --dry-run 预览生成的 URL,不直接打开 Things,适合先看后执行。
  • 明确边界:目前不支持「删除/移入垃圾桶」的写操作,只能用 --completed / --canceled 做软处理。

1. 该技能叫什么?如何下载安装 AI 技能提升开发效率?

这个技能的中文名是 Things3CLI工具Skill,英文名 things-mac,技能 ID 为 13535。

它要解决的问题非常具体:Things 3 是一款体验优秀的 macOS 待办应用,但它的操作入口主要是图形界面,AI 助手和自动化脚本没法直接「看懂」你的清单,也没法帮你往里写任务。这个技能做的事情,就是把社区开源工具 things3-cli 封装成 AI 可调用的能力——读取侧直接访问本地 Things 数据库,写入侧通过 Things 官方的 URL Scheme 完成,从而让「帮我把这句话记到今天的清单里」变成一句可执行的自然语言指令。

安装前提:

  • 操作系统:仅 macOS(元数据中标注的平台为 darwin)。
  • 本机已安装 Things 3 应用。
  • 具备 Go 环境,用于安装 things 命令行二进制。
  • 需要依赖的可执行文件:things。

一键安装步骤:

  1. 使用 Go 安装 CLI(官方推荐,Apple Silicon 环境):

    GOBIN=/opt/homebrew/bin go install github.com/ossianhempel/things3-cli/cmd/things@latest
    
  2. 如果后续读取数据库失败,需要给「调用方应用」授予完全磁盘访问权限——手动在终端运行时授权给「终端」,通过网关运行时授权给 Otto.app。这是本地数据库只读能力能否生效的关键一步。

  3. 可选配置:设置环境变量 THINGSDB(或在命令中传 --db)指向你的 ThingsData-* 数据文件夹;设置 THINGS_AUTH_TOKEN 可免去每次更新操作都手写 --auth-token。

  4. 验证是否生效:执行 things today 或 things inbox --limit 5,能列出任务即表示读取链路正常;再执行 things --dry-run add "安装验证",能打印出一条 Things URL 而不弹出应用,即表示写入链路正常(加 --dry-run 不会真的创建任务)。

至于该 CLI 项目本身的授权方式与分发策略,请以官方仓库 github.com/ossianhempel/things3-cli 的说明为准。

2. 该技能的主要功能和特点

能做什么:

  • 读取本地数据库(只读):things inbox --limit 50 看收件箱、things today 看今天、things upcoming 看即将到来、things search "查询" 做关键字搜索、things projects / things areas / things tags 查看项目、区域、标签结构。
  • 添加待办(URL Scheme 写入):支持标题、笔记(--notes)、开始时间(--when today)、截止日期(--deadline)、目标列表(--list)、项目内标题分组(--heading)、标签(--tags)、清单子项(--checklist-item,可重复)。
  • 更新待办(需认证令牌):改标题、替换笔记、追加或前置笔记(--append-notes / --prepend-notes)、移动到其它列表与标题、替换或新增标签、标记完成(--completed)或取消(--canceled)。
  • 标准输入批量写入:支持 cat <<'EOF' | things add - 的形式,第一行作为标题,其余行作为笔记,适合把一段长文本直接变成任务。
  • 前台唤起:things --foreground add "标题" 可在写入的同时把 Things 带到前台,方便立刻确认。

和普通工具比强在哪:

  • 双通道设计:读取走数据库、写入走 URL Scheme,既拿到了结构化列表能力,又复用了 Things 官方支持的写入方式,稳定且不依赖界面自动化。
  • 默认安全:--dry-run 只打印 URL 不打开 Things,AI 助手可以先预览再执行,减少误操作。
  • 天然适合被 AI 调用:命令语义清晰、参数正交,模型不需要理解复杂的 UI 元素,只要拼对参数即可。
  • 可脚本化:所有能力都是命令行,能被 Shell 脚本、定时任务、CI 流程复用。

需要提前知道的限制:仅 macOS 可用;更新类操作需要认证令牌;不支持「删除/移入垃圾桶」的写入命令(things trash 是只读列表),只能标记完成或取消,真删除仍需在 Things 界面操作。

3. 如何使用该技能?

第 1 步:确认读取链路。 直接让助手执行 things today。输出是今天的任务列表,包含标题等信息;需要定位某条任务时,用 things search "牛奶" --limit 5,结果中会带 UUID 列,这个 UUID 是后续更新操作的唯一凭证,务必先拿到。

第 2 步:先用 dry-run 做安全预览。 在执行任何写入前,先跑 things --dry-run add "买牛奶"。它只打印将要使用的 Things URL,不会真的创建任务,也不会打开应用。确认参数无误后再执行真实写入。

第 3 步:添加待办。 按需选择参数组合:

  • 最简:things add "买牛奶"
  • 带笔记:things add "买牛奶" --notes "2% + 香蕉"
  • 指定项目/区域:things add "订机票" --list "旅行"
  • 指定项目内标题:things add "打包充电器" --list "旅行" --heading "之前"
  • 带标签:things add "打电话给牙医" --tags "健康,电话"
  • 带清单子项:things add "旅行准备" --checklist-item "护照" --checklist-item "机票"
  • 带时间与截止:things add "标题" --notes "..." --when today --deadline 2026-01-02

第 4 步:从 STDIN 批量录入。 把一段会议纪要变成任务时很有用:

cat <<'EOF' | things add -
标题行
笔记行 1
笔记行 2
EOF

第一行作为标题,其余多行全部进入笔记字段。

第 5 步:更新已有待办(需要认证令牌)。 先 things search "牛奶" --limit 5 拿到 UUID,然后设置 THINGS_AUTH_TOKEN 或直接传 --auth-token <TOKEN>:

  • 改标题:things update --id <UUID> --auth-token <TOKEN> "新标题"
  • 替换笔记:things update --id <UUID> --auth-token <TOKEN> --notes "新笔记"
  • 追加笔记:things update --id <UUID> --auth-token <TOKEN> --append-notes "..."
  • 移动列表:things update --id <UUID> --auth-token <TOKEN> --list "旅行" --heading "之前"
  • 追加标签:things update --id <UUID> --auth-token <TOKEN> --add-tags "a,b"
  • 标记完成:things update --id <UUID> --auth-token <TOKEN> --completed
  • 安全预览:things --dry-run update --id <UUID> --auth-token <TOKEN> --completed

第 6 步:自然语言调用。 在接入了该技能的 AI 助手中,你不需要自己拼命令,直接说「把『周五前提交报销单』加到工作项目,标签财务,截止本周五」,助手会翻译成对应的 things add 调用;说「我今天的任务有哪些」,助手会执行 things today 并把结果整理成可读清单。

4. 同类型竞品对比分析

方案名称 定位 核心功能 安装/使用门槛 适用场景 优势与不足
things-mac(Things3CLI工具Skill) 让 AI 助手直接操控 Things 3 的技能封装 数据库只读列表/搜索 + URL Scheme 增改,支持 dry-run 预览 需 macOS、Things 3、Go 环境与完全磁盘访问授权 AI 对话式建任务、脚本化收集、每周回顾 优势:命令语义清晰、默认安全预览、易被 AI 调用;不足:仅 macOS、更新需令牌、不支持删除
Things 3 官方应用 + 系统快捷指令 面向普通用户的可视化自动化 图形化建任务、跨应用触发、简单条件流程 无需编程,但需手动搭建动作 轻量个人自动化、手机端一键记录 优势:零代码、稳定;不足:难以完成复杂查询与批量整理,AI 直接调用受限
手写 AppleScript / URL Scheme 脚本 技术用户自建方案 全量可控的自动化 需自行学习脚本语法与 URL 参数 高度定制的个人工作流 优势:灵活度最高;不足:维护成本高、易随系统版本失效,不适合交给 AI 直接生成
通用命令行待办工具(如 todo.txt 类) 纯文本、跨平台的任务管理 文本文件读写、简单过滤 安装简单,跨平台 极简主义用户、服务器环境 优势:跨平台、轻量;不足:没有 Things 3 的 GTD 语义(项目、区域、标题、清单)与生态体验

选择建议:如果你已经深度使用 Things 3,并希望 AI 助手能直接读写清单,本技能几乎是唯一顺滑的路径;如果你不在 macOS 生态,或不需要 Things 的项目/区域体系,通用命令行工具更合适。

5. 该技能的典型应用场景与实际体验情况

场景一:开发者的「每日开工三分钟」。 角色:使用 Things 3 做 GTD 的工程师。痛点:每天要手动翻 Today 列表确认优先级。使用方式:早上对助手说「列出我今天的任务和即将到来的事」,助手依次执行 things today 与 things upcoming,把结果整理成结构化摘要,同时把临时想到的事用 things add 直接落到收件箱。

场景二:会议结束后的批量落库。 角色:项目经理。痛点:评审会产出一堆零散待办,逐条手打很费时。使用方式:把会议纪要粘贴给助手,让它按条目生成 things add 命令,指定 --list "项目名" 与 --heading "待办",并用 --dry-run 先预览一遍 URL 再正式执行。

场景三:周回顾时的任务巡检。 角色:重度 GTD 用户。痛点:整理旧任务比新建更麻烦。使用方式:用 things search "关键词" --limit 5 定位历史任务,拿到 UUID 后用 things update --id ... --completed 或 --canceled 批量收尾;需要改项目归属的,用 --list 与 --heading 一起调整。

场景四:脚本与流程自动化。 角色:需要把外部事件转成待办的自动化爱好者。使用方式:把 things add 嵌进 Shell 脚本或定时任务,配合 THINGS_AUTH_TOKEN 环境变量免去重复传参。

实际体验情况: 上手难度偏低——命令的命名基本对应 Things 的界面概念(收件箱、今天、项目、区域、标签),看一遍示例就能拼出来。效果上,读取侧响应很快,写入侧因为是 URL Scheme,任务会立即出现在 Things 中。需要注意三点:一是首次使用务必确认「完全磁盘访问」已授权,否则列表可能读不出来;二是更新类操作必须携带认证令牌,建议用 THINGS_AUTH_TOKEN 统一管理;三是「删除」做不到,需要把预期调整为「标记完成或取消」。

6. 该技能能为用户带来的价值

  • 把「记下来」的动作成本降到接近于零:从「解锁手机 → 打开 Things → 找到项目 → 输入标题 → 补笔记 → 设截止」,压缩成一句自然语言,长期看显著降低任务漏记率。
  • 让 AI 助手真正「看见」你的任务体系:在此之前,助手只能凭你口述推断你的清单;有了数据库只读能力,它可以基于真实数据做汇总、巡检与提醒。
  • 零迁移成本:不需要换掉 Things 3,也不需要把数据导出到别的平台,原有项目、区域、标签体系全部保留。
  • 可量化效率收益:按每天新增/整理 10 条任务、每条手工操作约 20 秒估算,一天可省下数分钟,一个月接近两小时;周回顾、批量改归属这类操作收益更明显。
  • 长期价值在于可组合:命令行天然可被脚本、定时任务、CI 复用,随着你工作流的演化,这套能力可以不断被嵌入新的环节,而不会被界面绑定。

7. 常见问题 FAQ

Q1:怎么安装?一定要装 Go 吗? 是的,当前推荐方式是通过 Go 安装:GOBIN=/opt/homebrew/bin go install github.com/ossianhempel/things3-cli/cmd/things@latest,安装后确保 things 在 PATH 中即可。若读取数据库失败,记得为终端或 Otto.app 授予完全磁盘访问权限。

Q2:收费吗? 该技能本身是对开源命令行工具 things3-cli 的封装,具体的授权与收费政策请以官方仓库说明为准;Things 3 本体是独立的商业应用,需要你自行按官方渠道获取。本文不涉及任何价格承诺。

Q3:Windows 或 Linux 能用吗? 不能。技能元数据明确限定平台为 macOS(darwin),因为它的写入依赖 Things 3 在 macOS 上的 URL Scheme,读取依赖本地 Things 数据库。非 macOS 用户建议选择跨平台的文本型待办方案。

Q4:为什么更新任务要 --auth-token,而新增不用? 新增走的是基础 URL Scheme,而更新、完成、取消等操作属于 Things 官方需要授权的指令类型。推荐把令牌写进环境变量 THINGS_AUTH_TOKEN,这样命令里就不必反复传 --auth-token。

Q5:能删除任务吗?和快捷指令、AppleScript 怎么选? 目前 things3-cli 没有「删除/移入垃圾桶」的写入命令(things trash 只是只读列表),可用 --completed 或 --canceled 做软处理,真删除需回到 Things 界面。至于方案选择:想让 AI 直接读写清单选本技能;想零代码点点点选系统快捷指令;需要极高定制且愿意维护脚本,再考虑手写 AppleScript。