SuperAPI AI 工具集

worktree-execution

智能体与模型

查看项目

更新于 10-16 09:28

技能介绍

用途:为提示词对比或技能评测创建隔离的并行执行环境,基于 Git worktree 在临时目录中生成两份独立工作树,分别执行后比对结果。

主要能力:脚本 scripts/worktree-create.sh 创建一对工作树,默认标签 original / optimized,也可自定义(如 baseline 与 with-skill);支持传入 base_sha 将同一轮评测的每个 pair 固定到同一提交。工作树位于 ${TMPDIR:-/tmp}/,命名 worktree-rashomon-{label}-{timestamp},分支为固定基础提交的分离 HEAD,并通过 git worktree lock 写入运行 ID、owner PID、开始时间和租约到期时间作为活跃标记。脚本 scripts/worktree-cleanup.sh 可删除全部或指定工作树,--orphans 可清理已注册的孤儿工作树及过期的 Rashomon 锁。

使用方式:先运行创建脚本,再在同一消息中发起两个 Task 调用以实现真正并行;调用方命令决定调用哪些 agent 及 Task 结构,本技能只提供工作树基础设施。清理触发点包括报告生成成功后、任意失败的 finally 块、超时以及启动时的孤儿检测。长任务可在创建前设置 RASHOMON_LEASE_SECONDS 使租约覆盖运行时长。

限制:同一仓库只允许一个 rashomon 执行,不支持并发对比;需要支持 git worktree lock 的 Git 版本;需要足够磁盘空间容纳工作树副本。创建失败会报告 git 错误并建议检查仓库状态,清理失败记录警告并在下次运行尝试孤儿清理。

退出码:worktree-create.sh 0 成功、1 非 git 仓库、2 创建失败;worktree-cleanup.sh 0 成功或无需清理、1 非 git 仓库、2 部分清理失败。