AI编程任务自动化工具

Gobby是一个本地优先的AI编程任务自动化工具,通过分阶段的任务调度、规则引擎和代码审查门控,实现从任务到PR的自动化过程。

  • by GobbyAI
  • Python
  • 本地部署
  • 22 星标
  • 更新于
在 GitHub 查看 GobbyAI/gobby

使用说明

Gobby
Start with a task. Walk away. End with a PR.


gobby build '#1842'

这就是循环。手抓任务,走开,回来做公关。

在这个命令的背后:一个计划,一个分阶段子任务的扩展,孤立的 工作树、派遣代理、挂钩时间护栏、验证、审查门、, 以及一个紧密相连的承诺。如果有什么东西脱轨了,戈比就会停下来 升级而不是合并垃圾。

Gobby建造了Gobby。 5K+次提交。我的项目中有15K多个任务。二 在其上运行生产系统的付费客户。0.4.x生产线已组装完成 通过Gobby自己的任务、调度、审查和文档流—— 收据存在于该回购中 .gobby/tasks.jsonl.


为什么存在

人工智能编码的瓶颈很久以前就不再是模型能力了。这 瓶颈是保姆。代理在契约中失去了上下文。他们漂流 从你在CLAUDE.md中写的规则中。它们重复工作。它们燃烧 每轮都有数千个令牌重新加载相同的MCP模式。您仍在审核 每一个差异都是因为你不能真正相信回来的东西。

修复并不是一个更好的提示。解决方案是围绕代理的基础设施。

Gobby是一个本地守护进程,位于您已经使用的AI编码CLI下方 --Claude Code、Codex、Gemini CLI、Qwen CLI、Factory Droid——并为他们提供 它们缺失了:共享会话、持久任务分类账、挂钩时间规则, 渐进式MCP发现、代理隔离、审查门和构建循环 在没有你在中间的情况下把任务变成公关。

它是 不是另一个代理人。 你已经是特工们的控制飞机了 有人不见了。


什么是Gobby

您在本地运行的Python 3.13+守护进程。PostgreSQL是运行时中心数据库, 从引导程序配置 database_url 设置。HTTP和 已安装的web UI在上运行 :60887,打开WebSocket :60888,开发web UI :60889,使用您的编码CLI与之通信的stdio MCP服务器。

Gobby承重有三件事:

1.阶段清单调度+挂钩时间规则

大多数自主代理都是一个巨大的提示循环,模型在其中做出决定 一切。这就是你已经经历过的失败模式。

Gobby将运行时一分为二。调度是 确定性的:心跳 扫描任务,读取当前阶段清单行(ideation → research → architecture → prd → planning → expansion → development → holistic_qa → pr → merge),评估中的有序规则 src/gobby/dispatch/rules.py,获取每个任务的互斥体,并执行一个 有界动作——启动一个阶段,生成一个代理,创建隔离,前进, 逐步升级。没有提示,就没有模特自由职业。

在生成的worker中,代理将满 自主 计划、编辑、, 验证并提交。但每个工具调用都会通过规则引擎 turn_start, before_tool, after_tool,以及 turn_end规则可以阻止, 同步重写、注入上下文或设置变量。它们被评估为 代码,不希望出现在提示中。

强制边界内的代理人自由。这是唯一的办法 gobby build 可以“放手”而不撒谎。

2.本地优先,自建

您的数据库、成绩单、钩子、任务分类账、工作流和规则将保留 你的机器。没有云控制飞机。不依赖SaaS。Apache 2.0。

您正在阅读的repo是通过它自己的构建循环构建的。5K+次提交。 15K+任务。0.4.x是由通过分阶段工作的衍生代理组装的 清单,与调度员进行路线审查和合并。这就是生产 测试台:调度、钩子、隔离或任务生命周期中的每个回归 第二天早上,它显示为一个停滞的建筑。

我还用它为两个付费客户运送生产系统。正是它 我需要一个工具来真正信任人工智能编码代理在实际工作中的输出。

3.坐在CLIs下面,而不是旁边

Aider、Cline、OpenHands、Plandex、BMAD-METHOD——这些 是 代理人。他们 拥有CLI、循环和上下文窗口。转换意味着重新学习 工作流程。

