核心用法
Todo Management 是一款基于 SQLite 的本地待办事项管理 Skill,通过 {baseDir}/scripts/todo.sh 脚本与数据库交互。核心功能围绕条目(Entry)和分组(Group)两个维度展开:
条目操作:支持创建(entry create)、列表查询(entry list)、单条查看(entry show)、文本编辑(entry edit)、分组移动(entry move)、状态变更(entry status)及删除(entry remove)。状态流转覆盖 pending → in_progress → done/skipped 的完整生命周期,默认视图自动隐藏已完成和已跳过任务。
分组管理:提供分组的创建、列表、重命名(rename/edit 别名)及删除功能。删除分组时默认将条目移至 Inbox,仅在用户明确授权后才允许级联删除条目,体现数据安全设计。
环境配置:支持通过 TODO_DB 环境变量覆盖默认的 ./todo.db 路径,实现多工作区隔离。
---
显著优点
1. 零网络依赖:纯本地 SQLite 操作,无外发流量,隐私完全自主掌控
2. 防注入设计:SQL 操作采用参数化查询,配合 sql_q 转义函数,有效防御注入攻击
3. Shell 安全模式:脚本启用 set -euo pipefail,严格错误处理,避免未定义变量等常见漏洞
4. 交互设计克制:非必要不展示列表,操作后单行确认反馈,减少信息噪音
5. 破坏性操作保护:分组删除、条目移除等操作需 ID 确认或用户二次授权,防止误操作
---
潜在局限
- 依赖系统工具:必须预装
sqlite3二进制,Windows 环境需额外配置 - 无同步机制:纯本地存储,跨设备协作需自行解决数据同步
- 功能边界清晰:不支持优先级、截止日期、标签等复杂字段,适合轻量场景
- CLI 学习成本:相比 GUI 工具,非技术用户需要熟悉命令参数
---
适合人群
- 偏好终端工作流的开发者与技术用户
- 对数据隐私敏感、拒绝云端服务的用户
- 需要快速嵌入项目工作区的轻量任务管理场景
- 已有脚本化工作流、希望统一工具链的团队
---
常规风险
- 数据备份责任:SQLite 文件需用户自行备份,无自动快照机制
- 并发访问限制:无显式锁机制,多进程同时写入可能产生冲突
- 环境变量覆盖误用:错误设置
TODO_DB可能导致数据写入非预期位置