外观
用 OpenClaw 驱动待办&日程管理系统
OpenClaw 让我曾经那些看似无用的、或半途而废的研究一下子变得有价值起来。它就像一个熔炉,我把手头拿着的工具和搁置在墙角的破铜烂铁统统丢进去,然后念一番咒语,重造出一个严丝合缝的引擎。
今天晚上,我用它打通了一套完整的待办与日程管理系统。这篇文章是整个过程的记录。
结论:纯文本 + AI,是个人任务管理的最优解
这套方案的核心主张只有一句话:
用纯文本文件构建任务系统,用 AI 来执行机械操作。
它解决了任务管理系统最常见的两个失败原因:
- 工具太重——用不下去,因为维护系统本身要消耗意志力;
- 执行太难——知道规则,但机械操作(迁移、归档、提醒)太繁琐,懒得做。
纯文本解决前者:没有 app、没有账号、没有格式迁移,打开文件就能用。AI 解决后者:你说一句话,AI 调脚本把决定写进文件,几秒钟完成。
这个方案成立,有三个前提需要先讲清楚。
前提一:AI 只需要文本
很多人的第一反应是:想让 AI 管理我的待办,得找一个开放 API 的任务 app,或者支持 CalDAV 的日历服务。这条路走歪了。
对 AI 来说,一切都是文本。 用户通过自然语言表达需求,AI 给出文本形式的回应或指令——它根本不在乎你后端用的是什么数据库、什么服务架构。AI 需要的只是能够读取、写入、解析的文本。
这是一种技术平权:你不需要依赖任何 SaaS 服务,只需要一套结构化的文本文件,再加上能对这些文件做 CRUD 操作的脚本,就能构建出完整的任务管理系统。
唯一的要求是:文本的组织方式要有足够的结构,让 AI 和脚本都能解析它。
前提二:脚本固化操作,AI 只解析意图
这是整套系统可靠性的关键。
把所有 BuJo 操作封装成脚本之后,AI 在系统里只做一件事:理解你的意图,决定调用哪个函数。它不需要每次自己分析怎么修改文件。
好的(贵的)模型用来打通工作流、总结为技能;便宜的模型用来使用技能。为了让便宜的模型也能可靠运行,技能不能只有
skill.md——更重要的是脚本。
这个原则保证了系统的可靠性。AI 的输出是不确定的,但函数调用是确定的。 把不确定性限制在「意图解析」这一层,其余全部固化为代码,系统就不会因为 AI 的幻觉而写坏文件。
前提三:强制闭环,才能让系统不腐烂
任务管理系统最常见的死法是:todo list 越堆越长,看了就焦虑,最后彻底放弃。
根本原因是未闭环的任务会持续消耗认知资源。大脑不擅长忘记「还没做完的事」——心理学上叫蔡格尼克效应。
子弹笔记的解法是:每一件事都必须有明确的结局。一条待办最终只有四种去向:完成、推迟、放入长期规划、放弃。永远停留在「待办」状态是不被允许的。每天结束时强制处理完当天所有待办,清空大脑里的挂起进程。
理解了这三个前提,可以进入具体实现。
实现:BuJo 规则设计
文件结构按三个时间粒度组织:
日拱一卒/
├── 2026/
│ ├── 2026-03-15.org # 日文件
│ ├── 2026-03.org # 月文件
│ └── 2026.org # 年文件每一行的格式极简:类型标志 + 层级数字 + 空格 + 内容。
类型标志
| 标志 | 含义 | 说明 |
|---|---|---|
t | Todo 待办 | 要主动完成的事 |
d | Done 已完成 | |
n | Note 笔记 | 纯信息,不代表任何行动意图 |
e | Event 事件 | 发生在特定时间,不依赖你的行动 |
m | Migrate 迁移 | 已推迟到后续日期 |
s | Schedule 规划 | 已放入月/年规划 |
q | Question 问题 | 需要研究或思考 |
a | Abandoned 放弃 | 决定不做了 |
两个容易混淆的地方:
tvse:「跑步」是t,你主动去做;「出差回西安」是e,它会发生,不管你做什么。这个区分迫使你在记录时想清楚:这件事是你要推动的,还是等待发生的?nvst:笔记不代表任何行动意图。想研究一件事是q,要做一件事是t。两者混用是 todo 系统崩溃的常见原因。
层级与时间
字母后的数字表示层级,无数字为顶级。统计时只计顶级条目,子级是说明,不是独立任务:
t 完成 etaf 插件开发
t1 设计数据结构
t1 实现渲染逻辑时间段支持精确和模糊两种写法:
- 精确:
t 写周报 [09:00 ~ 10:00] - 模糊:
t 跑步 [Afternoon]
实现:两套编辑界面
同一套文件,两种操作方式。
桌面(Emacs + bujo.el):主动记录、编辑、浏览。插件把字母标志渲染成符号(t → ○,d → ◉,a → X),结合 auto-modal 可以在行首直接按字母键切换状态。打开文件就能用,零摩擦。
手机(Telegram + OpenClaw):随时随地对话式操作。说人话,AI 映射到函数调用,不需要记任何命令语法。
两套界面完全兼容,Emacs 手动编辑的文件和 OpenClaw 脚本写入的文件格式完全一致。
实现:OpenClaw Skill
核心脚本 bujo.py 封装了所有操作:
python3 bujo.py add <scope> <type> <level> "<text>" [--time] # 添加
python3 bujo.py complete <scope> "<search>" # 完成
python3 bujo.py migrate <source> "<search>" <target> # 迁移
python3 bujo.py schedule <source> "<search>" <target> # 放入规划
python3 bujo.py query / stats / lint # 查询/统计/审查scope 支持自然语言:today / tomorrow / next-周三 / 2026-03 / 2026。
对话示例:
我:明天下午跑步半小时
AI:→ bujo.py add tomorrow t 0 "跑步(≥30分钟)" --time 下午
✅ 已添加到 2026-03-16
我:把本月计划里的爬华山推到下周六
AI:→ bujo.py migrate 2026-03 "爬华山" next-周六
✅ 月文件标 m,下周六新增 t实现:两个自动化闭环机制
每晚闭环提醒
每天 21:30,脚本检查当天未闭环的 t,推送 Telegram:
📋 今日未闭环的待办(3 条),请告诉我每条如何处理:
1. 折腾懒猫微服反向代理
2. 研究 Telegram Bot
3. 写周报回复一句话,AI 调脚本执行。这是每天强制做一次「今日复盘」的仪式,不让任何任务在系统里悄悄腐烂。
心跳提醒
OpenClaw 的心跳检测每 30 分钟唤醒 AI 一次。如果今日有带精确时间段的条目且开始时间在 2 小时内,主动推送:
⏰ 提醒:「团队会议」将在 14:00 开始(距现在 45 分钟)你不需要自己设闹钟,只要在文件里写了时间,AI 会替你盯着它。
最后:AI 是工具,不是管家
很多人用 AI 替自己「管理任务」——让 AI 决定今天做什么、怎么排优先级。这是错误的方向。优先级是你的价值判断,不应该外包给 AI。
在这套系统里,AI 做的是另一件事:执行你已经做出的判断。系统里的每一条记录,都是你亲自决策的结果,AI 只是忠实执行。
AI 降低的是执行摩擦,而不是思考责任。这个边界不能模糊。