并行运行程序,如Superset、并行代码和claude_code_bridge启动 多个CLIs并排放置在工作树上,但每个CLIs仍然是自己的岛屿 具有自己的会话、内存和任务状态。

Gobby是下面的一层。相同的守护进程,相同的任务分类账,相同的 内存和相同的规则引擎为您使用的每个CLI提供服务。任务开始于 克劳德代码可以在Codex中声明,并在Droid中完成,而不会丢失 上下文、验证门或审核状态。你不能从中挑一个赢家 编码CLIs;你选择最适合你面前工作的东西,戈比继续 他们连贯。


如何 gobby build 实际上有效

gobby build '#1842'                          # plan, epic, or leaf task
gobby build plans/auth-refactor.md --quick   # straight from a plan file
gobby build stop '#1842'                     # task-scoped controls

引擎盖下:

  1. 构建状态 写在任务上: allow_automation=true, 隔离(none / worktree / clone),指定代理,目标分支。 在打开此门之前,积压任务是惰性的。
  2. 舞台清单 从登记处物化到 task_stage_states. 每一行都包含位置、状态(ready / in_progress / needs_review / review_approved / done)、审核策略、审核者和尝试计数器。
  3. 心跳 扫描已选择的任务,筛选出索赔/租赁/升级的任务/ 依赖性阻止工作,读取当前阶段行,并让其排序 确定性规则在互斥体下只选择一个动作。
  4. 代理运行 在工作台上或完全复制。工具调用通过 规则引擎。技能按需加载。内存和代码图结果注入 只有在相关的时候。
  5. 审查 是舞台原住民。工人 submit_for_review 而不是关闭 直接;下一个心跳产生配置的审阅者;批准 推进行;拒绝重试或升级。
  6. 关闭 需要承诺。如果你更改了文件,你就提交它们—— 守护进程不会让带有差异且没有SHA的叶子关闭。

调度员不会起草计划、在线修复工件或提示 模型。提示属于衍生代理。路由属于调度。 保持这条线的干净是使整个事情值得信赖的原因。


工具链(姐妹仓库)

Gobby附带了一组Rust二进制文件 GobbyAI/gobby-cli 这解决了 代理人在实践中遇到的非魅力问题。它们分别安装, 但戈比会帮你把它们连接起来。

工具 它做什么 为什么重要
gcode 通过树状图和PostgreSQL中心全文搜索,AST符号搜索超过18种语言;通过向量和图后端,它增加了语义+图搜索和互惠排名融合排名 代理停止读取整个文件。它们按符号检索。在大型存储库上减少90%以上的文件级负载。
gsqz 通过28个内置管道(git、cargo、pytest、eslint、ruff、npm等)包装shell命令并压缩输出 详细测试/lint/build输出在到达模型之前就会崩溃。噪声命令的令牌减少>90%,开销约为9ms。
gloc 针对本地LLM(LM Studio,Ollama)启动Claude Code或Codex的一个命令。管理模型生命周期、环境变量和预热。 同样的Gobby工作流在本地和云模型上运行,无需重写任何内容。
ghook 沙盒容忍钩子调度器,将事件假脱机到 ~/.gobby/hooks/inbox/ 之前 向守护进程发布 钩子事件在沙盒FS拒绝、网络故障和守护进程重启后仍然有效。排水工人重播了这些视频。

再加上渐进式MCP代理本身,它只在工具 实际上被调用,而不是在每个列表上。这是另一个3-40K代币 平均会话从不需要花费。

这些不是副业。代币税是阻止代理人的东西 在真正的代码库上完成真正的工作,工具链就是护城河的一部分。


Gobby如何比较

