Acesso no exterior: www.kdjingpai.com
Ctrl + D Marcar este site como favorito

Async是一个开源的开发者工具,它将AI编码、任务管理和代码审查这三个环节深度整合到一个工作流中。 这个工具旨在解决成熟代码库的开发难题,通过自动化处理从GitHub议题(Issue)到拉取请求(Pull Request)合并的全过程,来提升开发效率。 它首先利用AI分析编码任务并提出问题以明确需求,然后在云端隔离环境中执行代码修改,并将大型任务分解为易于审查的多个子任务。 Async通过这种方式,减少了开发者在不同工具间切换的频率,强制在编码前进行规划,并简化了任务跟踪和代码审查的流程。

 

Lista de funções

  • 自动化任务研究:在开始编码前,Async会自动分析代码库,并对任务需求提出澄清问题,确保方向正确。
  • 云端隔离执行:代码的修改和执行在云端的隔离环境中进行,不影响开发者的本地开发环境,开发者可以在此期间处理其他工作。
  • 堆叠式差异审查:它将一项大任务分解为多个独立的子任务和提交,生成堆叠式的差异(stacked diffs),让代码审查过程更清晰、更高效。
  • 端到端工作流:Async能够处理从创建GitHub议题到代码最终合并的完整开发流程,用户无需离开应用即可完成所有操作。
  • 简化任务跟踪:工具能够自动导入GitHub仓库中待处理的议题作为任务,无需使用额外的项目管理工具。
  • 内置代码审查:在Async应用内即可直接对代码提交进行评论和迭代,审查通过后可直接合并。

Usando a Ajuda

Async作为一个集成了前后端的复杂应用,它的安装和使用需要一系列环境配置。下面将详细介绍如何在本地环境中部署和运行Async。

Preparação ambiental

开始之前,请确保你的系统中已经安装了Python环境管理工具。项目推荐使用uv,一个快速的Python包安装器和解析器。

