网淘吧来吧,欢迎您!

返回首页 微信
微信
手机版
手机版

Taskr - Persistent Task Planning & Execution for AI Agents

2026-03-28 新闻来源:网淘吧 围观:3
电脑广告
手机广告

Taskr — 持久化任务规划与执行

Taskr为OpenClaw智能体提供持久化、结构化的任务管理,独立于聊天会话而存在。任务计划可经受上下文重置,可由任何机器上的任何智能体恢复执行,并且用户始终可以通过Taskr网页应用、VS Code扩展或移动端查看。

Taskr为OpenClaw提供的六大功能:

  1. 分层规划— 在执行任何操作前,将任意工作分解为嵌套式任务层级结构
  2. 持久化上下文— 任务、笔记和状态信息在会话重置与上下文压缩后仍能完整保留
  3. 跨智能体连续性— 任何智能体可从任何位置接管任何任务列表;get_task自动转移任务所有权
  4. 基于笔记的审计追踪— 笔记直接关联任务;因果逻辑保持集中,不会散落在聊天记录中
  5. 追溯同步task_sync记录Taskr启用前已完成的工作,填补历史记录空白
  6. 共享状态— 状态(开放进行中已完成已跳过)为代理和用户提供了明确、实时的进度概览

何时使用任务管理器

在以下情况使用任务管理器:

  • 工作包含3个或更多步骤,或耗时超过几分钟
  • 工作跨越多个会话,或可能需要转交给其他代理
  • 用户希望远程监控或审批进度
  • 从之前的会话中恢复工作

以下情况无需使用任务管理器:

  • 单一快速操作(少于3个步骤,短于2分钟)
  • 纯粹的信息检索或简单问题
  • 用户明确拒绝

主动默认设置:对于任何实质性工作,在开始前主动提供任务管理器选项

“我会先在Taskr中规划这个任务——在我开始之前,你可以先审阅任务分解。这样可以吗?”

一旦Taskr激活,就保持在Taskr中操作。不要在工作流程中半途放弃任务。仪表板中未完成的任务会造成混淆,并破坏审计跟踪。


核心循环

Plan → Create → Create CONTEXT note → Review with user → Execute → Document → Repeat
  1. 规划— 全面思考范围;在接触任何工具之前,将任务分解为阶段和子任务
  2. 创建create_task使用taskListTitle通过一次调用构建整个层级结构
  3. 创建CONTEXT笔记— 始终为新任务列表(TL_)附加一个CONTEXT笔记,包含背景、目标以及任何用户偏好
  4. 审阅— 向用户展示任务计划;在执行任何操作之前获得批准
  5. 执行get_task→ 执行工作 →update_taskstatus=done → 重复
  6. 文档— 在任务执行过程中随时附加笔记;在阶段完成时撰写进度笔记

单任务专注原则:每次只专注处理一个任务。获取任务将指定你为任务负责人(进行中)。在进入下一项前必须完成或跳过当前任务。


规划:任务层级设计

使用创建任务配合任务列表标题创建新的任务列表。单次调用可提交1–100个任务——务必预先创建完整层级结构,以便用户在开始执行前审阅。

层级定位标识:

  • "1""2""3"——顶层阶段(任务列表的直接子项)
  • "1.1""1.2"— 第一阶段下的子任务
  • "1.1.1"— 深层嵌套(最多10级)
  • 在同一调用中,父任务必须在其子任务之前声明

任务类型: 设置分析实施验证测试

保持任务聚焦。如果一个任务感觉太大,无法在一个代理轮次中完成,请将其分解为子任务——可以在创建时,或者在执行过程中通过create_task+parentId来分解。子任务可以防止上下文过载,并以适当的粒度展示进展。

创建任务列表后,请务必立即在任务列表上创建一个“上下文”备注:

create_note(type="CONTEXT", title="[Task List] — Context", body="...", taskId="TL_...")

执行中:正在处理任务

获取任务

调用获取任务以获取您的下一个任务。它会自动将状态设置为进行中并分配所有权。请使用获取任务— 不要手动将任务设置为进行中。

  • 省略任务列表ID以继续当前任务列表
  • 传递任务列表ID=TL_...以切换到不同的任务列表
  • 传递包含上下文=真以获取额外的任务上下文和备注
  • 传递绕过任务ID仅用于紧急任务切换

更新任务 — 两种模式

状态模式(单个任务):

update_task(taskId="TS_...", status="done", ruleContext="RU-PROC-001")

批处理模式(仅更新标题/描述 — 状态不允许批量操作):

update_task(tasks=[{taskId, title?, description?}, ...], ruleContext="RU-PROC-001")

任务状态 — 共享检查点

状态是代理和用户都能实时看到的检查点。请有纪律地使用它们。

状态含义
进行中准备开始处理
工作中由代理主动负责处理
已完成已完成并已验证
已跳过有意未完成 —必须创建一个“发现”说明来解释原因

完成最后一个子任务会自动标记父任务为已完成。您无需手动标记父任务。

处理意外工作

当您发现超出当前任务范围的工作时:

  • 阻塞当前任务创建任务(父任务ID=当前任务),完成子任务,继续
  • 不相关→ 先完成当前任务,然后为其他工作创建新任务
  • 可以等待→ 用 FINDING 注释记录,继续当前任务

正在审阅:get_task_hierarchy

使用get_task_hierarchy来浏览和审阅任务——而不是get_task。永远不要仅仅为了查看结构而调用get_task

