> 技术文档 > 猫头虎AI分享|开源异步编程工具:Open SWE,它可以从分析代码库、规划方案、写/改代码、创建Pull Request全过程自动化_open-swe本地部署步骤

猫头虎AI分享|开源异步编程工具:Open SWE,它可以从分析代码库、规划方案、写/改代码、创建Pull Request全过程自动化_open-swe本地部署步骤


猫头虎AI分享|开源异步编程工具:Open SWE,它可以从分析代码库、规划方案、写/改代码、创建Pull Request全过程自动化

随着软件开发的复杂性不断提高,开发者常常面临繁重的重复性任务,如代码审查、任务规划、代码编写和提交拉取请求等。为了提升开发效率,减少人为错误,自动化工具应运而生。Open SWE 便是这样一款开源异步编程工具,它能够从代码库分析、任务规划、编写代码、修改代码到最终创建Pull Request的全过程自动化执行。本文将详细介绍Open SWE的核心功能,并展示如何为特定项目创建自定义规则。

猫头虎 代码仓库:https://github.com/MaoTouHU/open-swe-code
Open SWE 有专门的规划步骤,可以深入理解复杂代码库和任务细节,在执行前,用户可以接受、编辑或者拒绝它的计划

文章目录

  • 猫头虎AI分享|开源异步编程工具:Open SWE,它可以从分析代码库、规划方案、写/改代码、创建Pull Request全过程自动化
    • Open SWE 概述
      • 主要功能
        • 1. **任务规划**
        • 2. **人工干预**
        • 3. **并行执行**
        • 4. **端到端任务管理**
      • Open SWE 使用方式
        • 1. **从UI使用Open SWE**
        • 2. **从GitHub使用Open SWE**
      • 自定义规则配置:使用AGENTS.md
        • AGENTS.md 文件结构
        • 自定义规则配置案例
        • AGENTS.md 文件说明
      • 配置Open SWE的优势
        • 自定义规则的优势:
    • 总结

猫头虎AI分享|开源异步编程工具:Open SWE,它可以从分析代码库、规划方案、写/改代码、创建Pull Request全过程自动化_open-swe本地部署步骤

猫头虎 代码仓库:https://github.com/MaoTouHU/open-swe-code
Open SWE 有专门的规划步骤,可以深入理解复杂代码库和任务细节,在执行前,用户可以接受、编辑或者拒绝它的计划

Open SWE 概述

Open SWE 是一款基于云架构的异步编程工具,能够帮助开发者自动化完成从分析代码库、规划解决方案、编写代码、更改代码到创建Pull Request的全过程。它不仅具有自动化执行任务的能力,还允许开发者在执行过程中进行实时干预和反馈。这使得Open SWE在执行复杂任务时,依然能确保高效性和精确度。

Open SWE 是基于 LangGraph 技术构建的,旨在提供一个端到端的自动化任务管理解决方案,帮助开发者高效处理常见的开发任务。
猫头虎AI分享|开源异步编程工具:Open SWE,它可以从分析代码库、规划方案、写/改代码、创建Pull Request全过程自动化_open-swe本地部署步骤

主要功能

1. 任务规划

Open SWE会在执行任务之前进行详细的规划,帮助开发者理解复杂的代码库和任务需求。用户可以在执行前审查、编辑或拒绝计划,确保任务的精准性。规划阶段允许开发者确认任务目标,避免不必要的错误和误解。

2. 人工干预

尽管Open SWE能够自动完成大部分任务,但它也支持在任务执行过程中进行人工干预。开发者可以随时提供反馈或修改指令,而无需暂停任务。这意味着,Open SWE能够在不中断流程的情况下,灵活应对开发者的需求变化。

3. 并行执行

Open SWE运行在云端环境中,支持多个任务的并行执行。这意味着开发者能够同时处理多个任务,提升整体开发效率。此外,Open SWE能够在沙盒环境中执行代码变更,确保任务的独立性和安全性。

4. 端到端任务管理

Open SWE能够自动创建GitHub Issues,并在任务完成后自动生成Pull Request以关闭相关Issues。整个任务的生命周期被自动化管理,减少了开发者的手动干预,提升了工作效率。

Open SWE 使用方式

Open SWE提供了多种使用方式,开发者可以根据自己的需求选择最适合的方式进行任务管理。

1. 从UI使用Open SWE

Open SWE提供了一个易于使用的Web界面,用户可以通过Open SWE官网创建、管理和执行任务。在UI界面中,用户能够方便地查看任务进展,提供反馈,并对任务进行管理。

