Task Father

📁 文件级持久化任务状态机引擎

基于文件系统的持久化任务状态机生成器,支持注册表管理、生命周期状态追踪、队列文件及定时任务编排,专为 OpenClaw 工作空间的长时运行任务设计。

收藏
6.7k
安装
2.1k
版本
0.1.0
CLS 安全性认证2026-08-12
点击查看完整报告 >

使用说明

核心用法

task-father 是一款面向 OpenClaw 工作空间的文件级任务状态机管理工具,通过结构化的目录布局实现任务的持久化追踪。其核心架构包含三层:全局注册表 TASK_REGISTRY.md、任务级目录 tasks/<slug>/ 及其子组件(TASK.md 元数据文档、TODOS.md 待办清单、scripts/ 脚本目录、crons/ 定时任务配置、可选队列状态文件)。

初始化流程支持对话优先模式,用户通过 6 步交互定义任务元数据,随后由 Python 脚本生成标准化文件结构。生命周期管理涵盖状态迁移(active/paused/completed)、日志追加、队列启用及 cron 作业绑定四大操作,所有变更均通过幂等的 CLI 命令完成。

显著优点

1. 持久化与可恢复性:基于 JSONL 的队列文件(queue/done/failed/lock)天然支持断点续传,append-only 日志模式确保审计可追溯
2. 零外部依赖:纯文件系统实现,无需数据库或消息队列,降低基础设施复杂度

3. OpenClaw 原生集成:深度适配 workspace 概念,支持 agent 级权限隔离和 cron 调度

4. 声明式配置:通过 config.env 实现机器级参数分离,保证 SKILL.md 的可移植性

5. 版本控制友好:Markdown + JSONL 格式便于 Git 追踪变更,changelog 强制时间戳规范

潜在局限

  • 并发控制粗粒度:依赖文件锁(lock.json)而非数据库事务,高并发场景可能出现竞态条件
  • 无内置监控:缺少任务执行指标采集,需自行集成外部观测系统
  • Python 版本耦合:依赖 openclaw CLI 可用性,跨平台部署受限于宿主环境
  • 队列规模瓶颈:纯文件 I/O 在万级条目以上时性能衰减,不适合高频流式处理

适合人群

  • 需要离线优先、可 Git 管理的任务编排的 OpenClaw 深度用户
  • 构建周期性数据管道(爬虫、报表生成、批处理)的自动化工程师
  • 追求基础设施极简化的个人开发者或小型团队

常规风险

1. 数据丢失:未配置备份策略时,workspace 目录损坏将导致任务状态不可逆丢失
2. 权限逃逸scripts/ 目录可执行任意代码,需配合 OpenClaw 的 agent 沙箱机制

3. cron 堆积:未设置超时保护的定时任务可能形成僵尸进程队列

4. 配置漂移:多机器环境若 config.env 不同步,可能导致任务路径解析异常

安全建议

  • 定期归档 done.jsonl 并压缩历史 artifacts
  • crons/ 目录设置只读权限,防止运行时注入
  • 启用 openclaw 的审计日志以追踪 task_father.py 的调用链

安全解读

核心用法

task-father 是一个基于文件系统的任务状态机生成器,专为 OpenClaw 工作空间设计。用户通过交互式对话或命令行创建任务,工具会自动生成标准化的目录结构和状态文件。核心工作流包括:初始化任务(init)、设置状态(set-state)、启用队列(enable-queue)、配置定时任务(cron-add)。每个任务文件夹包含 TASK.md(元数据与决策记录)、TODOS.md(待办清单)、scripts/(脚本目录)、crons/(定时配置)以及可选的队列状态文件(queue.jsonl/done.jsonl/failed.jsonl/lock.json)。这种设计使得任务状态完全透明、可版本控制,并支持断点续作。

显著优点

极致简洁与可移植性:纯 Python 标准库实现,无第三方依赖,单文件即可运行。配置通过环境变量隔离,易于在不同机器间迁移。

透明可追溯:所有状态变更以追加方式写入文件,形成天然的操作日志。TASK.md 的变更日志(Change Log)强制记录时间戳,便于审计与复盘。

故障恢复能力:队列文件采用 JSON Lines 格式,配合锁文件(lock.json)机制,支持幂等处理和崩溃恢复,特别适合长时运行的批处理任务。

与 OpenClaw 深度集成:原生支持 openclaw cron 命令,可直接将任务纳入系统的定时调度体系。

潜在缺点与局限性

扩展性瓶颈:文件系统在高并发写入场景下可能成为性能瓶颈,锁机制虽简单但非分布式设计,不适合多机协作。

缺乏可视化:所有状态以文本文件呈现,无内置 Web 界面或图形化监控,需要用户熟悉 Markdown 和命令行操作。

版本管理负担:任务文件夹随时间累积,需用户手动归档或清理历史任务,否则工作空间可能臃肿。

功能边界明确:专注于任务生命周期管理,不提供任务执行引擎本身,实际工作仍需依赖外部脚本或 Agent 调用。

适合的目标群体

  • 个人开发者与小型团队:需要轻量级、可自托管的任务管理方案,不愿引入复杂的数据库或消息队列。
  • OpenClaw 深度用户:已在使用 OpenClaw 平台,希望统一任务调度与文件管理体验。
  • 可重复科研与自动化运维:需要完整记录任务决策过程、支持审计追踪的场景,如实验管理、数据管道编排。
  • 离线或隔离环境:无法连接外部服务,必须纯本地运行的安全敏感场景。

使用风险

性能风险:大量小文件 I/O 在机械硬盘或网络文件系统上可能产生延迟,建议 SSD 本地存储。队列文件无自动轮转机制,长期运行的任务需手动分割或归档。

数据一致性:虽然设计了锁文件,但极端情况下(如进程崩溃未释放锁)可能需要手动清理 lock.json。建议关键任务配合外部监控告警。

路径注入风险:用户输入的 task slug 和 cron 名称虽经处理,但仍建议避免特殊字符,配置文件中 WORKSPACE_DIR 等路径应使用绝对路径防止解析异常。

维护可持续性:当前版本 0.1.0 为早期发布,维护者为个人开发者(moodykong),建议生产使用前 fork 并建立内部维护流程,或密切关注上游更新。

许可证风险:当前未明确指定开源许可证,存在使用条款模糊的风险,建议联系作者确认或等待正式版本添加 LICENSE 文件。

Task Father 内容

scripts文件夹
手动下载zip · 5.5 kB
task_father.pytext/plain
请选择文件