范围它返回的内容
项目所有任务列表。首先使用depth=0仅获取名称——避免令牌膨胀
任务列表一个任务列表的完整嵌套层次结构。传递taskId=TL_...
子树一项任务及其所有子任务。通过taskId=TS_...

响应路径,用于task_list范围:data.task_lists[0].tasks[0].children[]


注释 — 附加到任务的审计追踪

注释附加到任务上。在任务2.3期间发现的成果就存在于任务2.3中——而不是漂浮在项目层面。任何后续恢复工作的代理都能在需要的地方获得完整的上下文。这可以防止信息变得碎片化。

注释类型:

类型使用时机
CONTEXT 上下文背景、目标、用户偏好、决策 — 请在任务列表创建后立即在TL_上创建
FINDING 发现工作期间遇到的发现、问题、阻碍、见解
PROGRESS 进展阶段完成情况 —仅适用于阶段级别的任务(任务"1"、"2"、"3" — TL的直接子任务)。不适用于叶子任务
FILE_LIST 文件列表用户系统上创建、修改或删除的文件
其他任何不符合上述分类的内容

笔记规范:

  • 将笔记关联到最具体的相关任务(任务集 > 任务列表 > 项目范围)
  • 更新现有笔记而非创建重复项——使用update_note
  • 创建前先搜索:search_notes以便在恢复工作时获取先前上下文
  • 跳过状态变更必须附带说明原因的FINDING类型笔记

两步式笔记检索:

  1. list_notes(taskId="TL_...", includeDescendants=true)——获取ID和标题(data.notes.notes[]
  2. get_note(noteId="NT_...")——需要时获取完整内容

task_sync —— 追溯性记录管理

使用task_sync当Taskr激活之前已有工作发生,或需要追溯性填补任务历史中的空白时。三个步骤:

步骤1 — 概览(无参数):所有任务列表的轻量级摘要

task_sync(ruleContext="")
→ data.sync_check.task_lists[]: {id, name, status, task_count, done_count, open_count, wip_count}

步骤2 — 深入查看(传入任务列表ID):包含标题、描述、状态、层级的完整任务平铺列表

task_sync(task_list_id="TL_...", ruleContext="")
→ data.sync_drill_down.tasks[]: {id, task_number, title, description, status, level, parent_id}

步骤3 — 创建已完成任务(传入项目数组[]):创建预先标记为已完成

task_sync(items=[
  {
    "action": "create_done",
    "title": "...",
    "parentId": "TS_or_TL_...",
    "description": "...",
    "type": "implementation"
  }
], ruleContext="")

的任务每个项目需包含操作类型:"create_done"标题父级ID(TS_或TL_开头)为必需字段,除非通过提供任务列表标题来创建新任务列表——未提供默认使用该新列表。每次调用最多包含50个项目。

同步后,将CONTEXT或FINDING备注附加到创建的任务中,以记录工作背后的原因。


跨会话与跨智能体连续性

Taskr状态存储于云端——而非您的上下文窗口中。要恢复工作:

  1. 搜索备注——查找先前的决策、上下文和发现
  2. 获取任务层级(范围="项目",深度=0)——识别活动任务列表
  3. 获取任务(任务列表ID="TL_...")——在停止处接管所有权
  4. 执行前审阅CONTEXT和PROGRESS备注

任何智能体——不同会话、不同机器、不同模型——都能在停止处精确恢复工作。任务列表是计划。备注是记忆。状态是当前状况。


设置

当凭证缺失时:

  1. 向用户获取凭证:

    • 项目ID:访问项目页面https://taskr.one(格式:PR_00000000...)
    • API密钥:用户头像 → API密钥菜单(点击眼睛图标或复制按钮)
  2. 通过以下方式配置gateway.config.patch

    {
      "skills": {
        "entries": {
          "taskr": {
            "env": {
              "MCP_API_URL": "https://taskr.one/api/mcp",
              "MCP_PROJECT_ID": "<project-id>",
              "MCP_USER_API_KEY": "<api-key>"
            }
          }
        }
      }
    }
    
  3. 验证:调用tools/list并确认create_task存在。

用户可以为不同的工作场景创建多个项目。

对于 mcporter/其他 MCP 客户端:

mcporter config add taskr "$MCP_API_URL" \
  --header "x-project-id=$MCP_PROJECT_ID" \
  --header "x-user-api-key=$MCP_USER_API_KEY"

快速参考

需要工具
创建计划create_task(taskListTitle + tasks[])
为新任务列表添加上下文create_note(type=CONTEXT, taskId=TL_)
获取下一个任务获取任务
标记为已完成更新任务(taskId, status="done")
标记为已跳过更新任务(status="skipped") +创建笔记(发现)
浏览任务结构获取任务层级
执行过程中添加子任务创建任务(parentId=TS_or_TL_)
记录发现创建笔记(type=FINDING, taskId=TS_)
阶段里程碑笔记创建笔记(type=PROGRESS, taskId=TS_ phase task)
追溯历史任务同步(三步)
从先前会话恢复搜索笔记 获取任务层次结构获取任务查找先前上下文搜索笔记
列出笔记ruleContext 值:传递模式中的规则ID(例如:

RU-CTX-001RU-PROC-001RU-NOTE-001)。当模式说明“将此参数留空”时,传递""""when the schema says "Leave this parameter blank."

免责申明
部分文章来自各大搜索引擎,如有侵权,请与我联系删除。
打赏
文章底部电脑广告
手机广告位-内容正文底部

相关文章

您是本站第289435名访客 今日有217篇新文章/评论