Warren

把编码 Agent 从终端会话变成可管理的基建:隔离运行、生命周期、花费控制、故障恢复与 Git 交付,全部跑在你自己的机器上。

Star 数
★ 503
最近更新
2 天前
License
MIT
主语言
TypeScript

30 秒速览

运行形态
自托管服务命令行工具网页应用
可在哪里用
通用 · 跨平台Claude Code
费用
软件免费,模型调用费用自付
上手难度
低 · 几分钟可跑通
开始前需要
BunDocker(可选 docker 运行时)Kubernetes(可选 k8s 运行时)GitHub App 或静态令牌Shell / 命令行网络访问本地文件系统
典型场景
独自维护多个仓库的开发者,想让编码 Agent 在无人值守下过夜跑任务,而不是占用终端
不适合
  • 需要多用户、RBAC 或按用户归因的团队
  • 希望使用托管 SaaS、不愿自建基础设施的用户
  • 依赖 GitLab 或 Azure DevOps 为主仓库平台且不愿启用 WARREN_FORGE 的团队

这个 Agent 能做什么,适合哪些场景?

Warren 是一个自托管的控制平面,把 Claude Code、Pi 等编码 Agent 的运行当作基础设施工作负载来管理,而不是一次性的终端会话。每次运行都在独立的工作区(worktree/clone)和沙箱边界内启动,Warren 负责派发、监控、转向、取消、恢复与清理。它强制执行花费与并发上限,持久化运行状态、事件、成本与令牌用量,并保证核心产出:一条被推送的工作分支,可选自动创建 PR。运行时提供 local(bwrap/sandbox-exec)、docker(兄弟容器)和 k8s(每运行一个 Pod)三种提供者,实现同一套生命周期。快速上手只需两步安装脚本加 warren up,状态 0.19.3,MIT 许可,并已在 GKE 上对其自身仓库持续运行。

Warren 接收一个仓库加一个任务,派发一个隔离的 Agent 工作负载:每次运行从全新的 worktree 或 clone 开始,使用自己的分支,并被限制在操作者选择的沙箱内(bwrap/sandbox-exec、Docker 兄弟容器或每运行一个 K8s Pod)。运行期间它持续输出实时事件流,实施花费与并发上限,支持对受支持 harness 的转向(steering)与取消;watchdog 会找回丢失的进程或 Pod,并在销毁前尽量抢救工作成果。Agent 提交变更后,Warren 管理 Git 凭据、分支构建、推送与配置的 PR 创建。全部运行历史通过一个 HTTP API(含 OpenAPI 规范)、CLI 和 Web UI 暴露,并附带 TypeScript SDK。当前发行版内置 Pi 与 Claude Code 两个 harness 适配器,以及 planner、healer、PR fixer 等角色;forge 默认通过 GitHub App 或静态令牌对接 GitHub,Azure DevOps Repos 与 GitLab 通过 WARREN_FORGE 启用。可选扩展(audit-log、judge、campaign-controller、tracker-jira、tracker-ado)以独立进程通过 HTTP 接口运行。

  1. 独自维护多个仓库的开发者,想让编码 Agent 在无人值守下过夜跑任务,而不是占用终端
  2. 小型可信工程团队共享一个 Warren 部署,在统一的信任边界内集中查看每个运行的时长、成本与 Git 交付
  3. 需要把代码、模型凭据、计算与运行历史全部留在自己控制的基础设施上的组织
  4. 运维团队希望在 Docker 或 Kubernetes 集群中调度 Agent 运行,并使用准入控制与告警处置手册(RUNBOOK-K8S)
  5. 想按计划定时或长周期运行贡献活动的维护者,通过 campaign-controller 扩展在操作者批准的策略下执行

如何安装或部署这个 Agent?

在全新的 macOS 或 Linux 机器上,两步即可启动:

curl -fsSL https://warren.run/install | sh
warren up

安装脚本会在缺失时自动安装 Bun 和 warren CLI。warren up 检测机器的沙箱运行时,索要仍缺的一项凭据并启动服务器,浏览器会以已登录状态打开。

若以团队方式部署在 Linux Docker 主机上,可用 Compose:

git clone https://github.com/jayminwest/warren
cd warren
cp .env.example .env
$EDITOR .env                 # set two secrets plus WARREN_GIT_AUTHOR_NAME/EMAIL
docker compose up -d
docker compose logs warren | grep mintedOperatorToken

