首页 > 其他分享 >使用 FastGPT 工作流搭建 GitHub Issues 自动总结机器人

使用 FastGPT 工作流搭建 GitHub Issues 自动总结机器人

时间:2024-10-30 15:34:41浏览次数:6  
标签:FastGPT GitHub const date issue Issues

如今任何项目开发节奏都很快,及时掌握项目动态是很重要滴,GitHub Issues 一般都是开发者和用户反馈问题的主要渠道。

然而,随着 Issue 数量的增加,及时跟进每一个问题会变得越来越困难。

为了解决这个痛点,我们开发了一个自动化 Issue 总结机器人,它的功能很简单:

  1. 自动获取项目最新的 GitHub Issues;
  2. 智能总结 Issues 内容;
  3. 将总结推送到指定的飞书群。

接下来我会提供详细的操作步骤,一步步实现这个机器人。

话不多说,拿起键盘,开始教学 ~

GitHub API 介绍

GitHub 提供了强大的 API 让我们能够轻松获取 Issues 信息。我们将使用以下接口来获取某个 repo 的 Issues:

这个接口默认返回最近的 30 条 Issues。

可以参考 Github 的 API 文档以获得更多的信息。

FastGPT 介绍

FastGPT 是一个能让 AI 开发门槛大幅降低的工具。不管你是有技术背景的开发者,还是只是对 AI 感兴趣的小白,FastGPT 都能帮你轻松入门,甚至可以让你在几分钟内构建出一个属于自己的 AI 应用。

传统的 AI 开发,你需要掌握编程、算法、数据处理等复杂技能。但是使用 FastGPT,你只需要简单几步就能启动一个 AI 应用。打个比方,传统的 AI 开发就像是你自己动手盖一栋房子,不但需要砖头、瓦片,还得有设计图纸;而 FastGPT 更像是搭积木,你只需选好模块,几块拼起来,房子就能立刻成型。

本文就会教大家如何使用 FastGPT 工作流来一步一步实现这个机器人。

FastGPT 工作流搭建过程

首先我们要登录 FastGPT 并新建一个工作流:

名字就叫 GitHub Issue 总结机器人吧。

然后开始一步一步添加节点。接下来开始对工作流进行拆解并详细讲解。

1. 构造查询范围

首先我们需要以当前时间节点为基准,获取 24 小时前的具体日期。需要使用到的节点是【代码运行】节点。

完整代码如下:

function main() {
  const date = new Date();
  date.setDate(date.getDate() - 1);
  const day = date.getDate();
  const month = date.getMonth() + 1;
  const year = date.getFullYear();
  const hours = date.getHours();
  const minutes = date.getMinutes();

  return {
    date: `${year}-${month}-${day}T${hours}:${minutes}:000Z`,
  }
 }

2. 利用 GitHub API 获取 Issues

这一步我们将使用【HTTP 请求】节点来访问 GitHub API 来获取指定项目过去 24 小时内的 Issues。

这里以 FastGPT 项目为例。

3. 处理 API 响应数据

获取到原始数据后,我们需要对其进行处理,提取出我们需要的信息。同样使用【代码运行】节点。

完整代码如下:

function main({res}) {
    const issues = JSON.parse(res);
    const ret = [];
    for(const issue of issues) {
        if (issue.pull_request) continue;
        ret.push({
            title: issue.title,
            body: issue.body,
            url: issue.html_url
        })
    }

    return {
        ret: JSON.stringify(ret)
    }
}

由于 issue 接口会将 pull_request 也视为 issue,所以我们只能在代码里面过滤。

4. 使用大语言模型总结内容

为了生成高质量的摘要,我们使用大语言模型来处理和总结 Issues 内容。

提示词如下:

你是一个简洁高效的 GitHub Issue 概述助手,专长于提炼核心问题并以清晰简洁的方式呈现。

## 任务
分析输入的多条 issue 信息,为每个 issue 创建一个简明扼要的概述。使用中文输出。

## 输入格式
JSON 数组,每项包含 title(标题)、body(内容)和 url(链接)。

## 输出格式
对每个 issue 使用 Markdown 语法创建简洁的概述块。每个概述应包含:

1. 使用加粗呈现 issue 的原标题
2. 一段简短的问题概述(不超过 2-3 句话)
3. 原 issue 的链接(使用 Markdown 链接语法)

