SuperAPI AI 工具集

harness

智能体与模型

查看项目

更新于 10-15 23:41

技能介绍

Harness 是一套可执行的协议,用于让智能体任务跨多个会话持续运行,具备自动进度恢复、任务依赖解析、失败回滚和标准化错误处理能力。其设计面向智能体而非人类,进度文件即上下文,任务列表带明确完成标准以防过早宣告完成,所有输出标准化为可 grep 格式,并强调幂等与失败安全。

主要命令包括:/harness init <project-path> 初始化项目文件;/harness run 启动或恢复无限循环;/harness status 查看进度与统计;/harness add "task description" 添加任务。仅当项目根目录存在 .harness-active 标记文件时钩子才生效,全部任务完成后需删除该标记。

进度持久化采用双文件系统:harness-progress.txt 为只追加日志,记录所有操作;harness-tasks.json 为结构化状态,包含任务状态、优先级、依赖、尝试次数、验证命令、失败清理和检查点等字段。任务状态流转为 pending → in_progress → completed 或 failed。

并发控制通过 mkdir 实现可移植的排他锁,默认独占模式,也可通过 session_config.concurrency_mode 设为 concurrent 模式,此时锁仅用于状态事务,任务认领需原子设置 claimed_by 与 lease_expires_at。

会话启动时读取进度与 git 状态、获取锁、恢复中断任务、执行健康检查、递增会话计数并选择任务。任务选择前进行循环依赖检测与阻塞传播,然后按优先级和 id 排序选取。执行周期包括认领、带检查点执行、验证、记录结果与回滚。停止条件包括全部完成、全部失败、达到每会话或总会话上限、用户中断。

上下文窗口恢复协议根据 git 状态、检查点和未提交更改决定恢复、完成或标记失败。错误处理按类别提供默认恢复策略,涵盖 ENV_SETUP、CONFIG、TASK_EXEC、TEST_FAIL、TIMEOUT、DEPENDENCY 和 SESSION_TIMEOUT。JSON 损坏时从 .bak 恢复,写入采用原子替换。环境初始化脚本 harness-init.sh 需幂等。日志格式统一为单行可 grep 结构。

限制方面,验证命令缺失时不得宣告完成;并发模式下多个 worker 不得共用同一 git 工作目录;任务元数据无法仅从日志重建。具体收费、平台支持与效果数据暂未提供。