用途:grind 用于在没有任何会话存活的情况下持续运行工作,例如整夜循环执行、反复迭代直到某个可测量的状态达成。它由 scripts/grind.sh 这个 bash while 循环驱动,每次迭代启动一个全新的模型进程,迭代之间不保留上下文,唯一记忆是一份只追加的 journal(JSONL)。
主要能力与规则:监督条件由 shell 命令 --gate 承担,gate 返回非零时循环只记录 wait 并休眠,不消耗模型调用;是否继续由 --check 的退出码决定,只有 --check 退出 0 才写入 done,agent 只能追加 progress、floor、attempt、note、reopen 等记录,不能自行宣告成功;每轮开始前从 journal 读取 floor 列表并注入提示词作为排除项。记录类型包括 start、iter/iter_end、wait、progress、floor、reopen、done、stalled/budget、stop/stopped。
使用方式:以分离方式启动,例如 setsid nohup bash ${CLAUDE_SKILL_DIR}/scripts/grind.sh run --journal /abs/run.jsonl --prompt-file /abs/PROMPT.md --check '...' --gate '...' --sleep 300 --stall-after 5 --max-iters 200 >/abs/grind.log 2>&1 </dev/null &。之后可用 status、tail、floors、stop 子命令查看或停止。退出码为 0 done、2 refused、3 stalled、4 budget、5 stopped。
适用场景与限制:适合工作可描述为一条命令加一个提示词、且会持续数天的任务;不适合需要某会话自身工具、连接器或审批的工作。不要前台运行,不要用 kill -9 结束,不要用里程碑文件作为 --check。资料未提供具体收费、价格与平台支持信息。