project
GoSkill - 开源的长任务推进工具,内置重试循环与状态追踪
GoSkill 是面向长任务与复杂任务的推进工具。工具通过装饰器或类方式封装任务,将'一次性 Skill 调用'升级为'围绕目标持续推进,直到满足成功标准或超时'的执...
GoSkill是什么
GoSkill 是面向长任务与复杂任务的推进工具。工具通过装饰器或类方式封装任务,将”一次性 Skill 调用”升级为”围绕目标持续推进,直到满足成功标准或超时”的执行模式。GoSkill适用需要明确验收标准、状态追踪和分阶段完成的自动化场景,如大规模重构、长时间分析等。
GoSkill的主要功能
-
目标定义:支持通过
goal参数明确任务目标,将任务意图结构化表达。 -
成功标准:通过
criteria字典定义多维度验收条件,量化完成标准。 -
持续重试:内置执行循环,未达标时自动等待并继续尝试,直到成功或超时。
-
状态追踪:提供
status属性实时查看尝试次数、运行时长及检查结果。 -
结构化返回:
run_with_result()返回包含 success、attempts、criteria_report 的结构化结果对象。 -
灵活封装:支持装饰器
@goskill和类GoSkill两种调用方式,轻量嵌入现有代码。
如何使用GoSkill
-
安装依赖:克隆仓库后执行
make install-dev完成环境配置。 -
定义任务:使用装饰器或实例化
GoSkill类,传入goal、criteria、max_hours等参数。 -
编写逻辑:在函数或 lambda 中实现具体任务逻辑并返回结果字典。
-
执行运行:调用
run()获取原始结果,或调用run_with_result()获取结构化执行报告。 -
查看状态:通过
skill.status查看当前目标、尝试次数、已运行时长及达标情况。 -
运行示例:执行
python examples/basic_usage.py查看最小可运行 Demo。
GoSkill的关键信息和使用要求
-
项目定位:单机、单进程、轻量级的 goal-driven execution helper,非分布式调度系统。
-
适用边界:适合长任务、复杂任务、需明确验收标准的场景;不适合单次问答、极小同步函数。
-
依赖环境:Python 环境,通过 Makefile 管理开发、测试与构建流程。
-
协议许可:支持Apache-2.0 开源协议,可自由商用与二次开发。
-
当前状态:实验性执行模式原型,面向 OpenClaw / Agent workflow 的轻量封装。
GoSkill的核心优势
-
目标驱动:将任务从”执行一次”升级为”围绕目标持续推进”,确保结果可验收。
-
过程透明:内建状态追踪机制,随时查看尝试次数、时长及达标进度。
-
轻量无侵入:仅通过装饰器或类封装即可接入,不改造原有业务逻辑。
-
预期对齐:明确项目边界,不承诺分布式调度等企业级能力,建立可信预期。
GoSkill的项目地址
- GitHub仓库:https://github.com/AIPMAndy/goskill
GoSkill的同类竞品对比
| 对比维度 | GoSkill | Tenacity | Prefect |
|---|---|---|---|
| 核心定位 | 目标驱动执行辅助工具 | 通用重试装饰器库 | 现代数据流工作流引擎 |
| 目标定义 | 原生支持 goal 参数 |
无目标概念 | 通过 Flow 间接定义 |
| 验收标准 | 结构化 criteria 字典 |
仅异常类型判断 | 支持自定义状态检查 |
| 持续重试 | 达标或超时自动循环 | 丰富退避策略 | 任务级重试配置 |
| 状态追踪 | 内建 status 实时查看 |
无状态对象 | 完整 UI 与 API 状态流 |
| 执行封装 | 装饰器 + 类,轻量无侵入 | 装饰器极简接入 | 需定义 Flow,较重 |
| 部署依赖 | 无,纯 Python 单机运行 | 无 | 需 Prefect Server/Cloud |
| 适用场景 | 长任务/复杂任务/明确验收标准 | 函数级异常重试 | 数据管道/ETL/定时调度 |
GoSkill的应用场景
- 代码工程迁移:适用大规模项目重构或跨平台迁移,如将 Android 项目迁移至鸿蒙系统,通过设定编译零错误、测试通过率等硬性指标,持续迭代直至达标。
- 批量数据处理:适合长时间分析任务,如批量分析 1000 份财报或处理大规模数据集,利用覆盖率与完整性标准自动推进,避免人工逐轮检查。
- 自动化验收流程:面向需要明确验收标准的 CI/CD 或测试环节,将”执行—校验—重试”封装为闭环,确保每次部署都满足预设质量门槛。
- 科研与迭代实验:通过定义阶段性成功标准,自动追踪实验进度,减少重复手动操作。
- Agent 工作流增强:作为 OpenClaw 或 AI Agent 的长任务执行封装层,弥补单次 Skill 调用”做完即停”的缺陷,提升复杂任务完成的可靠性。