然后打开 http://localhost:8080,粘贴铸造的令牌,连接 GitHub 仓库即可。

如何使用这个 Agent?

启动后,在 Web UI 中连接 GitHub、选择仓库并派发预填的入门运行。典型流程:仓库加任务 → 隔离工作负载(实时事件、花费与并发上限、转向与取消、恢复与清理)→ 推送分支 → 可选 PR。数据全部存放在 ~/.warren/,Ctrl-C 停止后用 warren up 重启。也可通过 HTTP API、CLI 或 TypeScript SDK 查询历史运行。运维路径包括 Docker 自托管指南、Kubernetes 运维手册(docs/RUNBOOK-K8S.md)与带注释的 .env.example 环境参考。

这个 Agent 有哪些优点和局限?

优点
  • 数据主权明确:代码、模型凭据、计算与运行历史全部留在操作者控制的基础设施上
  • 完整生命周期由软件保证:watchdog 找回丢失的进程/Pod,销毁前抢救工作,核心承诺是推送的工作分支
  • 三种运行时(local/docker/k8s)实现同一生命周期,warren up 自动探测,迁移拓扑无需改变运行模型
  • 自带完整可观测性面:实时事件流、成本与令牌统计、HTTP API + OpenAPI、CLI、Web UI 和 TypeScript SDK
局限
  • 信任模型刻意受限:一个部署只服务一个操作者或可信团队,单一 bearer 凭据,无命名用户、RBAC 或按用户归因
  • 需要自建基础设施(本机、Docker 主机或 K8s 集群),不是托管 SaaS;团队级部署涉及 Compose 密钥配置或集群运维
  • pre-1.0(0.19.3),Forge 支持以 GitHub 为主,GitLab 与 Azure DevOps 需启用 WARREN_FORGE
  • 需要模型凭据(订阅或 API key)与 GitHub App/静态令牌才能实际运行 Agent 任务

这个 Agent 与同类方案有什么区别?

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
Warren 当前 76 · 表现良好 自托管服务免费 + 模型费 ★ 503 2 天前 TypeScript Claude Code
Coder — 自托管云端开发环境与 AI 编码代理平台 62 · 存在缺口 自托管服务免费版 + 付费版 ★ 17k 今天 Go OpenAI API · Claude API
Codeg 多智能体协作编程工作台 45 · 缺口较多 桌面应用免费 + 模型费 ★ 4k 今天 Rust Codex · Claude Code · OpenAI API · Claude API
Kandev 74 · 存在缺口 命令行工具免费 + 模型费 ★ 974 今天 Go Codex · Claude Code

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
表现良好
76/ 100 五分制 3.8 / 5
信任安全 18/29
可靠稳定 11/14
适用触发 16/18
规范维护 15/18
有效结果 12/13
证据核验 4/8
查看各维度的扣分理由
信任安全18 / 29 · 3.1/5

SECURITY.md 详述了最小权限设计:run 级回调令牌、沙箱不持操作员令牌、凭据 0600 存储、仓库代码不进控制面,给满分;扣分点在依赖安全(仅列依赖清单,无锁文件审计或漏洞缓解证据)与回滚(只有 salvage/watchdog 描述,无撤销已推送变更的机制);共享无过期令牌与无 RBAC 是文档自认的信任边界限制。

可靠稳定11 / 14 · 3.9/5

文档与配置互相一致(0.19.3 贯穿 README 与 package.json,lint 有版本同步脚本),给 3;依赖可用性给 2,因 Bun、Postgres、可选 forge 均有说明但锁定策略未见;失败信息给 2,warren doctor、boot fails loud、401 处理有据,但错误路径覆盖不完整。

适用触发16 / 18 · 4.4/5

受众与边界描述极其明确(单人/受信小队、无 RBAC、自托管),给 3;运行环境矩阵(local/docker/k8s、macOS/Linux)完整;触发精度只给 2,因运行时自动探测与 agent 调度选择逻辑仅在文档层面描述,未见实现细节。

规范维护15 / 18 · 4.2/5

信息架构(README→docs→RUNBOOK→OpenAPI)与安装说明非常完整,给 3;已知限制一节坦诚列出共享令牌、无 RBAC、pre-1.0;扣分点:无独立 CHANGELOG 文件证据、命名含 wr/warren 双入口、维护响应时间仅为承诺且发布者未经验证。

有效结果12 / 13 · 4.6/5

