OpenHands Issue Resolver是一个强大的工具,可以帮助开发者自动化问题的解决过程。通过GitHub Actions的集成,您可以在每次提交代码时自动运行它,从而提高开发效率。
准备工作
在开始之前,请确保您已经完成以下准备工作:
- 拥有一个GitHub仓库。
- 确保仓库中启用了GitHub Actions。
- 确保您有权限编辑仓库的
.github/workflows
目录。
配置步骤
第一步:创建GitHub Actions工作流文件
在您的仓库中,导航到.github/workflows
目录。如果该目录不存在,请创建一个。
在该目录下,新建一个名为openhands-resolver.yml
的文件,并添加以下内容:
name: Resolve Issue with OpenHands
on:
issues:
types: [labeled]
pull_request:
types: [labeled]
issue_comment:
types: [created]
pull_request_review_comment:
types: [created]
pull_request_review:
types: [submitted]
permissions:
contents: write
pull-requests: write
issues: write
jobs:
call-openhands-resolver:
uses: All-Hands-AI/OpenHands/.github/workflows/openhands-resolver.yml@main
with:
macro: ${{ vars.OPENHANDS_MACRO || '@openhands-agent' }}
max_iterations: ${{ fromJson(vars.OPENHANDS_MAX_ITER || 50) }}
base_container_image: ${{ vars.OPENHANDS_BASE_CONTAINER_IMAGE || '' }}
LLM_MODEL: ${{ vars.LLM_MODEL || 'azure/gpt-4o' }}
target_branch: ${{ vars.TARGET_BRANCH || 'dev' }}
secrets:
PAT_TOKEN: ${{ secrets.OPENHANDS_RESOLVER_TOKEN }}
PAT_USERNAME: ${{ secrets.OPENHANDS_RESOLVER_USERNAME }}
LLM_API_KEY: ${{ secrets.LLM_API_KEY }}
LLM_BASE_URL: ${{ secrets.LLM_BASE_URL }}
第二步,配置 Repo 权限
- 依次点击
Settings -> Actions -> Genral -> Workflow permissions
- 勾选
Read and write permissions
- 勾选
Allow Github Actions to create and approve pull requests
第三步:配置 GitHub Secrets
- 打开 GitHub Secrets。
- 必须项:
LLM_API_KEY
- 可选项:
OPENHANDS_RESOLVER_TOKEN
,OPENHANDS_RESOLVER_USERNAME
,LLM_BASE_URL
为了让 OpenHands Issue Resolver 能够访问您的GitHub仓库,您需要配置GITHUB_TOKEN
。幸运的是,GitHub 会自动为每个工作流运行提供一个GITHUB_TOKEN
,您无需手动设置。
第四步:验证配置
完成上述步骤后,提交并推送更改到您的仓库。即通过如下步骤触发 OpenHands Issue Resolver 工作流运行:
- 在 Repo 中创建新的 Issue。
- 给 Issue 添加
fix-me
的标签,或者在 Issue 的评论区@openhands-agent
。
- 使用
fix-me
标签, Agent 会基于所有的留言进行处理。 - 使用
@openhands-agent
, Agent进针对所处的留言帖子进行处理。
3. Openhands Agent自动被触发,即可通过 Agent生成的新评论或在 GitHub Repo 的 "Actions" 选项卡中查看工作流的运行状态。
4. OpenHands完成工作,并生成了新的PR,可人工进行review, merge
然后如果一切正常,您将看到OpenHands Issue Resolver成功运行的日志。
参考资料
总结
通过以上步骤,您已经成功将OpenHands Issue Resolver集成到GitHub Actions中。现在,您可以享受自动化问题解决带来的便利了!
如果您在配置过程中遇到任何问题,可随时在评论区下方留言。希望这篇文章对您有所帮助!