工具 类别 Gobby不同的地方
Claude Code、Codex、Gemini CLI、Qwen CLI、Droid 第一方AI编码CLIs Gobby运行 在...之下 他们。他们成为工人,而不是组织者。
助手,Cline,OpenHands,Plandex,继续 编码代理/IDE扩展 它们各自拥有循环。Gobby拥有你选择的任何循环周围的任务、规则、调度和审查门。
BMAD方法 多代理角色框架(Markdown/YAML人物角色) 阶段性工作的真正重叠,但BMAD是一种在现有代理之上分层的方法;Gobby是守护进程、账本、钩子引擎和调度器。
超级集、并行代码、claude_code_bridge、CLI代理编排器 并行CLI启动器 它们在工作树中并排运行多个CLI。它们不会在CLI之间共享会话、任务、内存或规则。戈比确实如此。
IBM Context Forge、MintMCP、Composio、Runlayer MCP网关 MCP的云/企业反向代理。Gobby是本地优先的,添加了渐进式发现,并将MCP绑定到任务生命周期和规则引擎。
龙虾 跨消息渠道的个人人工智能助理 不同类别-OpenClaw是WhatsApp/Slack/Telegram风格使用的个人代理。Gobby是发送代码的代理的开发基础设施。
Devin,OpenHands云 托管自主SWE 只在云端,固执己见的堆栈,你的代码在他们的服务器上。Gobby在您的笔记本电脑上运行,可以与您信任的任何型号和CLI进行通信,并且是Apache 2.0。

诚实的总结:如果你已经选择了一个你喜欢的编码CLI,Gobby 使其更加可靠。如果你想将其中几个用于不同的工作, Gobby是唯一让他们保持连贯的东西。如果你想发送任务 Gobby是唯一一个进入构建循环并获得PR的开源项目 我知道这在当地是这样做的。


0.4.x版本中的发货内容

0.4.x是完成全部任务的第一个发布行→ 支持PR循环 路径,而不是高级用户的把戏。

  • gobby build 作为单一入口点:CLI、MCP和HTTP都可以解析 使用相同的共享构建服务 BuildResult 形状。档案 (quick, review, full, full-yolo),任务范围控件(stop, resume, clean, restart),分支清理,重试恢复。
  • 阶段原生生命周期: task_stage_states, task_dispatch_mutex, task_artifacts, task_lifecycle_events.审查判决附于 清单行。PR和合并交付工件。
  • 工厂机器人 作为一流的CLI源——钩子、会话、转录本, 催生代理,网络聊天平价。
  • 基于运行的任务扩展 具有可配置的深度、五层天花板, 扩展QA覆盖范围清单和库存检查。
  • 按需加载技能技能中心(SkillsMP、GitHub支持的安装), 简洁注入、验证/审查技能模式。
  • 内存和代码图维护:过时的内存审计员,异步知识- 图重建、嵌入健康、代码索引刷新。
  • 可观测性 用于会话、模型、令牌、跟踪、本地模型状态, 以及内置的跟踪查看器。
  • Web用户界面 跨聊天、会话、任务、工作流、cron的改进, 项目——包括320px紧凑布局和共享设计令牌。

完整发行说明: 更改日志.md.


建筑

  • Python 3.13+守护进程(uv 一切)
  • 从引导程序配置PostgreSQL运行时中心 database_url
  • 上的HTTP API和已安装的web UI localhost:60887,打开WebSocket :60888, 打开开发web UI :60889
  • 用于编码助手的stdio MCP服务器
  • 适用于Claude Code、Codex、Gemini CLI、Qwen CLI、Factory Droid的钩子适配器
  • 可选Qdrant+FalkorDB,用于矢量和图形支持的搜索
  • 配套Rust工具链通过 gobby cli

PostgreSQL中心是任务状态的真实来源。 .gobby/tasks.jsonl git原生同步投影是否已签入,在PR中是否可区分,以及是否已协调 通过DB,任务链接的提交在机器之间保持可审计性。线性是 支持作为已跟踪工作的团队的可选外部同步目标 在那里。PostgreSQL是唯一的运行时中心。

指南集是行为的真理来源:

看 docs/guides/README.md 查看完整的指南索引。


支持的CLIs

CLI 集成 Gobby添加了什么
Claude Code Hooks+MCP 持久会话、任务链接、规则强制工作流、构建调度
Codex Hooks+MCP 共享任务、MCP访问、衍生代理、跨CLI切换
Gemini CLI 钩子+MCP 跨会话上下文、内存、任务、管道
Qwen CLI Hooks+MCP 共享生命周期、本地模型标志、会话状态
Factory Droid Hooks+MCP Droid会话、转录解析、生成代理流

