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 認證、允許清單、憑證處理,以及推送前可選的人工審核。
運作方式
- Deep Agents 提供底層原語(規劃、檔案操作、Shell、子代理)。Open SWE 在此基礎上加入軟體工程工具、提示與整合。
- LangGraph 提供持久執行與線程狀態。提供五個入口圖:Agent(完整建構)、Reviewer、Analyzer(學習審查風格)、Chat(PR 問答)、Scheduler(重複性/CI 任務)。
- 沙盒 在隔離的 Linux 環境中執行實際程式碼。預設為 LangSmith,但透過可插入介面支援許多雲端或本機提供者。
- 整合 – 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 驅動的流程,您可將其部署於內部或雲端,同時完全掌控模型、資料與執行過程。
相關
- 專案
- 專案
- 專案
- 專案
- 專案