Tencent /LoopForge

Self-hosted workflows for coding-agent delivery. Orchestrate CodeBuddy, Codex and Claude Code with scripts and human approval gates. Includes Local workflows for coding assistants.

★ 306⑂ 59👁 3⑃ 140● 45▤ 10◈ 1
GoNOASSERTIONCreated 2026-07-28loopforge.cn
306
stars
59
forks
3
watchers
140
prs
45
issues
10
releases
1
discussions

README

English · 简体中文



  两种工作方式 ·
  快速开始 ·
  SOP ·
  功能 ·
  本地版 ·
  FAQ ·
  文档


https://github.com/user-attachments/assets/10b8ae2e-d7e7-4b78-8876-c45818d4a08f

80 秒产品演示(1080p,有声)。

LoopForge 是一个可自主部署的团队工作台,让你和编程 Agent 一起交付软件。在对话里把需求告诉 Main Bot:它会按需打开 Docker 沙箱、检出项目仓库、把任务分派给项目角色,最后提交 PR。某种做法被验证有效后,把它存成 SOP(由 Agent、脚本和人工关口组成的标准交付流程),下一个需求就按同样的方式交付,评审和验收都在流程里。

干活的是 CodeBuddy、Codex 和 Claude Code;LoopForge 负责它们外面的角色、沙箱、检查点和留痕,全部运行在你自己的环境里,MIT 开源。

 两种工作方式

| | 与 Main Bot 对话 | 运行 SOP |
| --- | --- | --- |
| 适合 | 探索、快速修复、与 Agent 反复迭代 | 阶段固定、需要签字确认的可重复交付 |
| 如何运行 | Main Bot 按需打开对话工作区(带项目仓库的 Docker 沙箱),并把项目角色作为子 Agent 调用 | 引擎按顺序执行 Agent、脚本、人工关口和子 SOP 节点,每次运行有独立沙箱 |
| 你如何把控 | 回复中途排队或「引导」消息;在对话里暂停、恢复或接管正在运行的 SOP | 在人工关口审批;打回到指定环节返工;从任意节点重试或重跑 |
| 交付物 | PR/MR,或直推合入共享分支(mode=direct) | 文档、代码或 PR,以及每个节点的产物和日志 |

两种方式都挂在同一套需求上:无论改动来自对话还是 SOP,都能追溯到原始需求,并计入交付与成本统计。


  
    
    
  


对话首页:描述需求,用 @ 引用角色、技能、需求、SOP 或仓库;每个会话可单独选择执行器、模型和确认模式。

 为什么需要 LoopForge

让编程 Agent "修一下这个 Bug",结果往往取决于这一次的运行:可能跳过方案,可能忘了跑测试,可能自己评审自己的代码,也可能做到一半停下而没人发现。做演示没问题,但团队交付不能这样。

- 可重复。 同一条 SOP、同样的阶段、同样的检查,每个需求都一样。内置后端、前端、缺陷修复、产品方案四类 SOP 可直接起步。
- 角色分离。 方案、实现、评审、测试各有独立的角色提示词、执行器、模型、规则、Skills 和 MCP 工具;同一个角色既能做 SOP 节点,也能在对话中作为子 Agent 调用。
- 人在回路。 在关键节点设置人工审批:看完报告再放行,或打回到指定环节返工。
- 可观测、可续跑。 节点状态、工具轨迹、日志和产物集中呈现;支持暂停、重试失败步骤、从任意节点重跑。
- 技术栈和服务器都是你的。 执行器可选 CodeBuddy、Codex、Claude Code;工具接入 GitHub、Skills、MCP;运行环境可选 Docker 沙箱或你自己的机器。

 快速开始

先准备 Git 并克隆仓库。安装脚本会检查 Docker、Compose、Python 3 和 curl,并在获得确认后补装缺少的组件:Linux 的 Python/curl 支持 apt、dnf、yum,Compose 插件支持 x86_64/arm64 并校验官方发行文件的 SHA-256;macOS 需要可运行的 Python 3 和 Docker Desktop,可通过 Homebrew 补装缺少的组件。支持普通用户运行,需要时通过 Docker 组或 sudo 操作 Docker。设置 LOOPFORGE_YES=1 可接受安装提示;安装和拉取镜像需要可用的外网连接。

