open-swe README

The project's README from github.com/langchain-ai/open-swe. As one markdown file: README.md.

Open SWE Logo

An open-source software factory built on Deep Agents by LangChain.

License GitHub Stars Built on Deep Agents Powered by LangGraph Twitter / X

Open SWE turns engineering work into a repeatable system. Give it a code-change task from the dashboard, GitHub, Slack, or Linear—or run one on a schedule—and it works in an isolated environment to understand the codebase, make changes, validate them, and deliver a pull request.

It goes beyond code generation. Open SWE can review pull requests, learn a repository's review style, monitor CI, and respond to feedback. It is open source, deployable in your infrastructure, and designed to be adapted to your team's repositories, tools, policies, and workflows.

[!NOTE] Open SWE is under active development. APIs, setup, and product surfaces may continue to evolve.


The software factory loop

flowchart LR
    A[Issues, conversations, PRs, schedules] --> B[Plan and investigate]
    B --> C[Implement in an isolated sandbox]
    C --> D[Validate and deliver a PR]
    D --> E[Review, CI, and feedback]
    E -->|Follow-up work| B

Each cloud coding thread is bound to its own persistent sandbox, so the agent can continue from prior work when you reply. A thread is a durable conversation and work context. It can contain multiple invocations, each an agent execution triggered by a message or automation. An initial request and a follow-up belong to one thread and produce two invocations, each with its own usage. Independent threads run in parallel, and the same thread carries context from request through delivery and follow-up. Read-only PR chat does not need a sandbox, while desktop work can run directly against an allowlisted local project.

What Open SWE does

Build

Review

Operate

Customize

API contract

swagger.json is the generated OpenAPI 3.1 contract for the custom FastAPI backend (agent.webapp:app). Import it into an OpenAPI 3.1-compatible viewer, or run make run and open http://localhost:8000/docs for interactive API documentation (/openapi.json serves the live schema).

Regenerate the file with make swagger after changing backend routes or models. It reflects the current route declarations: some request/response schemas and authentication requirements are not yet documented. LangGraph runtime endpoints (such as /runs, /threads, and /assistants) are not included.

How it works

Deep Agents is the harness

Open SWE composes the agent with Deep Agents. Deep Agents provides the planning, file operations, shell access, skills, state, and subagent primitives; Open SWE adds the software-engineering tools, prompts, middleware, integrations, authorization, and product surfaces needed for end-to-end engineering work.

This composition keeps the system extensible while allowing it to inherit improvements from the underlying LangChain agent stack.

LangGraph is the runtime

LangGraph provides durable execution and thread state. Each Open SWE invocation executes as a LangGraph run within a thread. Open SWE currently ships five graph entrypoints:

Graph Role
Agent Plans, implements, validates, and delivers software changes
Reviewer Performs read-only pull request reviews
Analyzer Learns repository-specific review style
Chat Answers questions about pull requests without changing code
Scheduler Dispatches recurring tasks and CI monitoring work

Sandboxes contain the work

Cloud work runs in isolated Linux sandboxes with the development tooling supplied by the configured environment or snapshot. A sandbox persists with its thread, but an unreachable coding sandbox is not silently replaced—Open SWE fails safely rather than risk discarding uncommitted work.

LangSmith is the default sandbox and tracing provider. Open SWE also supports Modal, Daytona, Runloop, E2B, and local execution, with a pluggable interface for additional providers.

Tools stay curated

Deep Agents supplies the core filesystem, shell, and subagent tools. Open SWE adds focused capabilities for GitHub delivery, Linear, Slack, thread management, web research, browser-based application verification, planning, review, CI monitoring, and connected services. Personal integrations load using the user's connections. Admin-configured workspace MCP tools are available to all coding-agent users.

Work where your team works

Control and safety

A useful software factory needs both autonomy and boundaries. Open SWE includes:

Sandboxes can have network access and powerful tools. Deployments should use least-privilege credentials, restrict enabled repositories and integrations, and tailor approval rules to their environment.

Getting started

Open SWE includes a LangGraph backend, a web dashboard, and an experimental desktop client.

One deployment serves the API, the webhooks, and the dashboard from a single URL. Locally:

git clone https://github.com/langchain-ai/open-swe.git
cd open-swe
uv venv
source .venv/bin/activate
uv sync --all-extras
make build-dashboard   # pnpm install + Vite build of the dashboard
make dev               # http://localhost:2024 serves the API and the dashboard

Create a GitHub App and a Slack app for your machine and fill in .env as described in the development guide, then sign in at http://localhost:2024. For UI work, make dev-ui starts Vite and the backend fronting it, so the same URL hot-reloads. GitHub and Slack deliver to a public webhook URL: locally the static domain of a free ngrok account (make tunnel NGROK_DOMAIN=<name>.ngrok-free.dev, which exposes only /webhooks/*, since the dev server's LangGraph API has no authentication), on LangGraph Platform the deployment URL.

Production self-hosting uses the standalone LangGraph Agent Server and requires its license key.

Project status

Open SWE is built in the open by LangChain and is evolving quickly. The original internal coding-agent framework announcement is available on the LangChain blog; the project has since expanded considerably.

License

Open SWE is licensed under the MIT License.

open-swe (langchain-ai/open-swe)

Searching Database…

Что это такое?Open SWE — это открытый асинхронный агент для написания кода, «программная фабрика», построенная на Deep Agents от LangChain. Он берёт задачу на изменение кода из веб-панели, GitHub, Slack, Linear или по расписанию, работает в изолированной песочнице, чтобы разобраться в кодовой базе, вносит изменения, проверяет их и создаёт pull request.
Это готовое приложение или его нужно развернуть самому?Это платформа для самостоятельного хостинга, которую разворачивают в собственной инфраструктуре. Она включает бэкенд на LangGraph, веб-панель и экспериментальный настольный клиент и запускается через LangGraph Platform или Docker.
Как это запустить?Для команды разверните платформу через LangGraph Platform или Docker, создайте приложения для GitHub и Slack и настройте провайдеров моделей и переменные окружения, как описано в руководстве по установке. Для локальной разработки запускайте с горячей перезагрузкой и туннелем ngrok для вебхуков.
Что нужно иметь до развёртывания: приложения GitHub и Slack, API-ключи?Нужны приложение GitHub и приложение Slack для запуска задач и доставки результатов, учётные данные провайдера моделей и провайдер песочницы и трассировки (по умолчанию LangSmith, либо Modal, Daytona, Runloop, E2B). Для промышленной эксплуатации на собственных серверах также требуется лицензионный ключ LangGraph Agent Server.
Готов ли настольный клиент к работе на любой ОС?Настольный клиент пока экспериментальный: готовые сборки сейчас рассчитаны только на macOS, а Windows и Linux работают только при сборке из исходников.
Откуда можно запускать задачи и управлять ими?Запускать задачи и управлять ими можно из веб-панели, из issues и комментариев к PR на GitHub, из каналов и тредов Slack, из задач Linear, а также запускать агента локально на своём компьютере через экспериментальный настольный клиент.
Что такое Deep Agents и как он связан с Open SWE?Deep Agents — это агентская основа от LangChain, которая даёт планирование, работу с файлами, доступ к командной строке и примитивы для субагентов. Open SWE добавляет поверх неё инструменты для разработки ПО, промпты, интеграции и пользовательские интерфейсы.
Какие провайдеры песочниц можно использовать для облачной работы?По умолчанию песочница и трассировка обеспечиваются LangSmith. Есть встроенная поддержка Modal, Daytona, Runloop, E2B и локального запуска через подключаемый интерфейс.
Следит ли он за CI после открытия PR?Да, при включении автоматизации /baby-sit (подключается по желанию) он отслеживает PR, разбирает причины падения CI и перезапускает только те задания, нестабильность которых подтверждена данными.
Size
76.1 MB
Stars
11K
Age
1y
Commits · 90 Days