langchain-ai/open-swe

An Open-Source Asynchronous Coding Agent

Open SWE – 一个基于 LangChain 的 Deep Agents 构建的开源软件工厂

是什么 – 一个框架,可让你运行自主的 AI 代理,能够 规划、编写、测试、审查和交付 代码变更。这些代理在隔离的沙箱中运行,与 GitHub、Slack、Linear 和 Web 仪表板集成,并可通过自定义模型、工具和策略进行扩展。

核心功能

  • 构建 – 代理检查仓库,创建工作计划,编辑文件,运行针对性验证,提交更改并打开/更新 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 的 Web 仪表板,让用户启动和监控任务。

典型工作流程

用户 → 仪表板 / 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 驱动的流水线,你可将其部署在本地或云端,同时完全掌控模型、数据和执行过程。

相关

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