自主循环脚本生成器 ctx-loop

ctx-loop是一个用于生成无人值守AI开发循环脚本的工具。它支持多种AI工具(Claude、Aider等),可自定义迭代参数和完成信号,实现自动化项目迭代。关键词:AI开发自动化,无人值守迭代,循环脚本生成,自主代理,DevOps自动化,AI工具集成

DevOps 0 次安装 0 次浏览 更新于 2/27/2026

名称: ctx-loop 描述: “生成自主循环脚本。用于为项目设置无人值守迭代时使用。” 允许工具: Bash(ctx:*)

生成一个可直接使用的自主循环shell脚本。

生成前检查

  1. 检查现有循环脚本: 在项目根目录中查找loop.sh;覆盖前请确认
  2. 验证PROMPT.md是否存在: 生成的脚本默认读取PROMPT.md;如果缺失,询问用户使用哪个提示文件
  3. 验证.context/是否存在: 循环模式依赖于持久化上下文;如果需要,请先运行ctx init

使用场景

  • 为项目设置自主迭代时
  • 当用户希望运行无人值守的AI开发时
  • 切换AI工具(例如从Claude切换到Aider)并需要新的循环脚本时
  • 自定义循环参数(最大迭代次数、完成信号、提示文件)时

不适用场景

  • 交互式结对编程会话(直接使用AI工具即可)
  • 用户已有可用的循环脚本且未要求更改时
  • 项目缺少.context/PROMPT.md时(请先使用ctx init --ralph设置)

使用示例

/ctx-loop
/ctx-loop --tool aider
/ctx-loop --prompt TASKS.md --max-iterations 10
/ctx-loop --completion SYSTEM_BLOCKED --output my-loop.sh

参数标志

标志 简写 默认值 用途
--prompt -p PROMPT.md 循环读取的提示文件
--tool -t claude AI工具: claude, aider, generic
--max-iterations -n 0 (无限制) N次迭代后停止
--completion -c SYSTEM_CONVERGED 结束循环的信号
--output -o loop.sh 输出脚本文件名

支持的工具

工具 生成的命令
claude claude --print "$(cat <prompt>)"
aider aider --message-file <prompt>
generic 自定义AI CLI的模板存根

完成信号

循环监视AI输出中的这些信号:

信号 含义
SYSTEM_CONVERGED 所有任务完成;循环退出
SYSTEM_BLOCKED 需要人工输入;循环退出
BOOTSTRAP_COMPLETE 初始脚手架完成;循环退出

执行

ctx loop $ARGUMENTS

该命令写入一个shell脚本(默认loop.sh)并使其可执行。报告生成的路径以及如何运行:

chmod +x loop.sh   # ctx loop已自动完成
./loop.sh

安全注意事项

  • 生成的脚本包含set -e和每次迭代间1秒的睡眠,以防止失控循环
  • 强烈建议首次运行时使用--max-iterations;如果用户省略,建议合理的默认值(例如10)
  • 脚本使用|| true捕获AI工具错误,因此一次失败的迭代不会终止整个循环
  • 自主代理受益于PROMPT.md中的显式推理提示——在迭代提示中添加“每次更改前逐步思考”可显著提高准确性,并减少无人值守运行中的级联错误

质量检查清单

报告成功前,请验证:

  • [ ] 生成的脚本存在于输出路径
  • [ ] 脚本可执行
  • [ ] 脚本中引用的提示文件实际存在
  • [ ] 如果使用--max-iterations 0,用户知道它将运行直到出现完成信号(警告他们)