Preloop
开源自托管的 AI 代理控制平面与软件工厂:治理每一次工具调用和模型调用,并用统一的策略、预算与会话时间线驱动代理工作。
- Star 数
- ★ 79
- 最近更新
- 今天
- License
- Apache-2.0
- 主语言
- Python
- FA 评分
- 84/100 · 表现良好
30 秒速览
- 可在哪里用
- 通用 · 跨平台Codex · Claude Code
- 开始前需要
- 典型场景
- 平台与安全团队在生产系统接入前需要治理代理行为:用 MCP Firewall 加策略即代码控制每个工具调用,并在移动端或 Slack 审批敏感操作。
- 主要局限
- 组织层能力是商业版:自托管 OSS 单账户仅一名操作员,多用户/团队 RBAC、按用户或团队的预算、多审批人路由与配额均需 Cloud/Enterprise。
- 源码审查
- 84/100 · 表现良好
这个 Agent 能做什么,适合哪些场景?
Preloop 是一个可自托管的开源服务(Apache 2.0),位于 AI 代理与其可达目标之间,对每次工具调用和模型调用进行治理、归因与记录。它分为两半:控制平面包括 MCP 防火墙(允许、拒绝或挂起工具调用等待人工审批)、带预算与归因的 AI 模型网关、YAML + CEL 的策略即代码,以及每个会话的运行时时间线。软件工厂部分通过 Flows 在托管容器或你的私有 runner 上运行代理,由 GitHub、GitLab、Bitbucket Cloud、Jira、webhook 或 CI 任务触发,仓库内置 21 个预设(如 PR 审查、议题自动实现、安全审计),产出可审查的 pull request。审批可通过手机、手表、Slack、Mattermost、邮件、webhook 或 CLI 完成,人类可随时用 operator note 接管正在运行的代理。部署方式为 Docker Compose、Helm 或 Preloop Cloud,本地 CLI 通过 preloop login 连接控制平面。
Preloop 拦截并治理代理行为:本地代理经 preloop agents discover / preloop agents onboard 接入后,MCP 工具调用经过 MCP Firewall 按 YAML + CEL 策略执行允许、拒绝、要求审批或要求理由;模型调用经过 AI Model Gateway(兼容 OpenAI、Anthropic、Gemini 接口)做预算、允许模型清单与 token 计费归因,按模型、代理、会话、API key、flow 和用户统计花费。Flows 在 GitHub/GitLab/Bitbucket/Jira 事件、webhook 或 CI 触发时启动代理于托管容器或私有 runner(经出站 WebSocket 连接,无需入站端口),所有工具调用走同一防火墙,模型调用计入 flow 预算,最终产出 pull request。审批工作流(含 bash、edit 的原生支持)可通过 preloop approvals 或移动端、Slack 完成;每个会话有统一时间线记录工具调用、模型调用、策略、审批与花费。策略经 preloop policy apply <file> 部署,保存前可用 Test this rule 或 Simulate 模拟。
- 平台与安全团队在生产系统接入前需要治理代理行为:用 MCP Firewall 加策略即代码控制每个工具调用,并在移动端或 Slack 审批敏感操作。
- 运行 Claude Code、Codex CLI、Cursor 等编码代理的工程团队需要看清成本:Gateway 按模型、代理、会话、API key 归因花费并用预算封顶。
- 使用 Jira 或 GitHub 的团队希望把工单变成有边界的代理工作:Flow 触发自动实现议题,产出 pull request 并由 Pull Request Reviewer 预设复审。
- 面临 CRA / EU AI Act 合规压力的安全团队:运行安全审计预设(SBOM 验证、漏洞检查、发布审计)收集证据包,并用 DORA 导出。
- 需要 FinOps 可见性的平台团队:查看网关按模型与 flow 的花费明细,导入 Copilot 使用数据,并通过账户 kill switch 紧急阻断流量。
如何安装或部署这个 Agent?
最快的路径是使用 Preloop Cloud(CLI 为客户端);自托管则用 Docker Compose,数据留在本机。
# 1. 安装 CLI(macOS / Linux / WSL)
curl -fsSL https://preloop.ai/install/cli | sh
# Windows 原生(PowerShell):
irm https://preloop.ai/install/cli.ps1 | iex# 自托管(Docker Compose,数据留在本机)
curl -fsSL https://preloop.ai/install/oss | sh自托管实例必须设置 SECRET_KEY,否则应用拒绝启动;开发版 docker-compose.yml 使用仅限开发的默认凭据,需通过 .env(可从 .env.example 起步)覆盖。控制台地址为 http://localhost:3000。
如何使用这个 Agent?
CLI 先连接到一个控制平面:Preloop Cloud 或自托管实例。
# Cloud(最快)
preloop signup
# 或自托管实例
preloop login --url http://localhost:3000
# 发现并接入本地代理
preloop agents discoverpreloop agents discover 查找本地代理配置并报告各适配器能力;preloop agents onboard 将其配置为经 MCP Firewall 与 Gateway 路由。要远程操控运行中的代理,用 preloop agents install-plugin 安装运行时插件(Claude Code 也可用 preloop claude)。策略示例:
version: "1.0"
metadata:
name: "Production Safeguards"
approval_workflows:
- name: "deploy-approval"
timeout_seconds: 600
required_approvals: 1
async_approval: true
tools:
- name: "bash"
source: mcp
approval_workflow: "deploy-approval"
justification: required
conditions:
- expression: "args.command.contains('deploy') && args.command.contains('production')"
action: require_approval用 preloop policy apply <file> 部署(另有 validate / diff / export);触发 flow 可用 preloop flow trigger 或 run-flow GitHub Action。
这个 Agent 有哪些优点和局限?
- 同一份策略、预算与会话时间线同时覆盖本地代理和 Flow 代理——一个组件同时解决工具防火墙、模型网关、审批与可观测性,替代多个供应商的产品。
- Apache 2.0 且可自托管:数据留在你的网络内(除可选的每日版本检查),是 AWS Bedrock AgentCore 的开源替代,支持 VPC/本地部署、YAML+CEL 策略、MCP 原生治理和移动/Slack 审批。
- 内置 21 个开箱即用的 flow 预设(PR 审查、议题自动实现、安全审计、交付报告等),并通过私有 runner、flow 委派和 run-flow GitHub Action 扩展。
- 审批渠道丰富且被治理本身可审计:手机、手表、Slack、Mattermost、邮件、webhook、CLI,支持单审批人与原生 Bash/Edit 审批。
- 组织层能力是商业版:自托管 OSS 单账户仅一名操作员,多用户/团队 RBAC、按用户或团队的预算、多审批人路由与配额均需 Cloud/Enterprise。
- 自托管是真实的基础设施:需要 Docker Compose 或 Helm、必填
SECRET_KEY、JWT 配置,官方仅支持 Docker Compose 与 Helm 两种安装方式,不提供 Terraform 模块。 - 发送每日伪匿名遥测版本检查(可用
PRELOOP_DISABLE_TELEMETRY=true关闭),开发用 docker-compose 自带开发凭据默认值,生产部署需自行覆盖。 - 网络规模较小(社区以 Discord 为主),治理功能外的商用边界需要阅读版本文档才能确定。
这个 Agent 与同类方案有什么区别?
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| Preloop 当前 | 84 · 表现良好 | — | ★ 79 | 今天 | Python | Codex · Claude Code |
| Auto Browser | 62 · 存在缺口 | 自托管服务免费 + 模型费 | ★ 916 | 今天 | Python | OpenAI API · Claude API |
| OpenOps | 59 · 缺口较多 | 自托管服务免费版 + 付费版 | ★ 1.1k | 1 天前 | TypeScript | — |
| Agentspan | 62 · 存在缺口 | 命令行工具免费 + 模型费 | ★ 499 | 29 天前 | TypeScript | OpenAI API · Claude API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
材料描述了按账户、项目、流程和动作收窄的受限 CI 身份、机器权限与人类权限隔离、审批门控、密钥加密及日志脱敏;隐私文档说明默认内容采集、关闭方式、遥测和外部数据流。审计链、签名记录及自托管回滚限制也有具体说明。依赖安全仅有常规更新的概括性要求,且文件未提供依赖清单或逐项处置证据,因此该项较低;外部通知、模型、仓库等副作用有说明,但并非每种操作都展示完整的用户确认或恢复路径;发布者身份未验证,署名证据有限。
文档对主要控制面、审批与运行流程给出相互衔接的描述,也明确指出功能边界和已知缺口,例如 git guard 尚无生产调用方。仍有部分陈述来自设计说明或产品自述,且子执行审批说明注明验证于另一修订版本;因此一致性未给满分。依赖可用性只覆盖部分安装前置条件,未见依赖故障或可用性保障的完整证据。失败语义包含拒绝、超时、阻断及若干错误类别,但覆盖并不全面。
README 清楚列出平台安全、工程团队和事件驱动任务等目标场景及兼容代理。文档具体划定受限 CI、审批、模型网关和安全证据包的能力边界,并明确证据包不构成认证或法律意见。触发源、受限请求形状、允许动作及拒绝条件均有细节。支持云、自托管、Docker Compose、Helm、Windows CLI 和私有 runner 等环境,部署前提也有说明。
README 按入门、能力、部署、版本定位和仓库工作流程组织,并链接到架构与操作指南。安装说明包含前置条件、交互和无人值守配置、端口、升级及故障排查入口。示例、指南和常见限制较充足;Apache-2.0 在元数据和 README 中均有标示。命名和版本信息有 CLI、组件与版本化协议等线索,但文档体量大且缺少本次材料中的完整变更日志,稳定性证据有限。维护责任有贡献、发布和安全报告路径,但维护者身份及长期责任范围未充分说明。
产品输出包括策略决策、审批记录、会话审计、预算归因及供人工复核的拉取请求和证据包,且多处给出可直接采用的策略与命令示例。将工具治理、模型网关和事件驱动代理执行放在同一控制面,材料支持其具有明显组合价值。成本效益只展示预算、花费归因和自托管选项,未给出运行成本、资源需求或与替代方案的可比测量,因此未满分。
关键声明通常链接到具体指南、端点、模块、配置项或策略示例;安全文档也区分平台事实、明确限制和设计说明。多份文档对安装、隐私、审批和受限 CI 有交叉支撑,但材料主要是同一项目的文档自述,独立佐证有限。文本明确标注设计说明为非规范内容、区分已实现与计划项,并指出安全扫描验证和证据包的边界,因此事实与推断区分较好。
- 自托管仍会发送可选的每日版本检查遥测;材料说明可通过 PRELOOP_DISABLE_TELEMETRY=true 关闭。
- 模型网关默认保存经过模式脱敏的对话内容;若不希望保存内容,需设置 MODEL_GATEWAY_CAPTURE_CONTENT=false,并检查各数据表面的脱敏边界。
- 安全文档明确列出部分缺口,包括部分速率限制、缺少 MFA,以及依赖更新和定期安全审计尚未完整落实的说明。
- 子执行审批材料标注为设计说明,并注明基于不同修订版本;不应将其当作当前修订的运行验证。