1. 项目定位与用途
Grove 是一款面向 Claude Code/Codex 的自主 AI 开发循环 CLI 工具,定位为“无人值守编码 orchestration 系统”。其核心用途是通过自动化管理 AI 会话生命周期,让开发者仅需定义任务并执行 `grove run`,即可让系统自主完成从任务调度、上下文轮换、多阶段工作流执行到结果镜像的完整闭环。工具不仅提升编码效率,更通过结构化转录存档和 playbook 记忆机制,将单次编码会话转化为可积累、可复用的组织知识资产。
Grove 是一款为 Claude Code/Codex 设计的 Rust CLI 工具,通过自动化会话管理、上下文轮换和多阶段工作流执行,实现无人值守的 AI 编码。本文详细介绍其安装配置、使用方式、核心技术架构及适用场景,帮助开发者快速上手这一“睡觉时写代码”的自动化解决方案。
Grove 是一款为 Claude Code/Codex 设计的 Rust CLI 工具,通过自动化任务调度、会话管理和上下文轮换,实现无人值守的 AI 开发循环,让复杂编码工作流在单条命令下自主完成。
Grove 是一款面向 Claude Code/Codex 的自主 AI 开发循环 CLI 工具,定位为“无人值守编码 orchestration 系统”。其核心用途是通过自动化管理 AI 会话生命周期,让开发者仅需定义任务并执行 `grove run`,即可让系统自主完成从任务调度、上下文轮换、多阶段工作流执行到结果镜像的完整闭环。工具不仅提升编码效率,更通过结构化转录存档和 playbook 记忆机制,将单次编码会话转化为可积累、可复用的组织知识资产。
Grove 直接针对手动操作 Claude Code 的三大痛点:1)上下文限制导致频繁手动重启会话,每次需重复粘贴初始化提示和加载上下文;2)任务依赖与状态同步完全依赖人工跟踪,无法并行处理;3)会话中断后无法自动恢复,导致工作丢失或需要人工干预。通过引入任务图驱动调度、自动检查点恢复、结构化交接(handoffs)和转录存档,Grove 将开发者从“人工编排器”角色中解放,实现真正的 unattended execution。
根据项目描述,Grove 特别适用于:复杂功能开发(需自动执行探索→计划→验证→执行→审查→复合六阶段工作流)、批量任务处理(同时调度多个独立任务,利用并发加速完成)、长期运行项目(上下文耗尽时自动检查点并恢复,保证任务连续性)。此外,其事件溯源与可观测设计也适合需要完整审计轨迹的团队协作场景,但仓库未明确说明团队协作的具体功能边界。
仓库中明确给出的安装步骤为:1)确保已安装 Rust 工具链;2)克隆仓库至本地;3)在项目根目录运行 `cargo build` 编译所有 workspace 成员;4)CLI 可执行文件生成于 `target/debug/grove`。由于项目采用标准 Rust workspace 结构,也可通过 `cargo install --path crates/grove-cli` 直接安装 CLI crate。仓库未提供预编译二进制包或包管理器安装方式,也未说明最低 Rust 版本要求。
使用流程在 README 中明确:首先使用 beads 工具(`br`)定义任务图并标记任务状态;然后运行 `grove run` 启动自主循环,系统自动同步任务图、评分候选任务、调度会话执行;最后任务完成后结果自动镜像回 `br` 系统,失败任务会被标记以便人工干预。此外,可通过 `grove status`、`grove inspect`、`grove log` 等命令查询状态与历史。仓库未列出所有子命令,但测试文件暗示存在多阶段验收测试,表明工作流具有复杂状态机。
Grove 的实现强调三大支柱:崩溃安全(通过事件日志与 reconciliation 机制确保 coordinator 崩溃后能恢复状态)、可观测性(所有状态转换记录于事件日志,可通过 inspect/log 命令查询)、操作员信任(状态明确、边界清晰、可预测)。技术层面,它采用直接进程 spawning 而非 tmux 管理会话,使用 SQLite 存储状态与转录,通过 circuit breaker 和 exit gate 防止过早停止。项目严格禁止 unsafe code 和 unwrap/expect,体现高可靠性要求。但仓库未明确说明支持的 Claude 版本、最大任务规模或硬件资源需求。
Grove 通过自动检查点机制,在上下文耗尽时持久化当前状态并 spawn 新会话,从断点恢复执行,无需人工干预。
不需要。Grove 设计为无人值守运行,支持多会话并发与自动状态管理,开发者可启动后离开,通过日志和状态查询事后审查。
从 README 看主要针对 Claude Code/Codex,但架构上通过 session backend 抽象,仓库中 grove-session/src/backend 暗示可能支持其他提供者,具体未明确列出。
失败任务会被标记(FailureClass 分类)并记录事件日志,不会 silently lost;系统根据 EscalationTier 策略决定重试或人工干预。
通过 `grove status`、`grove inspect` 或 `grove log` 命令查询;所有事件记录于 .grove/ 目录下的 SQLite 数据库与转录存档中。