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 – 免費用於個人、學術或商業用途。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案