@ adiildo/ pi- tasks( 任务)
会话记忆,在你工作时保存.
代理人所为所为所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出.
pi install npm:@adeildo/pi-tasks
它的存续
Session: OAuth for the MCP server
Doing:
- Round the corners of the README images
Waiting:
- Commit and push straight to main (on you: production has no SECRET yet)
Queued:
- Explain the auth mode in .dev.vars.example
- Write the 1.0.0 release notes
Done, newest first:
- Show loading while history arrives → progress bar on /status (left: not tried with a real phone sync)
- Use one secret with an auth mode → SECRET and AUTH_MODE, 53 tests pass
Decided:
- One SECRET with a mode: API_KEY, OAUTH or BOTH
每项任务在六个州中的一个:
| 状态 | 手段 |
|---|---|
doing | 探员在上面 有几个任务可以完成,因为一次跑步常常能满足你中途的要求 |
queued | 你要求的 代理还没有开始 3跑跑过它 标记它 Stale |
waiting | 它停止在你身上,就像一个推 经纪人问,或者在外的东西, 像一个建筑 |
deferred | 你把它关了 |
done | 已完成,结果(承诺、URL、数字)及其遗漏 |
dropped | 你放弃了,或者重复了另一个任务 |
清单将决定与任务分开。 一个决定是您作出的选择, 或者一个代理报告, 某人阅读会话后不能撤销.
模型用您信件的语言写出每个任务, 是一个简短的要务, 它要说明您有什么变化, 不是哪个文件改变了 .
它显示的地方
Alt+T: 代理工作作为您可以引导的列表, 以及等待您的任务.
Alt+T 打开聊天中的任务, 按状态, 结尾有决定 。 箭头会移动一个光标,而底部的相板则会完整地显示它下面的任务:结果,它留下的东西,它为什么等待,当它被问到时,开始和关闭. d 显示已放弃的任务,以及 Esc 关闭它。 它在打开时更新.
键会改变光标下的任务,页脚会列出适合它的任务: Enter 开始吧, x 标记它做了, p 推迟 Backspace 放下枪 你在这里做什么都是你的, 就像一个信息,一个任务你放弃回来 d 财务报告和审定财务报表 Enter。 。 。 .
Pi的脚印显示代理商在做什么. 与 @adeildo/pi-look,任务坐在编辑器上方的行右上方,等待多少,被排队完成.
Alt+S 设有任务标签,用于编辑会话的标题、代理正在做什么和排队内容,并读取等待、完成和决定的内容.
如何保持时态
没人写 一个小的模型读取列表,只读取变化的事物,用操作来解答,永远没有全新的列表,因此它不能重写所发生的事情. 它运行在三分钟.
你的留言. 模特儿读了它 外边的经纪人刚刚说, 这是一个简短的"是的,做它"的答案。 一个长的信息保持它的开始和结束,因为你要求的东西你粘贴的通常是在它之后。 它可以开始一个任务,继续一个, 推迟它, 放下它,标记它完成 当你说自己做了它, 记录一个决定 /resume。“它出错”这样的修正继续了它的任务,并在完成后重新进行。 问题或被粘贴状态不会改变任何东西。 您在问题对话框中的答案 : @adeildo/pi-ask-questions 算作您的信息,所以您选择的选项或离开的纸条可以解决决定或批准任务.
你问在跑道之间 代理现在做什么, 它在做什么 等待它的轮回。 你问什么 当代理工作等待 queued没有任何东西被搁置, 因为经纪人通常在同一跑道上.
一跑的结束. 模型读了整个运行, 每一个您在运行期间发送的信息, 包括编号的行, 并给每个开放的任务下一个判断: 不加区分, 完成它的结果, 仍在进行中, 或者等待您或者外面的东西。 中途你排好队的任务 和特工们所做的一样 还可以记录被举报人的决定。 它从来没有增加一个任务: 只有你的信息做, 以及一个任务所留下的 left,您要求的下一个任务可以选择。 任务只在这里关闭,因为中跑的经纪人的话会说出它接下来所做的比它所做的更多.
干净的通行证. 每次跑后,模型都查看了整个名单. 它合并了两个说同一份工作的任务,将一个任务重命名为您的语言,并在会话移动或不短英语时移动标题. 它永远不会关闭任何东西.
每一次改变都需要用字来表达
为了标出在运行结束时完成的任务,模型引用了报告它的行,比如 L12。扩展仅当该行:
- 是经纪人自己说的话 不是工具电话 也不是你的消息,
- 报告工作,而不是宣布工作
I'll push now财务报告和审定财务报表Agora o roteador:在电话不计数之前, - 是在任务存在之后写的,
- 在电话失败或被你拒绝之后,你不会马上来.
未完成这些检查的操作仍在进行中。 任务只等待在线上 代理问你 或说它等待什么, 没有一个 它停留原样.
支票也读了你的留言 新的任务需要你要求它的话,所以你贴上的计划不会成为每一步一个任务. 一个决定需要你拒绝的选项,所以你确认的一个步骤("我们标记v1.0.0并释放它")不是一个步骤. 当你说自己做了一些事情的时候,你的话必须给任务起名,并说它发生了:"它成功了","让我们推"什么也没有关闭. 每个被拒绝的操作都保留在会话条目下 rejected。 。 。 .
只有你的话成为意图
许可法官 @adeildo/pi-ask-permission 阅读会话的标题 以及代理正在做的事 作为你的意向, 除了你的最后一个消息 Alt+S。一个任务,在代理的作品从未到达之后,模型被重新命名。 模型从未看到工具返回什么,因此文件或页面中的指令不能成为法官读取的意图. 它读到的一个结果就是你在问题对话中的答案, 因为你写或选取了它们.
还有谁读的
扩展名将每个更改写成 pi-tasks:update 输入会话中,包含操作,什么触发它们,模型读取的条目(covers),模型,它的成本和由此产生的列表. 每项任务都保留您想要的邮件条目(asks)和它开始和关闭的条目,因此读者可以打开那部分对话. 当前列表是分支的最后一次更新,所以它遵循 /tree 还有叉子.
- 其他软件包读取 live 列表
currentTasks()内@adeildo/pi-kit,任何读取会话文件的都读取tasksFromEntries()。 。 。 . describeTasks()写给一个读者,没有聊天, 就像另一个代理 或压缩 放弃历史和保存决定.
记录的会议 @adeildo/pi-goal 作为任务打开:正在进行的步骤是 doing,你所推迟的是 deferred新的要求被搁置了 queued。 。 。 .
测量它
bun run tasks:eval 运行中 eval/cases.ts 反对克洛德·海库,每人三次--runs 5 并说哪些任务是正确的。 这些案件来自真正的开庭。 主要一项是30分钟的跑步 期间你收到了6条留言 球门时间线将它作为关上一步和5个项目 later它以Anthropic的描述来表示 @adeildo/pi-providers。 。 。 .
bun packages/tasks/eval/replay.ts <session.jsonl> 播放通过任务录制的会话,通过消息和运行来运行消息,并打印它们原本会保存的东西,同时引用每个拒绝关闭的行.
bun packages/tasks/eval/extract.ts <session.jsonl> 打印一个会话,作为模型读取,从中剪去新案件.
设置
在任务标签上 Alt+S,存储于 tasks 内 ~/.pi/agent/extensions/pi-harness/settings.json数字 :
| 设置 | 默认 | 对 |
|---|---|---|
| 型号 | auto | auto 是会议提供商最便宜的模型, session 和你说话的那个 或者任何模特儿 当它失败时,会场模型的答案 |
| 会话名称 | 打开 | 在会议名称后命名, 所以 /resume 而外观显示它 而不是你的第一个消息。 你给的名字 /name 留下来 |
每通电话都是一个简短的请求。 与克洛德·海库,大约需要3秒,花费约0.003美元,一个转弯可以达到2到3:你的信息,跑道的结束和整洁的通行证. 每个电话都记录它的成本, 即使一个没有改变什么(pi-tasks:usage) (中文(简体) ). 任务标签显示总计, 外观将其添加到会话成本中 。 更新只在 pi 有 UI 时运行,所以打印运行和子代理不会额外调用.
部分 鸡尾酒将每个部件都安装在一起.
带给你的 adeildo.dev (英语)