Longtask System

状态文件驱动的长程任务管理系统,将任务拆分子任务,由守护进程按序触发,支持多 Agent 协作和失败自动恢复。

安装

概览

什么是Longtask System

Longtask System 是一个专为长程任务自动化设计的状态文件驱动管理系统,旨在解决传统任务执行中常见的‘睡着’、跳步和上下文丢失问题。该系统通过守护进程(daemon)持续监控任务状态,将复杂的长任务拆解为可管理的子任务序列,并按顺序触发执行。其核心设计原则是保持自动化流程的连续性——任何环节的中断(如 Agent 离线或 CLI 调用失败)都会导致任务标记为失败并启动恢复机制。为此,系统引入了 Agent Inbox 作为关键容错机制,支持原子级进度记录与崩溃后自动重启续做,确保任务执行的可靠性和可追溯性。 系统的运行逻辑围绕一个中心状态文件 `task_state.json` 展开:守护进程 `daemon.sh` 每15秒检查一次该文件,发现待处理(pending)的子任务时,将其状态更新为执行中(doing),并通过通知脚本 `notify_agent.sh` 向指定 Agent 发送执行指令。Agent 接收到任务后执行具体操作,完成后调用 `complete_step.sh` 标记当前步骤完成,随后 daemon 继续触发下一任务。整个流程形成闭环,实现了从任务分解、状态流转到结果反馈的全自动化管理。此外,系统支持多 Agent 协作,每个任务可分配给不同 Agent 并行处理,适用于需要分工协作的复杂工作流场景。

核心功能特点

  1. 基于状态文件的闭环任务管理,确保长任务执行的连续性与可靠性
  2. 内置 Agent Inbox 机制,实现原子级任务投递与崩溃后自动恢复
  3. 支持多 Agent 协作,可按需分配子任务至不同执行单元
  4. 可视化驾驶舱提供萌宠主题实时状态监控,直观展示任务进度与状态动画

适用场景

Longtask System 特别适用于需要长时间运行、分阶段执行且对中断容忍度低的自动化场景。例如,批量内容创作任务(如一次性生成数十篇深度文章)可被拆分为多个写作步骤,由不同 Agent 分别负责选题、撰写、润色等环节,系统则负责协调各步骤的顺序执行与异常处理。在科研数据处理中,若某项分析流程包含上百个依赖前序结果的中间步骤,使用 Longtask System 可避免人工监控带来的遗漏,并在任一计算节点失败时自动重试或回滚。此外,对于部署流水线中的多阶段发布任务(如代码构建→测试→灰度发布),该系统能保证各环节严格按序推进,即使某个测试环境临时不可用,也能通过 Inbox 机制保留任务状态,待资源恢复后无缝衔接。其可视化驾驶舱进一步提升了运维透明度,让管理者能实时掌握全局进度,特别适合分布式团队协作的大型项目。