第一步:获取代码并设置虚拟环境

  1. 首先,克隆该项目的代码仓库到你的本地机器:
    git clone https://github.com/bkdevs/async-server.git
    cd async-server
    
  2. fazer uso deuv创建一个新的虚拟环境。这会在家目录下创建一个名为.venv的文件夹来隔离项目依赖。
    uv venv .venv
    
  3. 激活刚刚创建的虚拟环境。在macOS或Linux系统下,运行:
    source .venv/bin/activate
    ```    激活后,你的命令行提示符前端会显示`(.venv)`字样。
    

第二步:安装项目依赖

  1. 在激活虚拟环境后,使用uv sync命令来安装pyproject.toml文件中定义的所有依赖项。
    uv sync
    
  2. 接下来,安装用于代码格式化和静态检查的预提交(pre-commit)钩子。
    pre-commit install
    

    这可以确保你在提交代码时,代码会自动遵循项目设定的规范。

第三步:配置文件

  1. 环境变量文件::
    在项目的根目录下,你需要创建一个.env文件。这个文件用于存放敏感的API密钥和配置信息。你可以参考项目中的.env.local文件来了解需要配置哪些变量。

    cp .env.local .env
    

    然后,编辑.env文件,填入你自己的配置信息,例如数据库地址、GitHub密钥以及Anthropic、OpenAI、Google等AI模型的API密钥。

  2. Firebase配置文件::
    项目使用Firebase Firestore作为数据库。你需要从你的Firebase项目控制台下载服务账号的JSON密钥文件,并将其命名为async-firebase.json,然后放置在项目的根目录下。
  3. Google Cloud认证::
    由于Async利用Google Cloud Run执行云端任务,你需要在本地进行Google Cloud的身份认证。运行以下命令,它会打开浏览器引导你完成登录授权:

    gcloud auth application-default login
    

第四步:本地运行

  1. Início dos serviços de back-end::
    完成以上所有配置后,就可以启动后端的FastAPI服务了。使用以下命令启动,服务将运行在8000端口,并且--reload参数会使服务在代码变更后自动重启。

    uvicorn src.server:app --reload --port 8000
    
  2. 代码检查和格式化::
    如果你想手动对代码进行格式化和风格检查,可以运行以下命令:

    # 格式化代码
    uv run ruff format .
    # 检查代码并自动修复问题
    uv run ruff check . --fix
    

第五步:运行测试

为确保所有功能正常,你可以运行项目自带的单元测试:

python -m pytest

工作流程简介

当你在本地成功运行Async后,它的工作流程如下:

  1. 授权和任务导入:通过GitHub App授权Async访问你的代码仓库,它会自动将仓库中未解决的议题(Issues)导入为任务。
  2. 研究阶段:当一个新任务被创建,Google Cloud Run会启动一个“研究”任务,克隆你的代码库,分析代码并就模糊不清的需求生成问题。
  3. Fase de implementação:在你确认或回答了问题后,另一个独立的云端任务会开始执行代码修改。它会使用Claude Code模型,创建新的功能分支,将任务分解成多个子任务并逐一作为commit提交,最后自动创建一个拉取请求(PR)。
  4. 审查阶段:你可以在Async的界面中审查这个PR。它的堆叠式差异(stacked diffs)视图让你能逐个检查每个子任务的修改。你可以直接评论,如果需要修改,系统会自动创建一个新的子任务;如果审查通过,代码就会被合并。

cenário do aplicativo

  1. 加速复杂代码库的功能开发
    对于那些拥有庞大而复杂代码库的团队,引入新功能或修复深层漏洞通常需要大量的前期研究和上下文理解。Async可以通过其AI研究功能,自动分析代码库并明确任务需求,帮助经验丰富的开发者快速定位修改点,减少手动摸索的时间。
  2. 优化代码审查流程
    在快节奏的开发团队中,大型的拉取请求(Pull Request)常常会拖慢审查速度。Async通过将一个大任务分解为多个逻辑清晰的子任务(堆叠式差异),让审查者可以逐个击破,更轻松地理解每一处代码变更的意图,从而提高审查效率和质量。
  3. 减少开发过程中的上下文切换
    开发者常常需要在IDE、项目管理工具(如Jira或Linear)、代码托管平台(GitHub)和沟通工具之间来回切换。Async将这些流程整合到一个统一的平台中,从任务分配、编码执行到代码审查,开发者都可以在一个地方完成,极大地减少了因工具切换带来的心智负担。

QA

  1. Async工具主要解决什么问题?
    Async主要解决在成熟和复杂的代码库中进行开发时遇到的效率问题。它通过集成AI编码、任务管理和代码审查,自动化从议题创建到代码合并的整个流程,旨在减少开发者的上下文切换、强制执行前期规划,并简化代码审查过程。
  2. Async如何在云端执行代码?
    Async使用Google Cloud Run来运行独立的、容器化的任务。当需要执行代码修改时,它会启动一个云端作业,该作业会克隆代码仓库到一个隔离的环境中,安装所有依赖,然后使用Claude Code等AI模型进行代码的编写和提交,完成后自动发起拉取请求。整个过程不会影响开发者的本地环境。
  3. 该项目是否支持自托管(self-host)?
    是的,作为一个开源项目,Async提供了在本地和云端部署的详细指南。用户需要在自己的Google Cloud Platform账户下配置Cloud Run和Firebase,并提供相关的API密钥,就可以自行部署和运行整个服务。
  4. 这个工具适合新手开发者或新项目吗?
    根据其文档描述,Async是“为那些深度了解自己代码库的经验丰富的开发者而构建的”。它在处理具有复杂历史和结构的大型项目时最能发挥价值。对于全新的项目或初级开发者,其复杂的自动化流程可能不是必需的。
0Marcado
0Recomendado

Não consegue encontrar ferramentas de IA? Tente aqui!

Basta digitar a palavra-chave Acessibilidade Bing SearchA seção Ferramentas de IA deste site é uma maneira rápida e fácil de encontrar todas as ferramentas de IA deste site.

voltar ao topo

pt_BRPortuguês do Brasil