在概述中适当使用 emoji 来增加可读性,但不要过度使用。保持整体风格简洁明了。

示例输出:

---

**

标签:FastGPT,GitHub,const,date,issue,Issues
From: https://www.cnblogs.com/ryanyangcs/p/18515923

相关文章

  • 全网爆火神书《从零构建大模型》分享,尚未发布,GitHub标星22k!
    本书介绍《从零构建大模型》是一本即将于今年10月底发布的书籍,github已经吸引了惊人的21.7k标星!作者是威斯康星大学麦迪逊分校的终身教授,在GitHub、油管、X上拥有大量粉丝,是一位真正的大佬。本书免费获取地址:在本书中,读者将从内到外了解LLM的工作原理。在这本富有洞......
  • github fork 及 pull requests 流程
    1.从原始仓库fork到自己的仓库 2.clone自己仓库的代码到本地gitclonehttps://xxxx.git 3.添加upstream(git地址为原始仓库地址,添加后可对原始仓库进行拉取和推送)gitremoteaddupstreamhttps://xxx.git 4.本地拉取原始仓库最新代码gitfetchupstream......
  • GitHub Star 数量前 5 的开源应用程序生成器
    欢迎来的GitHubStar数量排名系列文章的第7篇——最受欢迎的应用程序生成器。之前我们已经详细探讨过:在GitHub上最受欢迎的——无代码工具、低代码项目、内部工具、CRUD项目、自部署项目和Airtable开源替代品。累计超过50个优质项目!(......
  • 2024年10月28日Github流行趋势
    项目名称:Skyvern-AI/skyvern项目维护者:@ykeremy@wintonzheng@LawyZheng@msalihaltun@suchintan项目介绍:使用LLMs和计算机视觉实现基于浏览器的工作流程自动化。项目star数:8,730项目fork数:566项目名称:anthropics/courses项目维护者:@Colt@alexalbertt@rainl......
  • github下载加速[findstr修改hosts]
    @echooffremcolor1fsettitle=github下载加速[修改hosts]title%title%set"HOSTS_PATH=%windir%\system32\drivers\etc\hosts"REM备份原始的hosts文件copy"%HOSTS_PATH%""%HOSTS_PATH%.bak"rem使用findstr获取最后一行setnumber=0for/f"de......
  • 使用 FastGPT 工作流实现 AI 赛博算卦,一键生成卦象图
    最近那个男人写的汉语新解火遍了全网,那个男人叫李继刚,国内玩AI的同学如果不知道这个名字,可以去面壁思过了。这个汉语新解的神奇之处就在于它只是一段几百字的提示词,效果却顶得上几千行代码写出来的应用程序。这段提示词是用lisp伪代码写的,我们来观摩一下:;;作者:李继刚;;......
  • 《HelloGitHub》第 103 期
    兴趣是最好的老师,HelloGitHub让你对编程感兴趣!简介HelloGitHub分享GitHub上有趣、入门级的开源项目。github.com/521xueweihan/HelloGitHub这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程语言Python、Java、Go、C/C++、Swift...让你在短......
  • 如何安全彻底地删除GitHub上的fork项目
    GitHub提供了一个功能,允许用户fork其他开发者的项目,但在某些情况下,我们可能需要删除fork的项目。本文将指导您如何安全、彻底地进行此操作:1.确认删除的必要性;2.备份重要数据;3.删除项目;4.检查与原项目的联系;5.清除本地仓库。删除GitHub上的fork项目是一个相对简单的过程,但在执行之......
  • 如何在GitHub上进行push操作
    ​成功在GitHub上进行push操作需要遵循以下步骤:1.配置Git环境和创建SSH密钥;2.选择适当的仓库和创建新分支;3.进行代码更改并添加到暂存区;4.提交你的更改;5.执行push操作将更改推送到GitHub仓库。首先,确保你的计算机上已安装并配置了Git。1.配置Git环境和创建SSH密钥为了在GitHu......
  • Coding和Github有什么区别
    Coding和Github的区别主要体现在:1.来源和发展背景不同;2.功能特性不同;3.使用者群体不同;4.可用资源不同;5.服务区域和语言支持不同。总的来说,Coding更侧重于团队协作和项目管理,有更多针对中国市场的本土化服务,而Github作为全球最大的开源社区,拥有丰富的开源项目和全球开发者的交流环......