bash
git clone https://github.com/Tencent/LoopForge.git
cd LoopForge
./start.sh


./start.sh 直接拉取 compose.yaml 中 pin 的 GHCR 发布镜像,不在本地构建(bash scripts/install.sh 效果相同)。安装流程会创建 MySQL 和平台服务,生成配置与会话密钥,并导入内置沙箱、通用 SOP 和体验项目;无需在宿主机安装 Go 或 Node.js。模型 API Key 和 GitHub 授权在启动后由用户配置。用 ./start.sh logs、stop、restart、pull 管理服务;需要从源码构建时用 ./start.sh dev。

打开安装脚本输出的地址创建账号,第一个账号自动成为管理员。服务默认监听 0.0.0.0:8090;在云主机上,安装脚本会从云厂商的元数据服务读取公网 IP 并直接打印出来,放通安全组端口即可访问,或配置 HTTPS 反向代理;管理员账号创建前,建议只允许你的 IP 访问。首页的「快速接入」会带你配置模型凭据、绑定仓库并选好默认 SOP。

 免 API Key 体验

新注册的账号会自动加入 LoopForge 体验项目,其中有一条只包含脚本和人工审批的 SOP:

1. 切换到体验项目,打开 流程模板,进入 平台验收 · 脚本与审批。
2. 点击 运行流程。真实脚本会生成一份报告,然后在审批节点等你确认。
3. 在 待我确认 或运行详情页审批通过,观察流程继续执行并产出最终产物。

 真实任务需要准备什么

| 我想要… | 需要准备 |
| --- | --- |
| 跑通脚本 + 人工审批体验 | 什么都不需要 |
| 与 Main Bot 对话、生成文档或新项目 | 所选执行器的 API Key |
| 修改已有仓库(通过对话或 SOP)并提交 PR | 模型凭据 + GitHub 仓库(在个人设置中连接 GitHub) |


更多配置说明:执行器、GitHub、沙箱、访问模型



- 执行器。 在首页输入框旁选择 CodeBuddy、Codex 或 Claude Code,再选择模型;不同执行器分别使用个人设置里的对应凭据。每个 SOP 角色都可以独立选择执行器(内置角色默认 CodeBuddy)。需求澄清和通知 AI 汇总目前使用 CodeBuddy;定时助手任务使用任务所选的执行器。Docker 镜像内置 CodeBuddy 和 Codex;Claude Code 在首次使用时从 npm 安装并缓存,需要能访问 npm;原生部署需安装所选执行器的 CLI。
- GitHub 可选。 所有内置通用 SOP 都可以不绑定仓库运行:产品方案交付文档,前后端新项目在任务工作区交付源码;缺陷修复仍需提供待修代码和复现材料。需要修改已有代码或提交 PR 时再绑定仓库。
- 交付到仓库。 在个人设置中点击「连接 GitHub」,用设备码授权后选择自己的仓库(已内置 LoopForge 授权

Top issues

Discussions

Latest release

LoopForge v0.3.5 v0.3.5 2026-11-11
Install

bash
git clone --branch v0.3.5 https://github.com/Tencent/LoopForge.git
cd LoopForge
./start.sh


Platform image: ghcr.io/tencent/loopforge:0.3.5 (pinned in compose.yaml). Existing installations: check out v0.3.5, run ./start.sh, and apply the new files under migrations/ listed in CHANGELOG.md.

 What's Changed
 feat: fail pull requests when coverage or a platform job drops by @fx-kurumi in https://github.com/Tencent/LoopForge/pull/115
 feat(assistant): lightweight GitHub tools for Main Bot without opening a workspace by @newexploreor in https://github.com/Tencent/LoopForge/pull/159
 

Snapshot: 2026-11-11T15:31:17Z · Data license Apache-2.0 · JSON