安装指南|OpenCSG Starship上架GitHub Marketplace

server/2024/12/26 17:11:16/

在代码开发的日常中,你是否常常被以下问题困扰?

  • 代码审查耗时太长,拖慢项目进度?

  • 审查质量参差不齐,一些关键问题被遗漏?

  • 复杂代码变更看不懂,审查者需要大量时间理解意图?

别担心!StarShip CodeReviewer —— 由 OpenCSG 倾力打造的智能代码审查助手,来帮你解决这些问题!

为什么选择 StarShip CodeReviewer?

StarShip CodeReviewer 是基于先进大语言模型(LLM)技术开发的代码审查工具,旨在为开发团队提供 自动化、智能化、高效化 的代码审查体验。无论是 个人开发者 还是 大型研发团队,StarShip CodeReviewer 都能助你一臂之力!

产品核心优势:

✅ 降低成本:自动化代码审查,减少人力投入。
✅ 提高质量:提供精准反馈,帮助代码质量再上新台阶。
✅ 提升效率:自动总结 MR,让审查者一眼看懂变更意图。
✅ 智能评分:多维度评估代码,确保达到最佳标准。

Starship现已上架GitHub Marketplace,通过以下步骤,您可以快速安装并配置 Starship App,并开始使用其代码审核功能。

StarShip Web App 快速使用指南

