Project Icon

pr-pilot

通过AI智能化管理代码审查任务,提高开发效率

PR Pilot利用AI自动化管理代码审查任务,支持命令行界面、Python SDK及REST API集成,并提供智能工作流和GitHub无缝连接。通过详细的指南和文档,易于上手,帮助开发者专注于更有价值的工作,显著提升工作效率。

PR Pilot Logo

安装 | 文档 | 博客 | 官网

PR Pilot

Build StatusPythonDjangoLicenseVersion

通过将日常工作委托给AI,提高效率并保持工作流的稳定性和可预测性。PR Pilot在您的日常工作流中提供帮助,与您信赖和喜爱的开发工具无缝衔接 - 无论何时何地。

asciicast

立即使用我们的用户指南开始。

随时随地交给PR Pilot

您可以通过多种方式与PR Pilot交互:

使用**命令行界面**

pilot edit main.py "为所有函数和类添加docstrings"

通过提示模板,您可以创建强大的、可重复使用的命令:

我做了一些修改并提交了一个新的PR: #{{ env('PR_NUMBER') }}。

我需要一个PR标题和一个简短、简洁的描述,概述这些更改。
PR描述也将用作合并提交信息,因此应清晰且信息丰富。

使用以下指南:

- 标题以动词命令式开头(例如,“添加”,“修复”,“更新”)。
- 在最顶部,提供一句话总结这些更改及其影响。
- 在下面,以项目符号列出所做的更改。

# 你的任务
编辑PR #{{ env('PR_NUMBER') }}的标题和描述,以反映该PR中的更改。

发送PR Pilot,根据您的指南,为任何PR提供标题和描述:

PR_NUMBER=153 pilot task -f generate-pr-description.md.jinja2

使用**Python SDK**:

from pr_pilot.util import create_task, wait_for_result

prompt = """
1. 找出昨天在Slack和Linear上创建的所有“bug”问题。
2. 总结并将它们发布到Slack上的#bugs-daily频道
3. 将总结保存到`reports/<date>.md`
"""

github_repo = "PR-Pilot-AI/pr-pilot"
task = create_task(github_repo, prompt)
result = wait_for_result(task)

print(result)

使用**REST API**:

curl -X POST 'https://app.pr-pilot.ai/api/tasks/' \
-H 'Content-Type: application/json' \
-H 'X-Api-Key: YOUR_API_KEY_HERE' \
-d '{
    "prompt": "正确格式化README.md并添加表情符号",
    "github_repo": "owner/repo"
}'

使用**智能工作流**:

# .github/workflows/chat_bot.yaml`

name: "🤖 我的项目定制聊天机器人"

on:
  issues:
    types: [labeled, commented]
  issue_comment:
    types: [created]

jobs:
  handle-chat:
    if: >
      (github.event.label.name == 'chat' || contains(github.event.issue.labels.*.name, 'chat')) &&
      github.event.sender.login != 'pr-pilot-ai[bot]'
    runs-on: ubuntu-latest
    steps:
      - name: AI聊天响应
        uses: PR-Pilot-AI/smart-actions/quick-task@v1
        with:
          api-key: ${{ secrets.PR_PILOT_API_KEY }}
          agent-instructions: |
              @${{ github.event.sender.login }} 在issue #${{ github.event.issue.number }}上评论。
              阅读issue #${{ github.event.issue.number }}的内容。
              如果还没有评论,请添加一个在此issue上下文中有意义的评论。
              如果已有评论,请对最新的评论提供回答。

或直接在**Github issues和PRs**上与PR Pilot交流:

First pilot command

🛠️ 安装

要开始使用,请按照我们的用户指南

🚀 本地运行

设置以下环境变量:

变量描述
GITHUB_APP_CLIENT_IDGitHub App客户端ID
GITHUB_APP_SECRETGitHub App密钥
GITHUB_WEBHOOK_SECRET用于保护webhooks的密钥
GITHUB_APP_IDGitHub App ID
OPENAI_API_KEYOpenAI服务的API密钥
REPO_DIR用于存储仓库数据的目录
TAVILY_API_KEYTavily搜索引擎的API密钥
STRIPE_API_KEY用于处理付款的Stripe API密钥
STRIPE_WEBHOOK_SECRET用于保护Stripe webhook端点的密钥
DJANGO_SECRET_KEYDjango的密钥
SENTRY_DSN(可选)Sentry DSN,用于错误监控
JOB_STRATEGY(可选)运行任务的策略('thread','redis','log')
REDIS_HOST(可选)用于任务调度的Redis主机
REDIS_PORT(可选)用于任务调度的Redis端口
REPO_CACHE_DIR(可选)用于存储仓库缓存的目录
REPO_DIR(可选)在工作器中存储repo的工作区
SLACK_APP_IDSlack App ID
SLACK_CLIENT_IDSlack客户端ID
SLACK_CLIENT_SECRETSlack客户端密钥
SLACK_SIGNING_SECRETSlack签名密钥

要在您的本地机器上运行PR Pilot,请按以下步骤操作:

# 克隆代码库
git clone https://github.com/PR-Pilot-AI/pr-pilot.git

# 更改目录
cd pr-pilot

# 安装依赖
pip install -r requirements.txt

# 应用迁移
python manage.py migrate

# 创建超级用户
python manage.py createsuperuser

# 启动开发服务器
python manage.py runserver

要将本地服务器暴露到互联网,可以使用 ngrok

ngrok http 8000

🧪 单元测试

PR Pilot使用 tox 来管理单元测试。测试设置在 tox.ini 文件中配置,测试使用 pytest 编写。

要运行测试,请执行:

tox

这将运行项目中定义的所有测试,确保您的更改不会破坏现有功能。

📚 代码文档

有关代码结构和文档的更多信息,请访问docs/code

🤝 贡献

我们欢迎对PR Pilot的贡献!有关如何参与的更多信息,请查看我们的贡献指南

📄 许可证

PR Pilot是开源的,遵循GPL-3许可协议。有关更多信息,请参阅LICENSE文件。

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号