收件箱
知识库的捕获缓冲区是任务后端的收件箱,而不是一个文件夹——paths.md 规定了这一规则以及磁盘上 Inbox/ 的用途。一旦明确了捕获内容属于哪个PARA文件夹,就会将其移出缓冲区;如果它只是一个行动项,则留在后端。
当 TASKS = files 时,收件箱是 Inbox/ 文件夹(paths.md 说明了其含义,包括散乱文件);除散乱文件处理外,以下步骤不变。
每个任务调用都是 tasks.md 中的一个操作,根据 TASKS 的适配器执行。如果后端不可用,则适用 tasks.md 中的「后端缺失」规则。
基础层
在操作前阅读,每个文件相对于本技能基础目录的路径为 ../../para/<file>.md——这些文件包含共享规则,不要凭记忆复述:
../../para/paths.md—— 始终需要,包括「语言」:以下字符串来自lang/<LANG>.md../../para/tasks.md—— 始终需要:操作;对于process,还包括什么是任务、区域和项目../../para/note-format.md—— 用于process../../para/confirm.md—— 用于process../../para/move.md—— 用于process,当需要将散乱文件移出Inbox/时
子命令
$ARGUMENTS 的第一个词决定子命令。任何不是 list 或 process 的内容都被视为 add 的文本,所以 /inbox a thought about sleep 会捕获该想法——add 关键字是可选的。空的 $ARGUMENTS → 显示三个子命令并询问。
add <text> — 捕获
inbox.add使用一个title和可选的description。简短的文本直接作为标题。较长的文本会从其内容中派生出一个LANG下的简短标题(不超过6个词),并把完整文本逐字作为描述。- 不设置任何其他内容——除非用户明确指定,否则不设日期、优先级或标签。这是一个缓冲区,不是整理用户想法的地方。
- 一行报告创建了什么,以便用户不同意时可以重命名。
如果捕获的内容明显属于某个特定位置,请在报告中说明并提供 /inbox process——不要未经请求就路由它。
list — 显示未处理的内容
只读。
inbox.list—— 每一条开放的捕获。- 打印一个编号列表,最旧的在前,标题为
inbox.header字符串({n}条捕获,{days}为最旧项目的天数)。只显示标题,不显示描述。 - 散乱文件。 当不是
TASKS = files时(见paths.md)。列出Inbox/中的*.md文件(仅文件名,不打开)。如果存在,添加一行,使用inbox.strays字符串({k}个文件)。 - 空的收件箱是有效且很好的状态:直接说明即可。
process — 处理捕获
缓冲区的阀门。交互式,一次处理一条捕获——切勿一次性将整个收件箱连同建议的目标倾倒出来并要求用户批量批准。
-
如上所示列出收件箱——后端捕获优先,最旧的在前,然后是
Inbox/中的散乱文件(当TASKS = files时,inbox.list会包含所有内容,见paths.md)。说明有多少条,并从第一条开始。 -
对于每条捕获:显示标题和内容(描述,或散乱文件的正文)——如果内容较长则简要显示。然后给出你对它的理解,并提供路由选项。路由名称是
lang/<LANG>.md中的inbox.route.*字符串;下表左列是键:路由 具体操作 inbox.route.action一个不属于任何项目的待办事项 → 按照 tasks.md「什么是任务」进行检查,首先提出并商定措辞,然后用用户选择的area(名称来自tasks.md中area的定义)和商定的title执行task.moveinbox.route.project_task现有项目的一个步骤 → 按照 find-target.md找到项目,按照tasks.md「什么是任务」提出措辞,然后用对应的project_ref和新title执行task.move;任务保持开放状态,不创建或关闭任何内容。当TASKS = files时,已存在的 basename 视为冲突:见note-format.md「名称冲突」inbox.route.project一个具有最终状态的努力 → 转交给 /projects createinbox.route.area持续的责任 → /areas create,或追加到现有领域中inbox.route.resource值得保存的知识 → /resources createinbox.route.keep尚未成熟——留在收件箱中,无需为此感到抱歉 inbox.route.delete垃圾 → 关闭它(见下文) 推荐一个选项,并用一句话说明理由。用户做决定。
-
执行路由,将捕获的文本传递给拥有目标位置的技能——它会根据自身模板构建笔记。切勿在此处编写笔记。
-
关闭捕获,在其路由执行完毕后:
- 后端捕获 —— 路由到知识库中,或作为垃圾 →
inbox.close—— 可逆的(tasks.md),因此为第1层(confirm.md)。inbox.route.action和inbox.route.project_task会移动任务本身(task.move)并保持开放;inbox.route.keep则保持原样。 Inbox/中的散乱文件 —— 在/projects create、/areas create或/resources create获取其内容后,通过/remove删除文件;对于inbox.route.delete,直接交给/remove。inbox.route.action会通过task.add和area将其转换为任务,然后以相同方式删除文件。
- 后端捕获 —— 路由到知识库中,或作为垃圾 →
-
然后处理下一条捕获。 不要将所有关闭操作批处理到最后。
-
当用户说停止时停止,并报告已处理了多少条以及还有多少条剩余。一次性处理完整个收件箱并不是目标。
注意事项
- 收件箱故意设计为低摩擦:
add从不询问可以避免的问题。process才是进行思考的地方。 - 所有内容(包括任务)均使用
LANG指定的语言。