Task Father

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

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

收藏
6.7k
安装
2.1k
版本
0.1.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

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 内容

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