核心用法
TaskFlow 是一套面向 OpenClaw 代理的任务管理系统,采用 Markdown 优先 的设计理念。用户直接在 tasks/*.md 文件中编辑任务,SQLite 数据库仅作为派生索引用于快速查询,而非数据源。系统支持双向同步(files-to-db / db-to-files)、CLI 交互、以及可选的 Apple Notes 实时导出。
典型工作流:
1. 在 PROJECTS.md 注册项目,创建 tasks/<slug>-tasks.md 任务文件
2. 按固定格式添加任务:- [ ] (task:id) [P1] [owner] Title
3. 通过移动任务行到不同章节(In Progress / Backlog / Done 等)更新状态
4. 运行 taskflow sync 同步到 SQLite,或使用 taskflow status 查看汇总
显著优点
- 人机双友好:Markdown 对开发者和 AI 代理都透明可读,无需专用客户端
- Git 友好:纯文本存储天然支持版本控制,便于 diff 和协作
- 查询灵活:SQLite 后端支持复杂 SQL 查询,同时保留 Markdown 的可读性
- Apple 生态集成:可选的 Apple Notes 导出,适合移动端查看状态
- Agent 原生设计:内置内存管理规则,防止代理在日志中重复记录任务清单
潜在缺点与局限性
- 平台限制:LaunchAgent 仅支持 macOS,Linux systemd 支持尚属 MVP 后计划
- Node.js 硬依赖:要求 22.5+ 版本(
node:sqlite原生模块),无 Python 降级方案 - 单向 Note 同步:任务备注(notes)仅从 Markdown 流向数据库,删除备注不会反向清除
- 严格的格式约束:标签顺序敏感(优先级必须在所有者前),章节标题不可重命名
- 单文件限制:每个项目仅支持一个任务文件,多文件支持待后续版本
适合人群
- 使用 OpenClaw 或其他 AI 代理进行项目管理的开发者
- 偏好 Markdown 原生工作流、厌恶复杂 GUI 的工程师
- 需要任务状态与 Apple Notes 联动的 macOS 深度用户
- 希望任务数据同时满足「人类可读」和「机器可查询」的团队
常规风险
- 锁竞争风险:同步使用 60 秒 TTL 咨询锁,若进程被
kill -9终止,可能阻塞后续同步一分钟 - ID 序列陷阱:任务 ID 要求零填充(
-001而非-1),否则MAX(id)字典序比较会失效 - Apple Notes ID 脆弱性:共享笔记的 Core Data ID 若因误删丢失,会断开现有分享链接
- 配置漂移:缺少
OPENCLAW_WORKSPACE环境变量时回退到process.cwd(),易导致数据写入错误目录