系统概述

基于 Anthropic long-running harness 和 lofty-fe-claude-plugin 实践构建的个人待办管理系统,位于 ~/.openclaw/workspace/custom-func/todo-harness/

核心设计原则(四条硬规则)

  1. 一次只推进一个最重要任务(单步增量)
  2. 每一步必须可验收(Definition of Done)
  3. 每一步结束必须留结构化日志(可被下个会话接手)
  4. 阻塞必须显式升级(不允许静默卡住)

数据模型(四层分离)

A. task_inventory.json(事实层)

  • 用途: 任务的唯一事实源(Single Source of Truth)

  • 存储内容: 任务定义、优先级、依赖关系、验收标准

  • 字段:

    • task_id: 唯一标识
    • title: 任务名称
    • description: 详细描述
    • area: 任务领域(work-management/personal/technical)
    • priority: 优先级(high/medium/low)
    • impact: 影响力(1-5)
    • urgency: 紧急度(1-5)
    • effort: 工作量(1-5)
    • risk: 风险评估(low/medium/high)
    • status: 状态(todo/doing/complete)
    • owner: 负责人
    • depends_on: 依赖任务ID数组
    • acceptance: 验收标准数组
    • execution_mode: 执行模式(manual/auto-candidate)
    • executor: 执行者(sean/assistant/both)
    • created_at: 创建时间
    • updated_at: 更新时间
  • 队列结构:

    • inbox: 未分类任务
    • backlog: 待办池
    • active: 进行中
    • waiting: 等待中
    • done: 已完成

B. progress_log.json(行为层)

  • 用途: 事件流 + 栈顶驱动
  • 特点: [0] 永远是当前或下一任务
  • 典型流转: todo -> doing -> complete
  • 阻塞处理:block 状态并附 blocking_reason + ask
  • 字段:
    • task_id: 关联任务
    • task_name: 任务名称
    • status: 当前状态
    • summary: 摘要说明
    • next_action: 下一步动作
    • timestamp: 记录时间
    • completed_by: 完成者(仅完成时)

C. daily_focus.json(执行层)

  • 用途: 当天 Top3 + 时间块分配
  • 目标: 保证日内不被低价值任务淹没
  • 内容: 每日最多3个核心任务 + 预计时间块

D. rules.json(策略层)

  • 用途: WIP 限制、优先级算法、升级规则
  • 包含内容:
    • WIP(Work In Progress)限制
    • 优先级计算公式
    • 任务升级规则
    • 自动执行策略

调度策略

优先级计算公式

score = impact × 3 + urgency × 3 - effort - risk_penalty

选择规则

  1. 先过滤掉 depends_on 未满足项
  2. todo 队列按 score 取最高分任务
  3. 若高优先级紧急任务到来,允许抢占当前任务
  4. 同时进行任务数 ≤ wip_limit(默认1)

自动执行策略

  • execution_mode: “auto-candidate” → 系统识别为可自动执行
  • executor: “assistant” → 由 clawBot 自动派发 sub-agent 执行
  • executor: “sean” → 需要 Sean 人工介入
  • executor: “both” → 协作完成

会话运行协议(Agent Runbook)

每次与 Sean 会话时执行的标准流程:

  1. 读取栈顶: 读取 progress_log.json 顶部,确认当前任务状态
  2. 选择任务: 读取 task_inventory.json,找到可执行的最高优先级任务
  3. 推进一步: 推进一个最小可交付步(不跨太大范围)
  4. 更新日志: 更新进度日志并写入下一任务状态
  5. 输出四项汇报:
    • 当前完成了什么
    • 接下来做什么
    • 风险/阻塞点
    • 需要 Sean 决策什么

阻塞与升级机制

阻塞判定

  • 任务无法继续推进时,立即标记为 block 状态
  • 附加 blocking_reason 说明原因
  • 附加 ask 说明需要什么决策

自动升级

  • 阻塞超过 24h 自动升级
  • 升级消息模板:
    阻塞任务: <task_id>
    原因: <blocking_reason>
    建议决策: <options A/B/C>
    若无回复默认策略: <fallback>
    

工作方式承诺

clawBot 对 Sean 的工作承诺:

  1. 结构化优先: 把自然语言任务先转成结构化条目,再执行
  2. 透明可见: 主动维持”当前任务 + 下一任务”可见
  3. 增量推进: 不会一次吃掉太多任务导致失控
  4. 关键决策点: 在关键决策点向 Sean 要明确指令
  5. 主动推进: 先行动后汇报,避免被动等待(仅关键点请求决策)

自动化机制

每日 00:00 - 任务巡检

  • 检查所有任务状态
  • 识别超时任务
  • 更新任务优先级
  • 清理已完成任务

每日 07:00 - 早间提醒

  • 发送今日待办清单
  • 汇报昨日完成项
  • 汇报 assistant 代办完成项
  • 提示需要 Sean 决策的事项

任务输入模板

推荐格式(可直接发送自然语言,系统会自动结构化):

- 任务:
- 背景:
- 截止时间:
- 预期结果:
- 优先级(高/中/低):
- 依赖:
- 是否需要你拍板(是/否):

示例:

- 任务:本周完成 Smart Plan 列表页性能优化方案
- 背景:线上卡顿,客服有反馈
- 截止时间:周五 18:00
- 预期结果:可落地优化清单 + 风险评估 + 排期建议
- 优先级:高
- 依赖:后端给接口耗时分布
- 是否需要你拍板:是(是否分两期上线)

系统文件结构

~/.openclaw/workspace/custom-func/todo-harness/
├── docs/
│   ├── SYSTEM.md           # 系统设计文档
│   └── INPUT_TEMPLATE.md   # 任务输入模板
├── state/
│   ├── task_inventory.json # 任务清单(事实层)
│   ├── progress_log.json   # 进度日志(行为层)
│   ├── daily_focus.json    # 每日焦点(执行层)
│   └── rules.json          # 策略规则(策略层)
├── scripts/                # 自动化脚本
└── README.md              # 系统说明

成功案例(已完成任务)

  1. W-002: 买衣服提醒(cron 定时提醒)
  2. W-003: 建立待办强制入库与午夜巡检机制
  3. W-004: 每日 07:00 待办提醒
  4. W-005: 自动识别可自执行任务并用 sub-agent 执行
  5. W-006: 工作模式升级(主动推进而非被动问答)
  6. W-007: Obsidian 笔记静态网站完整部署方案
  7. W-008: 执行 Obsidian 静态站部署到 Cloudflare Pages

系统特色

  1. 增量推进: 防止任务爆炸,一次一小步
  2. 可接力: 结构化日志保证跨会话可接手
  3. 主动驱动: 不等指令,自动识别下一步
  4. 透明可控: 关键决策点请求确认,日常自主推进

生成时间: 2026-02-12 18:03 GMT+8 系统版本: 1.0.0 维护者: clawBot