管理 bun‑do 任务和项目——添加、编辑、删除任务,切换完成状态,管理子任务,记录项目进度。当用户说...
bun-do — 您本地任务后端是一项面向实际任务的技能,主要用于“ Add P1 任务: 续签护照, 每年3月30日到期, 并有85欧元的付款;bun- do是本地首个待办事宜;
使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
“添加 P1 任务:更新护照,截止日期为 3 月 30 日,每年重复一次,需支付 €85”
bun-do 是一款以本地优先(local-first)为设计理念的待办事项应用。提供运行在 http://localhost:8000 的 REST API。所有数据均以 JSON 格式持久化至本地磁盘,**无任何数据离开你的设备**。
启动:bun-do start(安装命令:bun install -g bun-do)
数据目录:~/.bun-do/(可覆盖:设置环境变量 BUNDO_DATA_DIR)
端口:8000(可覆盖:使用 --port=PORT 参数)
| 用户表达 | 对应操作 |
|---|---|
| “添加任务:买牛奶” | POST /api/tasks,请求体:{"title": "Buy milk"} |
| “提醒我明天给牙医打电话” | POST 请求,请求体:{"title": "Call dentist", "date": "TOMORROW", "type": "reminder"} |
| “P0 截止任务:周五前提交提案” | POST 请求,请求体:{"title": "Submit proposal", "date": "FRIDAY", "priority": "P0", "type": "deadline"} |
| “添加月度付款:每月 1 日支付房租 €1200” | POST 请求,请求体:{"title": "Rent", "type": "payment", "amount": "1200", "currency": "EUR", "recurrence": {"type": "monthly", "day": 1}} |
| “有哪些已逾期的任务?” | GET /api/tasks,筛选条件:done=false 且 date < today |
| “将护照任务标记为已完成” | 先按标题搜索 → 再执行 PUT 请求,请求体:{"done": true} |
| “我今天该做什么?” | GET /api/tasks,筛选今日任务,并按优先级排序 |
| “把它推迟到下周” | PUT 请求,请求体:{"date": "NEXT_MONDAY"} |
| “添加子任务:预订航班” | POST /api/tasks/{id}/subtasks,请求体:{"title": "Book flight"} |
| “记录 bun-do 进展:已发布 v1.3” | POST /api/projects/{id}/entries,请求体:{"summary": "Shipped v1.3"} |
重要提示:发送请求前,务必先将相对日期(如 “tomorrow”、“next Friday”)解析为标准格式 YYYY-MM-DD。
| 操作 | HTTP 方法 | 端点 |
|---|---|---|
| 列出所有任务 | GET | /api/tasks |
| 添加任务 | POST | /api/tasks |
| 编辑任务 | PUT | /api/tasks/{id} |
| 删除任务 | DELETE | /api/tasks/{id} |
| 添加子任务 | POST | /api/tasks/{id}/subtasks |
| 编辑子任务 | PUT | /api/tasks/{id}/subtasks/{sid} |
| 删除子任务 | DELETE | /api/tasks/{id}/subtasks/{sid} |
| 重新排序待办清单(backlog) | POST | /api/tasks/reorder |
| 清空已完成任务 | POST | /api/tasks/clear-done |
| 列出所有项目 | GET | /api/projects |
| 创建项目 | POST | /api/projects |
| 编辑项目 | PUT | /api/projects/{id} |
| 删除项目 | DELETE | /api/projects/{id} |
| 添加日志条目 | POST | /api/projects/{id}/entries |
| 删除日志条目 | DELETE | /api/projects/{id}/entries/{eid} |
{
"title": "字符串(必填)",
"date": "YYYY-MM-DD(默认为当天)",
"priority": "P0 | P1 | P2 | P3(默认为 P2)",
"type": "task | deadline | reminder | payment(默认为 task)",
"notes": "字符串",
"done": false,
"amount": "字符串(仅用于 payment 类型)",
"currency": "CHF | USD | EUR | BRL(默认为 CHF)",
"recurrence": null | {"type": "weekly", "dow": 0-6} | {"type": "monthly", "day": 1-31} | {"type": "yearly", "month": 1-12, "day": 1-31}
}
优先级含义:P0 = 关键任务 / 立即中断当前工作;P1 = 高优 / 今日必须完成;P2 = 普通任务;P3 = 待办池(backlog),不显示在日历中。
任务类型说明:task = 可执行动作;deadline = 硬性截止日期;reminder = 提醒类信息(FYI);payment = 账单/发票跟踪。
重复任务逻辑:当一个重复任务被标记为完成时,系统将自动创建下一次发生实例。
curl -sf http://localhost:8000/api/tasks > /dev/null && echo "OK" || echo "Server not running — run: bun-do start"
curl -s -X POST http://localhost:8000/api/tasks
-H 'Content-Type: application/json'
-d '{"title": "Buy milk", "date": "2026-03-01", "priority": "P2"}'
curl -s -X POST http://localhost:8000/api/tasks
-H 'Content-Type: application/json'
-d '{"title": "Server hosting", "date": "2026-03-01", "priority": "P1", "type": "payment", "amount": "29", "currency": "USD", "recurrence": {"type": "monthly", "day": 1}}'
curl -s http://localhost:8000/api/tasks | python3 -c "
import sys, json
for t in json.load(sys.stdin)['tasks']:
if 'SEARCH' in t['title'].lower(): print(t['id'], t['title'])
"
curl -s -X PUT http://localhost:8000/api/tasks/TASK_ID
-H 'Content-Type: application/json'
-d '{"priority": "P0", "date": "2026-03-15"}'
curl -s -X PUT http://localhost:8000/api/tasks/TASK_ID
-H 'Content-Type: application/json'
-d '{"done": true}'
curl -s -X DELETE http://localhost:8000/api/tasks/TASK_ID
curl -s -X POST http://localhost:8000/api/tasks/TASK_ID/subtasks
-H 'Content-Type: application/json'
-d '{"title": "Step one"}'
curl -s -X POST http://localhost:8000/api/projects/PROJECT_ID/entries
-H 'Content-Type: application/json'
-d '{"summary": "Shipped v1.3 with MCP server and OpenClaw skill"}'
以下模式可用于实现定时或自主行为:
晨间简报:GET /api/tasks,筛选今日任务 + 已逾期任务,并按优先级汇总呈现。
每日收尾:将当日已完成任务标记为 done=true,并向活跃项目中添加进展日志条目。
周度回顾:列出全部任务,高亮标出已逾期、以及尚未取得进展的 P0/P1 任务。
付款预测:筛选所有 type=payment 的任务,按月份分组并汇总金额。
YYYY-MM-DD 格式。请在发送请求前将 “tomorrow”、“next Monday” 等相对时间表达式解析为绝对日期。GET /api/tasks 默认会将已逾期的非付款类任务自动归入今日视图(即 date 字段仍保持原值,但逻辑上视为今日任务)。相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 133.9万人学习
共49课时 | 82.5万人学习