jayminwest/warren

Run coding agents like infrastructure, not terminal sessions. Warren manages isolation, lifecycle, spend, recovery, and Git delivery on compute you control.

Warren – 将编码代理转变为受管工作负载

它是什么 – Warren 是一个开源平台,可让您在您控制的基础设施上,将 编码代理 进程(例如 Claude Code、Pi)作为一流的、可观察的工作负载运行。它处理整个生命周期:全新的隔离工作区、执行监控、支出限制、实时事件流、自动恢复,最后将代理的更改提交回 Git(可选地打开拉取请求)。

为什么重要 – 基于大语言模型(LLM)的编码助手越来越多地用于编写、修复或重构代码。到目前为止,它们通常从开发者的终端运行,这使得以下操作变得困难:

  • 让运行无人值守或按计划运行,
  • 强制资源或成本上限,
  • 保证生成的更改安全地保存在版本控制中,
  • 观察和调试失败。

Warren 提供了缺失的“基础设施层”,使团队可以将代理运行视为任何其他生产作业。


核心功能(如 README 中所述)

功能 您获得的内容
工作区隔离 每次运行都在其自己的 Git 分支上的新工作树或克隆中开始,并使用 bwrap(Linux)或 sandbox-exec(macOS)进行沙盒化。
生命周期管理 自动调度、监控、取消、完成和清理运行。
实时事件流 通过 HTTP API、CLI 和 UI 公开实时 JSON 事件,以便您观看进度或进行干预。
支出和并发限制 定义在代理运行时强制执行的令牌使用量或成本上限。
恢复 看门狗检测丢失的进程/容器,并尝试优雅恢复;终结器在拆除前挽救工作。
Git 交付 运行完成后,Warren 提交更改,推送分支,并可以通过 GitHub App 或静态令牌打开 PR。
历史记录和可观察性 所有运行元数据(状态、持续时间、成本、令牌使用量、结果)都存储起来,并可通过统一的 HTTP API、CLI 和 Web UI 查询。
可扩展运行时 支持三种内置运行时 – local(bubblewrap/sandbox-exec)、docker(兄弟容器)和 k8s(每次运行一个 Pod)。可以通过适配器添加新的运行时。
扩展 可选的外部进程包(审计日志、判定、活动控制器、Jira/Azure DevOps 跟踪器),可插入 Warren 的 HTTP 接口。

工作原理(高层流程)

  1. 定义 harness – 一个与编码模型(例如 Claude Code)通信并执行任务的小程序。
  2. 部署 Warren – 在 macOS/Linux 主机上运行 curl … | sh && warren up,或使用提供的 Docker-Compose / Kubernetes 清单。
  3. 创建运行 – 通过 UI、CLI 或 API 提交存储库 + 任务描述。
  4. Warren 启动隔离的工作区 – 在选定的运行时上,启动 harness,并流式传输事件。
  5. 执行期间 – 您可以观看实时日志、引导运行或取消运行;支出限制被强制执行。
  6. 成功时 – harness 的更改被提交,分支被推送,并且(可选地)打开 PR。
  7. 所有元数据 – 被持久化以供后续审计、成本分析或重放。

入门(README 中的快速入门步骤)

# 1. 安装 CLI(添加 Bun 和 `warren` 二进制文件)
curl -fsSL https://warren.run/install | sh

# 2. 引导本地服务器(自动检测最适合您的运行时)
warren up

该命令会打开浏览器,引导您完成 GitHub 连接、存储库选择,并调度一个入门运行。

对于更生产就绪的部署,您可以克隆存储库并启动随附的 Docker-Compose 堆栈:

git clone https://github.com/jayminwest/warren
cd warren
cp .env.example .env   # 编辑密钥
 docker compose up -d   # 启动服务器、数据库等

然后打开 http://localhost:8080,粘贴生成的运营商令牌,添加存储库,然后开始调度运行。


谁应该使用它

  • 已经在试验编码代理并希望运行超越终端会话的个人开发者或小型可信团队。
  • 需要将模型凭据、计算资源和生成的代码保留在本地(自托管,无 SaaS 锁定)的组织。
  • 希望强制成本上限、观察运行健康状况并自动合并代理生成的更改的运维团队。

文档和资源

  • 首次运行指南docs/quickstart.md
  • 运行时和部署指南 – Docker(docs/self-host/docker.md)、Kubernetes(docs/RUNBOOK-K8S.md
  • API 和 SDK – OpenAPI 规范(docs/openapi.yaml)、TypeScript SDK(docs/sdk.md
  • 扩展设计docs/design/extensions.md
  • 路线图ROADMAP.md
  • 实时演示https://app.warren.run(只读运行历史)
  • Discord 社区 – README 中的链接徽章

当前状态

  • 最新稳定版本:0.19.1
  • 在 GKE 上生产使用,并包含涵盖运行生命周期的单元、集成和场景测试。
  • 核心模型有意限制为单一共享令牌信任模型(尚无基于用户的 RBAC)。

许可证

MIT – 免费用于个人、学术或商业用途。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目