2. 从GitHub使用Open SWE

开发者可以通过在GitHub Issues中添加标签 open-sweopen-swe-auto 来启动Open SWE任务。open-swe-auto标签将触发Open SWE自动执行任务,无需人工干预,适合简单的任务。对于复杂任务,可以使用open-swe-max标签,调用Claude Opus 4.1模型提升任务的质量。

自定义规则配置:使用AGENTS.md

为了更好地适应项目需求,Open SWE允许开发者为每个项目设置特定的规则。通过在项目根目录中创建 AGENTS.md 文件,开发者可以为Open SWE提供关于项目的上下文和特定要求。这些自定义规则有助于Open SWE理解项目的编码标准、架构设计、依赖项管理、测试框架等内容。

AGENTS.md 文件结构

AGENTS.md 是一个Markdown格式的文件,其中包含多个部分,具体包括:

  • :项目编码标准和约定。
  • :代码库组织结构。
  • :依赖管理和安装说明。
  • :测试框架和实践指南。
  • :Pull Request格式和审查要求。

通过这些部分,Open SWE能够遵循项目的具体约定,帮助开发者编写符合标准的代码,生成符合格式的拉取请求。
猫头虎AI分享|开源异步编程工具:Open SWE,它可以从分析代码库、规划方案、写/改代码、创建Pull Request全过程自动化_open-swe本地部署步骤

自定义规则配置案例

以下是一个完整的 AGENTS.md 文件配置示例:

<general_rules>- Always use Yarn as the package manager- Follow strict TypeScript practices- Use ESLint and Prettier for code quality</general_rules><repository_structure>This is a Yarn workspace monorepo with three main packages:- apps/web: Next.js frontend- apps/api: Express backend- packages/shared: Common utilities</repository_structure><dependencies_and_installation>Run `yarn install` from the repository root to install all dependencies.Key dependencies include React 18, TypeScript, and Jest for testing.</dependencies_and_installation><testing_instructions>- Run `yarn test` for unit tests- Run `yarn test:e2e` for end-to-end tests- Test files use `.test.ts` extension- Use Jest with React Testing Library</testing_instructions><pull_request_formatting>PR titles should follow: \"feat: description\" or \"fix: description\"Include a brief description and link any related issues.</pull_request_formatting>
AGENTS.md 文件说明
  • 部分定义了项目的编码标准,比如使用Yarn作为包管理器,遵循严格的TypeScript实践,使用ESLint和Prettier进行代码质量控制。
  • 部分描述了代码库的组织结构,包括主包、前端和后端部分的划分。
  • 部分说明了如何安装依赖项,并列出了关键依赖项,如React 18、TypeScript和Jest。
  • 部分给出了测试框架的使用说明,帮助开发者按照指定的方式运行单元测试和端到端测试。
  • 部分定义了PR创建的格式和审查要求,确保所有的拉取请求符合项目规范。

配置Open SWE的优势

通过设置 AGENTS.md 文件,Open SWE能够精准地遵循项目的约定和最佳实践,确保代码变更和拉取请求符合项目要求。对于开发者来说,使用自定义规则不仅能提高工作效率,还能确保项目的高质量和一致性。

自定义规则的优势:
  • 符合项目要求:Open SWE能够根据项目的具体需求执行任务,避免了不符合标准的代码更改。
  • 提升代码质量:通过设置编码规范、测试要求等规则,Open SWE帮助开发者保持代码的一致性和高质量。
  • 自动化任务管理:Open SWE不仅能够自动化任务执行,还能自动生成符合项目规范的拉取请求,节省了大量的时间和精力。

总结

Open SWE 是一款功能强大的开源异步编程工具,它可以自动化处理从代码分析、任务规划到代码编写和Pull Request创建的整个流程。借助它,开发者能够节省大量的时间和精力,提升开发效率。通过为项目创建 AGENTS.md 文件,开发者可以定义项目特定的规则,确保所有自动化任务都能符合项目要求,从而保证代码质量和开发效率。

对于那些希望提升自动化开发效率的团队来说,Open SWE 是一个非常值得尝试的工具。通过它,开发者能够在保证代码质量的前提下,大大简化开发流程,专注于更具创造性的工作。

GitHub仓库

猫头虎 代码仓库:https://github.com/MaoTouHU/open-swe-code
Open SWE 有专门的规划步骤,可以深入理解复杂代码库和任务细节,在执行前,用户可以接受、编辑或者拒绝它的计划

官方文档:Open SWE Documentation