输出可用性强:推送分支 + 可选 PR、HTTP API/SDK/UI/CLI 多通道,给 3;边际价值清晰(终端会话→可观测工作负载);成本收益给 2,因有 spend caps 但自托管运维成本与资源占用无量化证据。

证据核验4 / 8 · 2.5/5

文档用 warren-xxxx 标识符将声明回链到具体变更,可追溯性尚可(2);跨源印证给 1,因 CI 徽章、GKE 实际运行、app.warren.run 公开实例等关键声明无法在提供文件内验证;事实与推断区分尚可,测试声明明示未经执行。

风险与缓解建议
  • 共享操作员令牌无过期、无作用域、无独立吊销,泄露即等同完全接管,务必置于身份代理之后。
  • docker 运行时把 Docker socket 挂载进控制面容器,等同 root 权限,绝不可暴露给 agent 容器或外部网络。
  • WARREN_AUTH=public 会向未认证访客暴露运行记录投影,仅在所有注册仓库与提示词都可公开时启用。
  • 隔离不等于安全:在不受信仓库代码上运行仍可能带凭据与网络访问,派发前需审查运行时能力。
  • 无用户级归因与回滚机制,团队共享部署时操作不可追责、误推送分支需靠 Git 手工恢复。
证据充分度:低 评估于 2026年10月15日 审查版本 95953406c633 评估后仓库已有新提交,评分可能未覆盖最新改动
查看完整评分方法 →

最近版本

来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。

  1. v0.19.3
    发布说明摘录
    The hardening patch. Local runs get a narrowed git-metadata sandbox, the run-scoped API token leaves every sandbox, and a batch of community fixes closes reap, dispatch, and stream gaps. Adds the GitLab forge arm, automatic-run admission limits, and stalled-turn detection. Added - Automatic run admission (#1297). WARREN_AUTOMATIC_MAX_CONCURRENT_RUNS (default 1) caps non-terminal automatic runs per instance: cron, scheduled seeds, the CI fixer, and plan-run coordination. WARREN_AUTOMATIC_RUN_WINDOW (HH:MM-HH:MM@IANA/Zone) limits automatic dispatch and retries to a local …
    在 GitHub 查看 ↗
  2. v0.19.2
    发布说明摘录
    The auto-merge release. A project can now let warren arm GitHub auto-merge on the PRs it opens, with one pr.autoMerge block in .warren/config.yaml and a fail-closed policy that keeps protected paths in front of a human. That replaces the per-repo auto-merge.yml workflow and its secrets. The feature is off until a project opts in. The rest of the release is reliability work from three weeks of dogfood and contributor reports: a poison event can no longer kill a healthy run, harness files stay out of run branches, the judge stops wasting …
    在 GitHub 查看 ↗
  3. v0.19.1
    发布说明摘录
    The upstream-loop release. The campaign controller closes its response loop (Phase 3, pl-096b): it reads review-bot findings, checks, and merge outcomes on the PRs it opened and turns them into bounded follow-up runs, body refreshes, and comment replies, each behind its own policy flag. Warren core learned to dispatch a run onto an existing branch to serve that loop. Azure DevOps arrived on both seams at once as the second in-core forge and the second external tracker. The dogfood deployment moved from Supabase to in-cluster Postgres with …
    在 GitHub 查看 ↗

常见问题

Warren 本身收费吗?
Warren 是 MIT 许可的开源自托管软件,不收费。但驱动编码 Agent 需要你自己的模型凭据(订阅或 API key),以及用于 Git 交付的 GitHub App 或静态令牌。app.warren.run 提供无需登录的只读运行历史展示。
它支持哪些编码 Agent?
运行模型支持任何带 Warren 运行时适配器的 harness。当前发行版内置 Pi 与 Claude Code 适配器;planner、healer、PR fixer 等角色在其上组合提示与策略。
运行失败或进程丢失会怎样?
watchdog 会核对并找回丢失的进程或 Pod;在可能的情况下,finalization 会在销毁前抢救已完成的工作。核心保证是至少产出一条被推送的工作分支。
多人团队怎么使用权限?
当前边界很明确:一个部署服务一个操作者或可信团队,由单一 bearer 凭据保护,没有命名用户、RBAC 或按用户归档。需要细粒度权限的组织目前不适合。
必须用 GitHub 吗?
默认 forge 是 GitHub(通过 GitHub App 或静态令牌)。GitLab 与 Azure DevOps Repos 的 forge 通过设置 WARREN_FORGE 启用。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents