[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-langchain-ai--open-swe":3,"tool-langchain-ai--open-swe":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",143909,2,"2026-04-07T11:33:18",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107888,"2026-04-06T11:32:50",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":10,"last_commit_at":59,"category_tags":60,"status":17},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,"2026-04-06T11:19:32",[35,15,13,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":76,"owner_email":77,"owner_twitter":73,"owner_website":78,"owner_url":79,"languages":80,"stars":93,"forks":94,"last_commit_at":95,"license":96,"difficulty_score":97,"env_os":98,"env_gpu":99,"env_ram":100,"env_deps":101,"category_tags":110,"github_topics":111,"view_count":32,"oss_zip_url":76,"oss_zip_packed_at":76,"status":17,"created_at":120,"updated_at":121,"faqs":122,"releases":153},5073,"langchain-ai\u002Fopen-swe","open-swe","An Open-Source Asynchronous Coding Agent","open-swe 是一个开源的异步编码智能体框架，旨在帮助组织构建属于自己的内部编程助手。它解决了企业在使用 AI 辅助开发时面临的上下文缺失、权限管控难以及安全性不足等痛点，让智能体能够像 Stripe、Coinbase 等顶尖工程团队那样，在 Slack、命令行或网页应用中无缝协作，自动完成代码修改并发起拉取请求。\n\n这款工具特别适合希望定制内部研发流程的开发团队、技术负责人以及 DevOps 工程师。其核心亮点在于采用了“隔离优先”的安全架构：每个任务都在独立的云端沙箱中运行，智能体在沙箱内拥有完整权限，但错误影响被严格限制，无需人工确认即可安全执行。此外，open-swe 基于 LangGraph 和 Deep Agents 构建，支持模块化组合，允许用户灵活编排子智能体、集成自定义工具链，并兼容 Modal、Daytona 等多种沙箱提供商。通过复用成熟的企业级架构模式，open-swe 让各类组织都能低成本打造出既高效又安全的专属编码智能体。","\u003Cdiv align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Fopen-swe\">\n    \u003Cpicture>\n      \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"static\u002Fdark.svg\">\n      \u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"static\u002Flight.svg\">\n      \u003Cimg alt=\"Open SWE Logo\" src=\"static\u002Fdark.svg\" width=\"35%\">\n    \u003C\u002Fpicture>\n  \u003C\u002Fa>\n\u003C\u002Fdiv>\n\n\u003Cdiv align=\"center\">\n  \u003Ch3>Open-source framework for building your org's internal coding agent.\u003C\u002Fh3>\n\u003C\u002Fdiv>\n\n\u003Cdiv align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fopensource.org\u002Flicenses\u002FMIT\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Flangchain-ai\u002Fopen-swe\" alt=\"License\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Fopen-swe\u002Fstargazers\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Flangchain-ai\u002Fopen-swe\" alt=\"GitHub Stars\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flanggraph\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FBuilt%20on-LangGraph-blue\" alt=\"Built on LangGraph\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Fdeepagents\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FBuilt%20on-Deep%20Agents-blue\" alt=\"Built on Deep Agents\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fx.com\u002Flangchain\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Ftwitter\u002Furl\u002Fhttps\u002Ftwitter.com\u002Flangchain.svg?style=social&label=Follow%20%40LangChain\" alt=\"Twitter \u002F X\">\u003C\u002Fa>\n\u003C\u002Fdiv>\n\n\u003Cbr>\n\nElite engineering orgs like Stripe, Ramp, and Coinbase are building their own internal coding agents — Slackbots, CLIs, and web apps that meet engineers where they already work. These agents are connected to internal systems with the right context, permissioning, and safety boundaries to operate with minimal human oversight.\n\nOpen SWE is the open-source version of this pattern. Built on [LangGraph](https:\u002F\u002Flangchain-ai.github.io\u002Flanggraph\u002F) and [Deep Agents](https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Fdeepagents), it gives you the same architecture those companies built internally: cloud sandboxes, Slack and Linear invocation, subagent orchestration, and automatic PR creation — ready to customize for your own codebase and workflows.\n\n> [!NOTE]\n> 💬 Read the **announcement blog post [here](https:\u002F\u002Fblog.langchain.com\u002Fopen-swe-an-open-source-framework-for-internal-coding-agents\u002F)**\n\n---\n\n## Architecture\n\nOpen SWE makes the same core architectural decisions as the best internal coding agents. Here's how it maps to the patterns described in [this overview](https:\u002F\u002Fx.com\u002Fkishan_dahya\u002Fstatus\u002F2028971339974099317) of Stripe's Minions, Ramp's Inspect, and Coinbase's Cloudbot:\n\n### 1. Agent Harness — Composed on Deep Agents\n\nRather than forking an existing agent or building from scratch, Open SWE **composes** on the [Deep Agents](https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Fdeepagents) framework — similar to how Ramp built on top of OpenCode. This gives you an upgrade path (pull in upstream improvements) while letting you customize the orchestration, tools, and middleware for your org.\n\n```python\ncreate_deep_agent(\n    model=\"anthropic:claude-opus-4-6\",\n    system_prompt=construct_system_prompt(repo_dir, ...),\n    tools=[http_request, fetch_url, commit_and_open_pr, linear_comment, slack_thread_reply],\n    backend=sandbox_backend,\n    middleware=[ToolErrorMiddleware(), check_message_queue_before_model, ...],\n)\n```\n\n### 2. Sandbox — Isolated Cloud Environments\n\nEvery task runs in its own **isolated cloud sandbox** — a remote Linux environment with full shell access. The repo is cloned in, the agent gets full permissions, and the blast radius of any mistake is fully contained. No production access, no confirmation prompts.\n\nOpen SWE supports multiple sandbox providers out of the box — [Modal](https:\u002F\u002Fmodal.com\u002F), [Daytona](https:\u002F\u002Fwww.daytona.io\u002F), [Runloop](https:\u002F\u002Fwww.runloop.ai\u002F), and [LangSmith](https:\u002F\u002Fsmith.langchain.com\u002F) — and you can plug in your own. See the [Customization Guide](CUSTOMIZATION.md#1-sandbox) for details.\n\nThis follows the principle all three companies converge on: **isolate first, then give full permissions inside the boundary.**\n\n- Each thread gets a persistent sandbox (reused across follow-up messages)\n- Sandboxes auto-recreate if they become unreachable\n- Multiple tasks run in parallel — each in its own sandbox, no queuing\n\n### 3. Tools — Curated, Not Accumulated\n\nStripe's key insight: *tool curation matters more than tool quantity.* Open SWE follows this principle with a small, focused toolset:\n\n| Tool | Purpose |\n|---|---|\n| `execute` | Shell commands in the sandbox |\n| `fetch_url` | Fetch web pages as markdown |\n| `http_request` | API calls (GET, POST, etc.) |\n| `commit_and_open_pr` | Git commit + open a GitHub draft PR |\n| `linear_comment` | Post updates to Linear tickets |\n| `slack_thread_reply` | Reply in Slack threads |\n\nPlus the built-in Deep Agents tools: `read_file`, `write_file`, `edit_file`, `ls`, `glob`, `grep`, `write_todos`, and `task` (subagent spawning).\n\n### 4. Context Engineering — AGENTS.md + Source Context\n\nOpen SWE gathers context from two sources:\n\n- **`AGENTS.md`** — If the repo contains an `AGENTS.md` file at the root, it's read from the sandbox and injected into the system prompt. This is your repo-level equivalent of Stripe's rule files: encoding conventions, testing requirements, and architectural decisions that every agent run should follow.\n- **Source context** — The full Linear issue (title, description, comments) or Slack thread history is assembled and passed to the agent, so it starts with rich context rather than discovering everything through tool calls.\n\n### 5. Orchestration — Subagents + Middleware\n\nOpen SWE's orchestration has two layers:\n\n**Subagents:** The Deep Agents framework natively supports spawning child agents via the `task` tool. The main agent can fan out independent subtasks to isolated subagents — each with its own middleware stack, todo list, and file operations. This is similar to Ramp's child sessions for parallel work.\n\n**Middleware:** Deterministic middleware hooks run around the agent loop:\n\n- **`check_message_queue_before_model`** — Injects follow-up messages (Linear comments or Slack messages that arrive mid-run) before the next model call. You can message the agent while it's working and it'll pick up your input at its next step.\n- **`open_pr_if_needed`** — After-agent safety net that commits and opens a PR if the agent didn't do it itself. This is a lightweight version of Stripe's deterministic nodes — ensuring critical steps happen regardless of LLM behavior.\n- **`ToolErrorMiddleware`** — Catches and handles tool errors gracefully.\n\n### 6. Invocation — Slack, Linear, and GitHub\n\nAll three companies in the article converge on **Slack as the primary invocation surface**. Open SWE does the same:\n\n- **Slack** — Mention the bot in any thread. Supports `repo:owner\u002Fname` syntax to specify which repo to work on. The agent replies in-thread with status updates and PR links.\n- **Linear** — Comment `@openswe` on any issue. The agent reads the full issue context, reacts with 👀 to acknowledge, and posts results back as comments.\n- **GitHub** — Tag `@openswe` in PR comments on agent-created PRs to have it address review feedback and push fixes to the same branch.\n\nEach invocation creates a deterministic thread ID, so follow-up messages on the same issue or thread route to the same running agent.\n\n### 7. Validation — Prompt-Driven + Safety Nets\n\nThe agent is instructed to run linters, formatters, and tests before committing. The `open_pr_if_needed` middleware acts as a backstop — if the agent finishes without opening a PR, the middleware handles it automatically.\n\nThis is an area where you can extend Open SWE for your org: add deterministic CI checks, visual verification, or review gates as additional middleware. See the [Customization Guide](CUSTOMIZATION.md#6-middleware) for how.\n\n---\n\n## Comparison\n\n| Decision | Open SWE | Stripe (Minions) | Ramp (Inspect) | Coinbase (Cloudbot) |\n|---|---|---|---|---|\n| **Harness** | Composed (Deep Agents\u002FLangGraph) | Forked (Goose) | Composed (OpenCode) | Built from scratch |\n| **Sandbox** | Pluggable (Modal, Daytona, Runloop, etc.) | AWS EC2 devboxes (pre-warmed) | Modal containers (pre-warmed) | In-house |\n| **Tools** | ~15, curated | ~500, curated per-agent | OpenCode SDK + extensions | MCPs + custom Skills |\n| **Context** | AGENTS.md + issue\u002Fthread | Rule files + pre-hydration | OpenCode built-in | Linear-first + MCPs |\n| **Orchestration** | Subagents + middleware | Blueprints (deterministic + agentic) | Sessions + child sessions | Three modes |\n| **Invocation** | Slack, Linear, GitHub | Slack + embedded buttons | Slack + web + Chrome extension | Slack-native |\n| **Validation** | Prompt-driven + PR safety net | 3-layer (local + CI + 1 retry) | Visual DOM verification | Agent councils + auto-merge |\n\n---\n\n## Features\n\n- **Trigger from Linear, Slack, or GitHub** — mention `@openswe` in a comment to kick off a task\n- **Instant acknowledgement** — reacts with 👀 the moment it picks up your message\n- **Message it while it's running** — send follow-up messages mid-task and it'll pick them up before its next step\n- **Run multiple tasks in parallel** — each task runs in its own isolated cloud sandbox\n- **GitHub OAuth built-in** — authenticates with your GitHub account automatically\n- **Opens PRs automatically** — commits changes and opens a draft PR when done, linked back to your ticket\n- **Subagent support** — the agent can spawn child agents for parallel subtasks\n\n---\n\n## Getting Started\n\n- **[Installation Guide](INSTALLATION.md)** — GitHub App creation, LangSmith, Linear\u002FSlack\u002FGitHub triggers, and production deployment\n- **[Customization Guide](CUSTOMIZATION.md)** — swap the sandbox, model, tools, triggers, system prompt, and middleware for your org\n\n## License\n\nMIT\n","\u003Cdiv align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Fopen-swe\">\n    \u003Cpicture>\n      \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"static\u002Fdark.svg\">\n      \u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"static\u002Flight.svg\">\n      \u003Cimg alt=\"Open SWE Logo\" src=\"static\u002Fdark.svg\" width=\"35%\">\n    \u003C\u002Fpicture>\n  \u003C\u002Fa>\n\u003C\u002Fdiv>\n\n\u003Cdiv align=\"center\">\n  \u003Ch3>用于构建贵公司内部编码智能体的开源框架。\u003C\u002Fh3>\n\u003C\u002Fdiv>\n\n\u003Cdiv align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fopensource.org\u002Flicenses\u002FMIT\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Flangchain-ai\u002Fopen-swe\" alt=\"许可证\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Fopen-swe\u002Fstargazers\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Flangchain-ai\u002Fopen-swe\" alt=\"GitHub 星标\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flanggraph\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FBuilt%20on-LangGraph-blue\" alt=\"基于 LangGraph\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Fdeepagents\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FBuilt%20on-Deep%20Agents-blue\" alt=\"基于 Deep Agents\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fx.com\u002Flangchain\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Ftwitter\u002Furl\u002Fhttps\u002Ftwitter.com\u002Flangchain.svg?style=social&label=Follow%20%40LangChain\" alt=\"Twitter \u002F X\">\u003C\u002Fa>\n\u003C\u002Fdiv>\n\n\u003Cbr>\n\n像 Stripe、Ramp 和 Coinbase 这样的顶尖工程团队正在构建各自的内部编码智能体——Slack 机器人、命令行工具和 Web 应用程序，这些工具直接集成到工程师的工作环境中。这些智能体与内部系统相连，具备恰当的上下文、权限控制和安全边界，能够在极少人工干预的情况下运行。\n\nOpen SWE 就是这一模式的开源版本。它基于 [LangGraph](https:\u002F\u002Flangchain-ai.github.io\u002Flanggraph\u002F) 和 [Deep Agents](https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Fdeepagents) 构建，为你提供了与上述公司内部架构相同的体系：云端沙盒、通过 Slack 和 Linear 调用、子智能体编排以及自动创建 Pull Request——一切皆可针对你的代码库和工作流进行定制。\n\n> [!NOTE]\n> 💬 请阅读 **公告博客文章 [这里](https:\u002F\u002Fblog.langchain.com\u002Fopen-swe-an-open-source-framework-for-internal-coding-agents\u002F)**\n\n---\n\n## 架构\n\nOpen SWE 延用了最佳内部编码智能体的核心架构设计。以下是它如何对应 [这篇概述](https:\u002F\u002Fx.com\u002Fkishan_dahya\u002Fstatus\u002F2028971339974099317) 中描述的 Stripe 的 Minions、Ramp 的 Inspect 和 Coinbase 的 Cloudbot 等模式：\n\n### 1. 智能体框架 — 基于 Deep Agents 组合\n\n不同于 fork 现有智能体或从头开始构建，Open SWE 是在 [Deep Agents](https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Fdeepagents) 框架之上进行**组合**——这与 Ramp 基于 OpenCode 构建的方式类似。这种方式既为你提供了升级路径（可引入上游改进），又允许你根据自身组织的需求自定义编排、工具和中间件。\n\n```python\ncreate_deep_agent(\n    model=\"anthropic:claude-opus-4-6\",\n    system_prompt=construct_system_prompt(repo_dir, ...),\n    tools=[http_request, fetch_url, commit_and_open_pr, linear_comment, slack_thread_reply],\n    backend=sandbox_backend,\n    middleware=[ToolErrorMiddleware(), check_message_queue_before_model, ...],\n)\n```\n\n### 2. 沙盒 — 隔离的云环境\n\n每个任务都在其独立的**隔离云沙盒**中运行——这是一个具有完整 shell 访问权限的远程 Linux 环境。代码仓库会被克隆进去，智能体获得完全权限，任何失误的影响范围都被完全限制在沙盒内。无需生产环境访问权限，也无需额外确认提示。\n\nOpen SWE 开箱即用地支持多家沙盒提供商——[Modal](https:\u002F\u002Fmodal.com\u002F)、[Daytona](https:\u002F\u002Fwww.daytona.io\u002F)、[Runloop](https:\u002F\u002Fwww.runloop.ai\u002F) 和 [LangSmith](https:\u002F\u002Fsmith.langchain.com\u002F)——同时你也可以接入自己的服务。详情请参阅[自定义指南](CUSTOMIZATION.md#1-sandbox)。\n\n这遵循了三家公司在实践中共同认可的原则：**先隔离，再赋予边界内的完全权限。**\n\n- 每个线程都会拥有一个持久化的沙盒（可在后续消息中重复使用）\n- 如果沙盒无法访问，会自动重建\n- 多个任务可以并行执行——每个任务都在独立的沙盒中运行，无需排队\n\n### 3. 工具 — 精选而非堆砌\n\nStripe 的关键洞见是：*工具的精选比数量更重要。* Open SWE 也秉持这一原则，采用精简而专注的工具集：\n\n| 工具 | 用途 |\n|---|---|\n| `execute` | 在沙盒中执行 Shell 命令 |\n| `fetch_url` | 以 Markdown 格式抓取网页内容 |\n| `http_request` | 发起 API 请求（GET、POST 等） |\n| `commit_and_open_pr` | 提交 Git 提交并打开 GitHub 草稿 PR |\n| `linear_comment` | 向 Linear 任务发布更新 |\n| `slack_thread_reply` | 在 Slack 线程中回复 |\n\n此外，还内置了 Deep Agents 的工具：`read_file`、`write_file`、`edit_file`、`ls`、`glob`、`grep`、`write_todos` 和 `task`（用于启动子智能体）。\n\n### 4. 上下文工程 — AGENTS.md + 源代码上下文\n\nOpen SWE 从两个来源获取上下文：\n\n- **`AGENTS.md`** — 如果代码仓库根目录下存在 `AGENTS.md` 文件，则会在沙盒中读取该文件，并将其注入到系统提示中。这相当于 Stripe 规则文件的仓库级版本：编码规范、测试要求和架构决策等，确保每次智能体运行时都遵循这些规则。\n- **源代码上下文** — 整个 Linear 问题（标题、描述、评论）或 Slack 线程历史会被汇总后传递给智能体，使其一开始就拥有丰富的上下文，而不是通过工具调用来逐步获取信息。\n\n### 5. 编排 — 子智能体 + 中间件\n\nOpen SWE 的编排分为两层：\n\n**子智能体：** Deep Agents 框架原生支持通过 `task` 工具启动子智能体。主智能体可以将独立的任务分发给隔离的子智能体——每个子智能体都有自己的中间件栈、待办事项列表和文件操作权限。这类似于 Ramp 为并行工作启用的子会话。\n\n**中间件：** 确定性的中间件钩子会围绕智能体循环运行：\n\n- **`check_message_queue_before_model`** — 在下一次模型调用之前，注入后续消息（例如在运行过程中到达的 Linear 评论或 Slack 消息）。你可以在智能体工作时发送消息，它会在下一步处理你的输入。\n- **`open_pr_if_needed`** — 智能体完成任务后的安全网，如果智能体未自行提交并打开 PR，则由中间件代为完成。这是 Stripe 确定性节点的轻量级版本——确保无论大模型行为如何，关键步骤都能被执行。\n- **`ToolErrorMiddleware`** — 优雅地捕获并处理工具错误。\n\n### 6. 调用方式 — Slack、Linear 和 GitHub\n\n文章中提到的三家公司的做法都一致地将 **Slack 作为主要的调用入口**。Open SWE 也是如此：\n\n- **Slack** — 在任意线程中提及机器人即可。支持 `repo:owner\u002Fname` 语法来指定要操作的仓库。代理会在该线程中回复状态更新和 PR 链接。\n- **Linear** — 在任意问题下评论并 @openswe。代理会读取完整的问题上下文，以 👀 表情回应以表示已接收，并将结果作为评论返回。\n- **GitHub** — 在代理创建的 PR 的评论中标记 `@openswe`，以便它根据评审反馈进行修改，并将修复直接推送到同一分支。\n\n每次调用都会生成一个确定性的线程 ID，因此针对同一问题或线程的后续消息都会路由到同一个正在运行的代理。\n\n### 7. 验证机制 — 提示驱动 + 安全保障\n\n代理被指示在提交代码前先运行 linter、格式化工具和测试。`open_pr_if_needed` 中间件则起到了兜底作用——如果代理完成任务后未打开 PR，中间件会自动代为处理。\n\n这一部分是你可以为组织扩展 Open SWE 的地方：添加确定性的 CI 检查、可视化验证或评审门控等作为额外的中间件。具体方法请参阅 [自定义指南](CUSTOMIZATION.md#6-middleware)。\n\n---\n\n## 对比\n\n| 决策 | Open SWE | Stripe（Minions） | Ramp（Inspect） | Coinbase（Cloudbot） |\n|---|---|---|---|---|\n| **框架** | 组合式（Deep Agents\u002FLangGraph） | 分支式（Goose） | 组合式（OpenCode） | 从零构建 |\n| **沙箱** | 可插拔式（Modal、Daytona、Runloop 等） | AWS EC2 开发机（预热） | Modal 容器（预热） | 自建 |\n| **工具** | 约 15 个，精选 | 约 500 个，按代理分别精选 | OpenCode SDK + 扩展 | MCPs + 自定义技能 |\n| **上下文** | AGENTS.md + 问题\u002F线程 | 规则文件 + 预填充 | OpenCode 内置 | 以 Linear 为主 + MCPs |\n| **编排** | 子代理 + 中间件 | 蓝图（确定性 + 代理式） | 会话 + 子会话 | 三种模式 |\n| **调用方式** | Slack、Linear、GitHub | Slack + 内嵌按钮 | Slack + Web + Chrome 扩展 | Slack 原生 |\n| **验证** | 提示驱动 + PR 安全网 | 三层验证（本地 + CI + 一次重试） | DOM 可视化验证 | 代理委员会 + 自动合并 |\n\n---\n\n## 功能特性\n\n- **可从 Linear、Slack 或 GitHub 触发** — 在评论中提及 `@openswe` 即可启动任务\n- **即时确认** — 一旦接收到你的消息，便会以 👀 表情作出回应\n- **任务执行中也可发送消息** — 在任务进行中发送后续消息，代理会在执行下一步之前接收并处理\n- **可并行运行多个任务** — 每个任务都在独立的云端沙箱中运行\n- **内置 GitHub OAuth** — 自动使用你的 GitHub 账户进行身份验证\n- **自动打开 PR** — 完成更改后会提交并打开草稿 PR，同时将其链接回你的工单\n- **子代理支持** — 代理可以派生出子代理来并行处理子任务\n\n---\n\n## 快速入门\n\n- **[安装指南](INSTALLATION.md)** — 创建 GitHub 应用、配置 LangSmith、设置 Linear\u002FSlack\u002FGitHub 触发器，以及部署到生产环境\n- **[自定义指南](CUSTOMIZATION.md)** — 根据你组织的需求，替换沙箱、模型、工具、触发方式、系统提示词和中间件\n\n## 许可证\n\nMIT","# Open SWE 快速上手指南\n\nOpen SWE 是一个开源框架，旨在帮助组织构建内部的编码智能体（Coding Agent）。它基于 LangGraph 和 Deep Agents 构建，支持通过 Slack、Linear 或 GitHub 触发任务，在隔离的云沙箱中执行代码修改，并自动提交 Pull Request。\n\n## 环境准备\n\n在开始之前，请确保满足以下系统要求和前置依赖：\n\n*   **操作系统**: Linux 或 macOS (Windows 用户建议使用 WSL2)。\n*   **Python 版本**: Python 3.10 或更高版本。\n*   **包管理工具**: `pip` 或 `uv` (推荐)。\n*   **账户与权限**:\n    *   **GitHub 账号**: 用于创建 PR 和克隆仓库。\n    *   **大模型 API Key**: 支持 Anthropic (Claude), OpenAI 等主流模型。\n    *   **沙箱提供商账号**: 需注册其中一个云沙箱服务以提供隔离运行环境，支持 [Modal](https:\u002F\u002Fmodal.com\u002F), [Daytona](https:\u002F\u002Fwww.daytona.io\u002F), [Runloop](https:\u002F\u002Fwww.runloop.ai\u002F) 或 [LangSmith](https:\u002F\u002Fsmith.langchain.com\u002F)。\n    *   **集成平台账号** (可选): 若需通过聊天工具触发，需准备 Slack Bot Token 或 Linear API Key。\n\n> **注意**: 国内开发者访问部分云服务（如 Modal 或 GitHub API）时可能需要配置网络代理。\n\n## 安装步骤\n\n推荐使用 `uv` 进行快速安装和管理依赖，也可以使用标准的 `pip`。\n\n### 1. 克隆项目\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Fopen-swe.git\ncd open-swe\n```\n\n### 2. 创建虚拟环境并安装依赖\n\n**方式 A：使用 uv (推荐)**\n```bash\nuv venv\nsource .venv\u002Fbin\u002Factivate  # Windows: .venv\\Scripts\\activate\nuv pip install -e .\n```\n\n**方式 B：使用 pip**\n```bash\npython -m venv .venv\nsource .venv\u002Fbin\u002Factivate  # Windows: .venv\\Scripts\\activate\npip install -e .\n```\n\n### 3. 配置环境变量\n\n在项目根目录创建 `.env` 文件，填入必要的密钥信息。以下是最小化配置示例：\n\n```bash\n# 大模型配置 (以 Anthropic 为例)\nexport ANTHROPIC_API_KEY=\"your_anthropic_key\"\nexport MODEL=\"anthropic:claude-opus-4-6\"\n\n# 沙箱配置 (以 Modal 为例)\nexport MODAL_TOKEN_ID=\"your_modal_token_id\"\nexport MODAL_TOKEN_SECRET=\"your_modal_token_secret\"\nexport SANDBOX_PROVIDER=\"modal\"\n\n# GitHub 配置 (用于自动提 PR)\nexport GITHUB_OAUTH_TOKEN=\"your_github_token\"\n\n# 触发器配置 (根据需求选择)\n# export SLACK_BOT_TOKEN=\"xoxb-...\"\n# export LINEAR_API_KEY=\"...\"\n```\n\n## 基本使用\n\nOpen SWE 的核心工作流是：**接收任务 -> 启动沙箱 -> 执行编码 -> 提交 PR**。\n\n### 场景一：通过命令行直接运行任务\n\n这是最直接的测试方式，无需配置 Slack 或 Linear，直接在终端指定仓库和任务描述。\n\n```bash\npython -m open_swe.cli \\\n  --repo-owner langchain-ai \\\n  --repo-name open-swe \\\n  --task \"Fix the typo in the README.md file where 'enviroment' should be 'environment'.\" \\\n  --model \"anthropic:claude-opus-4-6\"\n```\n\n**执行流程说明：**\n1.  命令执行后，Open SWE 会自动在配置的沙箱提供商处创建一个隔离的 Linux 环境。\n2.  克隆指定的 GitHub 仓库到沙箱中。\n3.  智能体读取任务描述，分析代码，执行修复命令（如 `sed` 或文件编辑）。\n4.  运行完成后，自动提交更改并在 GitHub 上创建一个 Draft Pull Request。\n5.  终端将输出 PR 链接供你查看。\n\n### 场景二：通过配置文件自定义智能体行为\n\n若需针对特定仓库定制规则，可在仓库根目录创建 `AGENTS.md` 文件。智能体会自动读取该文件作为系统提示词的一部分，遵循其中的编码规范和测试要求。\n\n**示例 `AGENTS.md` 内容：**\n```markdown\n# Coding Guidelines for this Repo\n- Always run `pytest` before committing.\n- Use type hints for all function definitions.\n- Prefer async\u002Fawait patterns for I\u002FO operations.\n```\n\n放置该文件后，再次运行上述 CLI 命令，智能体将自动遵循这些约束。\n\n### 场景三：集成到协作工具 (Slack\u002FLinear)\n\n完成基础测试后，可参考官方 [Installation Guide](INSTALLATION.md) 部署为后台服务。部署成功后：\n\n*   **Slack**: 在任何线程中提及 `@openswe repo:owner\u002Fname`，机器人会即时回复 👀 并开始处理。\n*   **Linear**: 在 Issue 评论中提及 `@openswe`，机器人会自动读取完整_issue_上下文并执行任务。\n*   **GitHub**: 在由智能体创建的 PR 中评论 `@openswe`，它会根据反馈继续推送修复代码。\n\n---\n*更多高级定制（如更换沙箱提供商、添加中间件、自定义工具集）请参阅项目中的 [CUSTOMIZATION.md](CUSTOMIZATION.md) 文档。*","某电商平台的后端团队需要在深夜紧急修复一个涉及支付逻辑的高优先级 Bug，同时确保代码变更经过严格测试且不干扰主分支稳定性。\n\n### 没有 open-swe 时\n- 工程师必须手动拉取代码、在本地复现环境并调试，耗时数小时且容易因环境差异导致“在我机器上没问题”的困境。\n- 缺乏自动化隔离机制，直接在共享开发分支操作存在误删数据或破坏其他功能的巨大风险，需层层审批才能合并。\n- 修复过程依赖人工编写测试用例和文档，深夜疲劳作业极易遗漏边缘情况，导致二次返工。\n- 跨部门协作（如通知产品经理进度、更新线性任务状态）需要频繁切换 Slack 和项目管理工具，打断心流。\n\n### 使用 open-swe 后\n- 开发者只需在 Slack 中描述问题，open-swe 自动在独立的云端沙箱中克隆代码、复现 Bug 并生成修复方案，将准备时间从小时级缩短至分钟级。\n- 所有操作均在隔离的沙箱环境中运行，即使执行错误命令也不会影响生产或其他分支，实现“先隔离，再全权授权”的安全闭环。\n- open-swe 自动调用子代理编写单元测试、验证修复效果，并直接创建包含完整测试报告的 Pull Request，显著降低人为疏漏。\n- 内置中间件自动同步进度到 Linear 任务卡片并在 Slack 线程中回复最新状态，让团队成员实时感知进展而无需额外沟通。\n\nopen-swe 通过构建安全、自治的内部编码代理，将工程师从繁琐的环境配置和流程协调中解放出来，专注于高价值的架构决策。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Flangchain-ai_open-swe_386b43e3.png","langchain-ai","LangChain","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Flangchain-ai_8e6aaeef.png","",null,"support@langchain.dev","https:\u002F\u002Fwww.langchain.com","https:\u002F\u002Fgithub.com\u002Flangchain-ai",[81,85,89],{"name":82,"color":83,"percentage":84},"Python","#3572A5",98.6,{"name":86,"color":87,"percentage":88},"Dockerfile","#384d54",0.9,{"name":90,"color":91,"percentage":92},"Makefile","#427819",0.5,9276,1051,"2026-04-07T07:58:22","MIT",4,"未说明 (基于云沙箱环境，支持 Linux)","未说明 (主要依赖云端 LLM API，本地无需 GPU)","未说明",{"notes":102,"python":100,"dependencies":103},"该工具是一个用于构建内部编码代理的框架，核心运行在云端隔离沙箱（如 Modal, Daytona, Runloop）中，而非本地直接运行。需要配置外部 LLM API（如 Anthropic Claude）、GitHub OAuth 以及 Slack\u002FLinear\u002FGitHub 的集成凭证。具体安装和部署细节需参考 INSTALLATION.md 和 CUSTOMIZATION.md 文档。",[104,105,106,107,108,109],"langgraph","deepagents","modal (可选)","daytona (可选)","runloop (可选)","langsmith",[13,14,15,35],[112,113,114,115,116,117,118,119],"agent","ai","anthropic","claudecode","llm","openai","agents","llms","2026-03-27T02:49:30.150509","2026-04-07T22:58:29.254348",[123,128,133,138,143,148],{"id":124,"question_zh":125,"answer_zh":126,"source_url":127},23063,"Planner 在本地开发环境中工作正常，但在生产环境（LangGraph Cloud）中调用时失败并报错 HTTP 404，如何解决？","需要在 LangGraph Cloud 部署中创建一个环境变量 LANGGRAPH_PROD_URL。该变量的值应设置为部署时创建的 Resource URL。配置此环境变量后，Planner 即可在生产环境中正常工作。","https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Fopen-swe\u002Fissues\u002F821",{"id":129,"question_zh":130,"answer_zh":131,"source_url":132},23064,"为什么在刷新页面或从检查点重启后会遇到\"Unknown users must provide API keys\"错误，即使之前已经配置过 API Key？","这是一个已知问题，当非允许列表中的用户（Unknown users）在会话刷新或从检查点重启时，系统可能无法正确检索已配置的 API Key。目前的临时解决方法是：确保使用特定的运行标签（如\"Run Open SWE using Claude Opus 4... auto-accept the plan\"），并且在任务运行过程中不要刷新页面或返回主页，采用“发射后不管”的方式直到任务完成。如果必须重启，可能需要重新在设置页面输入 API Key。","https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Fopen-swe\u002Fissues\u002F804",{"id":134,"question_zh":135,"answer_zh":136,"source_url":137},23065,"遇到\"All fallback models exhausted\"或尝试回退到未配置 API Key 的模型时报错，该如何处理？","该错误通常发生在系统试图回退到一个用户没有设置 API Key 的提供商模型时。解决方案是检查你的配置，确保只为那些你实际拥有有效 API Key 的模型提供商启用回退机制。如果所有可用的回退模型都没有配置 API Key，系统将抛出错误并终止运行，而不是尝试调用无效的密钥。请进入设置页面确认并为相关提供商（如 Google GenAI, Anthropic 等）添加正确的 API Key。","https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Fopen-swe\u002Fissues\u002F717",{"id":139,"question_zh":140,"answer_zh":141,"source_url":142},23066,"Programmer Agent 每次运行都失败，且在 PC 和移动端浏览器上均复现，是否有通用解决办法？","如果 Planner 工作正常但 Programmer Agent 持续失败，这通常与上述 API Key 在会话保持或回退机制中的配置问题有关。请首先确认是否遇到了\"Unknown users must provide API keys\"或\"All fallback models exhausted\"的错误。如果是，请参考前述方案：避免刷新页面，确保 API Key 在当前会话中正确加载，或者检查是否错误地启用了没有对应 API Key 的模型作为回退选项。社区反馈表明该问题在特定版本中较为普遍，需关注官方修复更新。","https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Fopen-swe\u002Fissues\u002F819",{"id":144,"question_zh":145,"answer_zh":146,"source_url":147},23067,"Open SWE 目前支持 GitLab 吗？如何从 GitLab Issue 启动任务？","截至当前数据，Open SWE 原生主要支持 GitHub。虽然社区有强烈的功能请求（Feature Request）希望支持 GitLab（包括自建实例），实现从 GitLab Issue 标签触发任务、创建 Merge Request 等功能，但该功能尚未完全合并到主分支或成为默认稳定功能。用户目前主要通过 GitHub 集成使用，GitLab 支持处于规划或开发阶段。","https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Fopen-swe\u002Fissues\u002F699",{"id":149,"question_zh":150,"answer_zh":151,"source_url":152},23068,"作为非白名单用户（Unknown user），在使用演示应用时如何正确配置 API Key 以避免运行中断？","非白名单用户必须在设置页面手动提供 API Key 才能使用演示应用。如果在运行过程中（特别是 Planner 完成后转向 Programmer 时）遇到错误，请检查是否因页面刷新导致配置丢失。建议的操作流程是：1. 在设置页填入所有需用到的模型提供商 API Key；2. 启动任务后不要刷新浏览器；3. 如果必须中断，重新开始任务时可能需要重新验证 API Key。若配置了多个模型，请确保每个被选为回退的模型都有对应的有效 Key。","https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Fopen-swe\u002Fissues\u002F777",[]]