在其中任何一个中启动的任务都可以在任何其他任务中继续执行 本地状态、验证门和审核状态。Hook策略是可移植的 提供者,而本地响应保真度仍然是特定于提供者的 跟踪在 适配器交付.md.

本地模型提供商(LM Studio、Ollama)通过相同的钩子和MCP工作 层,只要底层CLI支持OpenAI兼容端点。


安装

尝试不安装:

uvx gobby --help

全局安装:

# With uv (recommended)
uv tool install gobby

# With pipx
pipx install gobby

# With pip
pip install gobby

0.4.x系列需要Python 3.13+。


快速启动

从项目目录中:

gobby start                  # start the daemon
gobby install                # detect supported CLIs and wire hooks + MCP
gobby init                   # initialize .gobby/ for this repo

gobby install 使用相同的stdio MCP服务器配置每个检测到的CLI:

{
  "mcpServers": {
    "gobby": {
      "type": "stdio",
      "command": "gobby",
      "args": ["mcp-server"]
    }
  }
}

打开已安装的web UI http://localhost:60887/ 一旦守护进程运行。 这 :60889 UI端口用于 gobby ui dev 在前端开发期间。

然后,在您选择的CLI中开始交互式工作——Gobby会跟踪它 悄悄地——或者给它一个任务,让构建循环运行:

gobby tasks create "Add OAuth refresh-token rotation" --type feature --category code
gobby build '#<id>'

有关此存储库中的代理操作说明,请阅读 CLAUDE.md.


它要去哪里

0.5.0是PostgreSQL和FalkorDB数据之后的新基线版本 割接。下一步工作是UI强化、Rust端口,然后是多机 Gobby Pro。

0.5.0:新基线

0.5.0锁定后数据迁移平台:PostgreSQL作为运行时中心, FalkorDB作为图形后端, .gobby/tasks.jsonl 作为git原生任务 投影,并将当前Python守护进程作为支持的本地第一控件 飞机。

0.5.0+:UI硬化和Rust端口工作

  • UI硬化 --继续收紧聊天、会话、任务、工作流、cron, 项目、紧凑布局和共享设计标记,直到web UI稳定 足以满足Gobby Pro的日常工作流程。
  • 附加会话奇偶校验 --缩小上下文使用中的剩余差距, 模式/模型同步、附件、角色切换和语音界面。
  • 锈口准备 --冻结路线合同,添加比较/委托 管道,并继续提取共享图元 gobby cli.

0.6.0:Rust端口发布

0.6.0是Rust的移植版本。Python仍然是行为参考,直到 每个边界都通过奇偶性、可观察性和回滚门。生锈的边车 采用比较模式,在明确委托后接管选定的路线族 在奇偶校验被证明时可用。

0.6.0+:Gobby Pro同步

Gobby Pro从多台Gobby控制的机器开始远程同步: 多守护进程发现和握手、加密任务/内存/会话同步,以及 您拥有的机器的操作员控制。

0.7.0+:Gobby Pro测试版

Pro beta版为所有Gobby添加了车队管理和共享仪表板 机器:运行状况、库存、远程命令、共享任务板、团队工作流, 审计和企业控制。

后续版本:1.0.0预备版

一旦Pro测试版稳定下来,重点将转移到1.0.0就绪状态:API和 工作流程稳定性、释放抛光和SWE台架评估 (docs/plans/SWE-BENCH.md)使用运行/结果存储, gobby eval,轨迹 与基线A/B测试相比。

完整计划: ROADMAP.md.


地位和贡献

Gobby是1.0之前的版本,并且发展迅速。0.4.x线是我运行和发货的起点 每天,但API、配置、工作流定义和钩子行为 将随着守护进程的硬化而继续变化。如果这对你来说是个问题, 等待1.0。如果你想影响它的形状,现在就跳进去。

Apache 2.0已获得许可。看 贡献.md 为了发展 指导。


Built with Gobby. By a human and a lot of agents, working in the same repo.