1. 安装 Starship App

  1. 访问应用主页
    打开 OpenCSG-Starship 应用主页(https://github.com/marketplace/opencsg-starship)。

    图片

  2. 安装应用
    点击主页下方的“安装”按钮,开始安装 Starship App。

  3. 配置 GitHub 仓库安装完成后,前往 Starship 配置平台(https://starship.opencsg.com/),对已安装的 GitHub 仓库进行代码审核配置。


2. 同步 GitHub 权限

  1. 登录 Starship 配置平台
    访问 starship.opencsg.com 并登录。

  2. 同步 GitHub 权限
    在 Settings(设置) 页面,点击 “同步 GitHub 权限” 按钮:

    图片

  3. 完成账号绑定
    点击按钮后,您的 GitHub 账号将与当前 Starship 登录用户绑定。


3. 添加 GitHub 项目

  1. 点击添加项目
    在配置平台中,点击 “添加项目” 按钮:

    图片

  2. 授权安装 OpenCSG-Starship App
    系统将打开 GitHub 的授权安装界面,您可以选择在哪个 GitHub Organization 中安装 Starship App:

    图片

  3. 选择仓库范围
    选择一个 Organization 后,您可以决定授权所有仓库或部分仓库:

    图片

  4. 等待同步完成
    安装完成后,系统将自动同步已安装 App 的项目,并同步用户的管理权限。此过程可能需要 1-5 分钟 初始化时间。成功后,您将在 设置 页面看到已连接的仓库列表:

    图片


4. 配置项目的 Code Review 规则

  1. 进入项目设置
    在 设置 界面,选择已连接的仓库。

  • 开始 Code Review 配置
    当前版本的 Starship App 专注于代码审核功能,您可以根据需要定制项目的审核规则:

    图片

    注意事项

    初始化时间:安装 App 并同步项目后,初始化可能需要 1-5 分钟。请耐心等待。

    功能范围:目前,Starship GitHub App 仅支持代码审核功能,更多功能正在开发中。

    通过以上简单步骤,您即可开始使用 OpenCSG-Starship App 进行高效的代码审核管理!


核心功能介绍

1️⃣ 审查MR

该功能旨在完善和改进的代码质量,通过深入理解MR,仔细检查代码变更,支持代码变更中遇到的问题,可能包括微小的代码问题,也可能是关键漏洞等。

审查结果

该功能模块将其审查结果分为两种不同的类型:

  • 接受(LGTM): 表示代码已经达到了设定的所有质量和安全基准,看起来没有需要进一步改进的重大问题,可以合并。 

    图片

  • 待提升: 与LGTM相反,这个结果表示代码虽然可能是可运行的,但可能没有达到特定的质量、性能或安全标准等。 

    图片

审查评论和建议
  • 重点评论和建议: 对于直接与特定代码行相关的问题,StarShip CodeReviewer会直接在相关代码行后追加讨论。这种反馈模式确保开发者可以看到每个评论或建议的确切上下文。 

    图片

  • 一般性审查评论和建议: 并非所有反馈都与特定代码行相关,一些建议可能与代码库的更广泛方面或编程实践有关。对于这类情况,StarShip CodeReviewer将反馈在“其他审查评论和建议”部分。 

    图片

配置自定义指令

StarShip CodeReviewer提供了高度可定制和灵活的代码审查方法,允许用户定义针对特定规则或标准的自定义指令。这一特性确保了代码审查过程完美地与组织标准、项目特定需求或独特的编码实践相一致。

  • 项目级配置: 可以通过DB(数据库)配置页面轻松地在项目级别整合自定义指令。这种集中式方法允许用户或团队领导一次性指定独特的规则和指导方针,将其应用于项目内的所有合并请求。 

    图片

  • 合并请求级配置: 为了提高量身定制的审查体验,用户可以选择直接在合并请求的备注中指定自定义指令,这种指令可能是项目级配置可能覆盖不到的独特规则。 

    图片

通过允许指定自定义指令,StarShip CodeReviewer确保代码不仅符合一般质量标准,而且还遵守项目或组织的独特要求或编码规范。

2️⃣ 总结MR

StarShip CodeReviwer的总结功能,通过自动生成简明扼要MR摘要,帮助人工审查者迅速理解代码变更的本质和意图,大大减少了审查和批准MR所需的时间。

自动生成描述:一旦自动触发,StarShip CodeReviwer立即分析MR的内容,并输出一个简明且全面的摘要,概括了MR的目标、变更和潜在的影响。这个摘要会无缝地直接并入MR描述中,确保审查者在深入详细审查之前,即可获得一个清晰的MR概览。

图片

手动触发,灵活易用:

用户可以通过在MR评论中手动触发,默认情况下,生成的摘要内容会附加到MR Note上。

如果您想要此总结追加到MR描述(在MR最前端)中,可以通过如下方式来手动触发。

@codegpt /describe --config={"mode": "append"}

如果您想用此总结完全代替MR描述,可以通过如下方式来手动触发。请注意,这种情况下,用户原来在MR描述中的内容将被替换。

@codegpt /describe --config={"mode": "replace"}

请注意,在MR描述变更之后,可能需要手动刷新网页来查看最新内容。

3️⃣ 评价MR

评估功能是为了确保您的代码达到最高标准。通过从十大维度和几十个角度来评估代码变更,StarShip CodeReviewer不仅根据LLM评估给出了一个综合分数,还解释了背后的原因。

图片


4️⃣ 多语言代码静态分析

配置

首先选择需要使用多语言代码静态分析的项目仓库,点击编辑: 

图片

 确保需要进行多语言静态分析的项目打开检查工具: 

图片

触发多语言代码静态分析

在合并请求(MR)中添加如下评论,触发一个自动化的静态代码扫描过程,分析代码变更,发现潜在的错误以及改进方案。

@codegpt /linter

有两种方式触发StarShip CodeReviewer:

自动出击:新的合并请求一旦创建并含有代码变更,StarShip CodeReviewer就会自动介入,开始审查,全程自动化,省心省力。

手动召唤:如果您想在特定时刻或对已提交的合并请求再次审查,可用手动方式触发。在MR里增加一条@codegpt开头的评论,StarShip CodeReviewer立刻出动。

手动触发

除了创建MR时候,自动触发外,如果您想手触发StarShip CodeReviewer,可以通过在您的合并请求(MR)中添加特定的评论来触发。

  • 触发MR审查:

    在合并请求(MR)中添加如下评论,触发一个自动化的代码审查过程,分析代码变更,发现潜在的错误以及改进方案。

    @codegpt /review
  • 触发MR总结:

    在合并请求(MR)中添加评论如下评论,这个命令启动一个自动化总结过程,帮助审查者快速理解MR。

    @codegpt /describe
  • 触发MR评估:

    在合并请求(MR)中添加评论如下评论,触发对代码进行全面评估。这包括性能分析、安全漏洞检查和优化建议,确保代码变更既健壮又高效。

    @codegpt /evaluate
  • 触发MR全面审查:

    如果您希望进行全方位分析,包括审查、描述和评估您的代码,只需在合并请求(MR)中添加评论如下评论。这个命令整合了前面命令的所有功能,一次性地对您的代码进行彻底的检查和评估。

    @codegpt /all
  • 访问帮助信息:

    想要获得帮助或更多关于可用命令及其使用方法的信息,请在合并请求(MR)中添加评论如下评论。

    @codegpt /help

在MR中触发这些功能,可以极大地简化代码审查过程,提高代码质量。

使用自定义配置的大型语言模型 (LLM)

StarShip CodeReviewer旨在提供多样化和全面的代码审查体验,支持与 SaaS(软件即服务)大型语言模型(如 GPT-4),同时也支持自定义本地 LLM 服务(例如deepseek-code-33B)。研发团队可以从数据隐私等方面考虑,选择最适合特定代码审查需求的 LLM 服务。

如果您已设置了一个自定义 LLM,您可以通过在您的合并请求(MR)中添加格式为 @codegpt-custom ...的评论来触发。

例如,如果您配置了一个更好地适应项目特定要求或编码标准的自定义本地 LLM,只需使用如下命令来触发它:

@codegpt-custom /review

这个命令将使用您的自定义配置的 LLM 启动代码审查过程,提供独特的见解和建议。

在默认和自定义 LLM 之间切换

如果您将自定义本地 LLM 设置为默认模型,但偶尔需要利用另一个模型(如 GPT-4),StarShip CodeReviewer支持轻松地为特定任务切换。在MR中在评论中添加 @codegpt-gpt4 ...,这使得StarShip CodeReviewer暂时利用 GPT-4 模型完成审查。

例如,如果您希望使用 GPT-4 模型进行代码审查,您将输入:

@codegpt-gpt4 /review

请注意,一些信息(如帮助信息)可能也会依然显示codegpt

🔗 StarShip现已上架GitHub,让你的代码审查更智能、更高效! 🚀
💬 立即安装,让开发更轻松!


http://www.ppmy.cn/server/152982.html

相关文章

apache应用(客户机地址限制、用户授权限制、日志分割、AWStats日志分析)

目录 一、 客户机地址限制 二、 用户授权限制 三、 日志分割 使用rotatelogs分割工具 使用第三方工具cronolog 四、 AWStats日志分析 具体的apache软件安装可以阅读我之前的文章apache安装https://blog.csdn.net/m0_68472908/article/details/139348739?spm1001.2014.300…

C调用gnuplot绘图的方法

每次调试都先从C中抓数据,然后再拷贝到py或者matlab中绘图,太麻烦,为了提高效率,可以考虑C调用gnuplot的方案(当然C调用py的matplotlib应该也是可以的) 废话不多说,直接上代码: #i…

深度学习中的特征到底是什么?

深度学习中的特征到底是什么? 深度学习中的特征到底是什么? 特征要有对比才能更好地认识和区别。 常见的图像特征,如sobel边缘算子,提取出来的是图像的边缘特征信息,表示的是图像中像素有突 变的地方,然后用一个3*3的滤波器模板去提取出来。又比如LBP…

处理字体图标、js、html及其他资源

一、处理图标资源 1.1 下载字体图标文件 打开阿里巴巴矢量图标库open in new windowhttps://www.iconfont.cn/ 选择想要的图标添加到购物车,统一下载到本地。 1.2 添加字体图标资源 👉 src/fonts/iconfont.ttf 👉 src/fonts/iconfont.w…

logback日志控制台打印与写入文件

1.创建logback-spring.xml文件放入resource下 <?xml version"1.0" encoding"UTF-8"?> <configuration><property name"LOG_CONTEXT_NAME" value"log"/><!--定义日志文件的存储地址 勿在 LogBack 的配置中使用…

Ubuntu下通过Docker部署NGINX服务器

Yo! 大家好&#xff0c;Hitch在此带来一篇关于在Ubuntu下通过Docker部署NGINX服务器的技术博客。废话不多说&#xff0c;让我们直奔主题&#xff01; Docker和NGINX简介 Docker是一个开源的容器化平台&#xff0c;可以轻松创建、部署和运行应用程序。NGINX是一个高性能的Web服…

程控电阻箱应用中需要注意哪些安全事项?

程控电阻箱是一种用于精确控制电路中电流和电压的电子元件&#xff0c;广泛应用于电子实验、测试设备以及精密测量仪器中。在应用程控电阻箱时&#xff0c;为确保安全和设备的正常运行&#xff0c;需要注意以下几个安全事项&#xff1a; 1. 正确连接&#xff1a;确保电阻箱与电…

设计模式的主要分类是什么?请简要介绍每个分类的特点。

大家好&#xff0c;我是锋哥。今天分享关于【设计模式的主要分类是什么&#xff1f;请简要介绍每个分类的特点。】面试题。希望对大家有帮助&#xff1b; 设计模式的主要分类是什么&#xff1f;请简要介绍每个分类的特点。 1000道 互联网大厂Java工程师 精选面试题-Java资源分…