用豆包的 API 搭建一个能自动分析 GitHub Issue 的机器人实操分享

创业者老刘 高级 2026/5/18 398 浏览 3 点赞 约 1 分钟

直接把 GitHub Webhook 挂到豆包 API 上,就能实现一个自动给 Issue 打标签并初步分析问题的机器人,省去了手动筛选重复 Bug 的时间。

用豆包的 API 搭建一个能自动分析 GitHub Issue 的机器人实操分享

我实现这个功能的逻辑是:GitHub 有新 Issue → Webhook 推送到我的中间件(用 FastAPI 写的)→ 调用豆包 API 分析文本 → 调用 GitHub API 回复或打标签。

最关键的在于 Prompt 的设计,如果直接问“分析这个 Issue”,AI 经常会说一堆废话。我测试后发现,必须强制它输出 JSON 格式,这样我的代码才能直接解析结果并执行操作。

推荐的分析 Prompt:

你是一个资深开源项目维护者。请分析以下 GitHub Issue 的内容,判断其类型(Bug/Feature/Question)以及紧急程度(High/Low)。
必须仅输出 JSON 格式,禁止任何解释文字。
格式要求:{"type": "Bug", "priority": "High", "summary": "一句话概括问题"}
Issue内容:{{issue_body}}

核心处理逻辑代码片段:

import requests
from fastapi import FastAPI, Request

app = FastAPI()
DOUBAO_API_KEY = "你的API_KEY"
GITHUB_TOKEN = "你的GITHUB_TOKEN"

@app.post("/webhook")
async def handle_issue(request: Request):
    data = await request.json()
    if data.get("action") == "opened":
        issue_text = data["issue"]["body"]
        issue_number = data["issue"]["number"]
        repo = data["repository"]["full_name"]
        
        # 调用豆包 API
        response = requests.post(
            "https://ark.cn-beijing.volces.com/api/v3/chat_completions",
            headers={"Authorization": f"Bearer {DOUBAO_API_KEY}"},
            json={
                "model": "doubao-1-5-pro-32k", 
                "messages": [{"role": "user", "content": f"分析此Issue: {issue_text}"}]
            }
        )
        result = response.json()['choices'][0]['message']['content']
        
        # 根据 result 的 JSON 结果,调用 GitHub API 给 Issue 打标签
        # 这里的 requests.patch 逻辑省略,直接对接 GitHub REST API 即可

踩过的几个坑:
1. Webhook 验证问题:GitHub 发送的请求带有一个 X-Hub-Signature-256 头部,如果是在公网环境,建议加上签名校验,否则任何人只要知道你的 URL 都能伪造请求刷你的 API 额度。
2. 响应超时:GitHub Webhook 要求服务器在 10 秒内响应。豆包 API 响应速度虽然快,但如果 Issue 内容过长导致推理时间增加,可能会触发 GitHub 的超时重试。我的解决方法是先立即返回 202 Accepted,然后把分析任务丢进异步队列(如 Celery 或简单的 BackgroundTasks)里处理。
3. Token 权限:给 GitHub Token 权限时,不要给全部,仅勾选 issues:write 即可,保证最小权限原则。

配置好之后,现在的流程是:用户提交 Bug → 3 秒后机器人自动贴上 bug 标签 → 机器人回复一条“已收到,初步分析为 XX 模块问题”,维护者进场时已经知道大概情况了。

各类AI落地变现的详细拆解见AI赚钱方法实操指南,有不少直接可参考的案例。

全部回复 (0)

还没有回复,来发第一条吧!

发表回复

支持 Markdown 格式