langchain-ai/open-swe

An Open-Source Asynchronous Coding Agent

Open SWE – 基於 LangChain Deep Agents 的開源軟體工廠

這是什麼 – 一個框架,讓您執行可自主運作的 AI 代理,能夠 規劃、撰寫、測試、審查與交付 您自己儲存庫中的程式碼變更。這些代理在隔離的沙盒中執行,整合 GitHub、Slack、Linear 和網頁儀表板,並可使用您自己的模型、工具與政策進行自訂。

核心功能

  • 建構 – 代理會檢視儲存庫,建立工作計畫,編輯檔案,執行目標驗證,提交變更並開啟/更新 PR。
  • 審查 – 只讀審查代理可對 PR 提出評論,並從過去的反饋中學習儲存庫的審查風格。
  • 操作 – 從儀表板、GitHub 問題/PR、Slack 線程或 Linear 票據觸發任務;排定重複性工作;監控 CI 並自動重新執行不穩定的任務。
  • 自訂 – 更換模型、沙盒提供者(LangSmith、Modal、Daytona、Runloop、E2B 或本機),新增技能,定義儲存庫特定指令,並設定交付政策。
  • 安全性 – 每個線程的沙盒隔離、GitHub App/OAuth 認證、允許清單、憑證處理,以及推送前可選的人工審核。

運作方式

  1. Deep Agents 提供底層原語(規劃、檔案操作、Shell、子代理)。Open SWE 在此基礎上加入軟體工程工具、提示與整合。
  2. LangGraph 提供持久執行與線程狀態。提供五個入口圖:Agent(完整建構)、Reviewer、Analyzer(學習審查風格)、Chat(PR 問答)、Scheduler(重複性/CI 任務)。
  3. 沙盒 在隔離的 Linux 環境中執行實際程式碼。預設為 LangSmith,但透過可插入介面支援許多雲端或本機提供者。
  4. 整合 – GitHub(問題、PR、App)、Slack、Linear,以及基於 Vite 的網頁儀表板,讓使用者啟動並監控任務。

典型工作流程

使用者 → 儀表板 / GitHub / Slack / Linear → OpenSWE 建立沙盒線程
   → 代理規劃並實作變更
   → 驗證在沙盒中執行
   → 開啟/更新 PR
   → 審查代理(可選)提出評論
   → 使用者回覆 → 同一沙盒繼續工作

快速上手

git clone https://github.com/langchain-ai/open-swe.git
cd open-swe
uv venv && source .venv/bin/activate
uv sync --all-extras   # 安裝 Python 套件
pnpm install           # 安裝 UI 套件
make dev   # 後端
make web   # 儀表板(http://localhost:2024)

請參閱 docs/INSTALLATION.md 以了解 GitHub App 設定、沙盒憑證與生產部署。

專案狀態 – 由 LangChain 持續開發中;API 與 UI 仍在演進中。儲存庫包含 Open SWE 增強提案(OE‑P)流程,以推動社群驅動的變更。

授權 – MIT。


Open SWE 將軟體工程任務轉化為可重複的、由 AI 驅動的流程,您可將其部署於內部或雲端,同時完全掌控模型、資料與執行過程。

相關

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