安装指南|OpenCSG Starship上架GitHub Marketplace
在代码开发的日常中,你是否常常被以下问题困扰?
-
代码审查耗时太长,拖慢项目进度?
-
审查质量参差不齐,一些关键问题被遗漏?
-
复杂代码变更看不懂,审查者需要大量时间理解意图?
别担心!StarShip CodeReviewer —— 由 OpenCSG 倾力打造的智能代码审查助手,来帮你解决这些问题!
为什么选择 StarShip CodeReviewer?
StarShip CodeReviewer 是基于先进大语言模型(LLM)技术开发的代码审查工具,旨在为开发团队提供 自动化、智能化、高效化 的代码审查体验。无论是 个人开发者 还是 大型研发团队,StarShip CodeReviewer 都能助你一臂之力!
产品核心优势:
✅ 降低成本:自动化代码审查,减少人力投入。
✅ 提高质量:提供精准反馈,帮助代码质量再上新台阶。
✅ 提升效率:自动总结 MR,让审查者一眼看懂变更意图。
✅ 智能评分:多维度评估代码,确保达到最佳标准。
Starship现已上架GitHub Marketplace,通过以下步骤,您可以快速安装并配置 Starship App,并开始使用其代码审核功能。
StarShip Web App 快速使用指南
1. 安装 Starship App
-
访问应用主页
打开 OpenCSG-Starship 应用主页(https://github.com/marketplace/opencsg-starship)。
-
安装应用
点击主页下方的“安装”按钮,开始安装 Starship App。 -
配置 GitHub 仓库安装完成后,前往 Starship 配置平台(https://starship.opencsg.com/),对已安装的 GitHub 仓库进行代码审核配置。
2. 同步 GitHub 权限
-
登录 Starship 配置平台
访问 starship.opencsg.com 并登录。 -
同步 GitHub 权限
在 Settings(设置) 页面,点击 “同步 GitHub 权限” 按钮:
-
完成账号绑定
点击按钮后,您的 GitHub 账号将与当前 Starship 登录用户绑定。
3. 添加 GitHub 项目
-
点击添加项目
在配置平台中,点击 “添加项目” 按钮:
-
授权安装 OpenCSG-Starship App
系统将打开 GitHub 的授权安装界面,您可以选择在哪个 GitHub Organization 中安装 Starship App:
-
选择仓库范围
选择一个 Organization 后,您可以决定授权所有仓库或部分仓库:
-
等待同步完成
安装完成后,系统将自动同步已安装 App 的项目,并同步用户的管理权限。此过程可能需要 1-5 分钟 初始化时间。成功后,您将在 设置 页面看到已连接的仓库列表:
4. 配置项目的 Code Review 规则
-
进入项目设置
在 设置 界面,选择已连接的仓库。
-
开始 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,让你的代码审查更智能、更高效! 🚀
💬 立即安装,让开发更轻松!
相关文章:
安装指南|OpenCSG Starship上架GitHub Marketplace
在代码开发的日常中,你是否常常被以下问题困扰? 代码审查耗时太长,拖慢项目进度? 审查质量参差不齐,一些关键问题被遗漏? 复杂代码变更看不懂,审查者需要大量时间理解意图? 别担…...
Excel设置生日自动智能提醒,公式可直接套用!
大家好,我是小鱼。 今天跟大家分享一个WPS表格中根据出生日期,设置生日提醒,并且根据距离生日天数自动标记数据颜色。简单又实用,一个公式轻松搞定! 接下来我们先学习一下需要使用到的函数,然后再根据实例让…...
同步异步日志系统:前置知识
一、日志项目的介绍 1.1 为什么要有日志系统 1、⽣产环境的产品为了保证其稳定性及安全性是不允许开发⼈员附加调试器去排查问题,可以借助日志系统来打印⼀些⽇志帮助开发⼈员解决问题 为什么不直接printf打印在屏幕上呢??因为现实中没有…...
微服务设计原则——功能设计
文章目录 1.ID生成2.数值精度3.DB操作4.性能测试5.版本兼容5.1 向旧兼容5.2 向新兼容 6.异步时序问题7.并发问题7.1 并发时序7.2 并发数据竞争 参考文献 1.ID生成 在分布式系统中,生成全局唯一ID是非常重要的需求,因为需要确保不同节点、服务或实例在并…...
低代码软件搭建自学的第一天——熟悉PyQt
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 学习计划第 1 步:环境搭建1.1 安装 Python1.2 安装 PyQt安装命令:验证安装: 第 2 步:PyQt 基础知识2.1 创建第一个窗…...
基于Python3编写的Golang程序多平台交叉编译自动化脚本
import argparse import os import shutil import sys from shutil import copy2from loguru import loggerclass GoBuild:"""一个用于构建跨平台执行文件的类。初始化函数,设置构建的主文件、生成的执行文件名称以及目标平台。:param f: 需要构建的…...
远程桌面连接
电脑A:使用机 电脑B:被控制的另一个 方法1: 在电脑B上操作 ①winr输入cmd进入命令行窗口,输入ipconfig查询本机地址 ②我的电脑/此电脑 右键点击“属性” ③选择屏幕右边“远程桌面” ④打开“启用远程桌面” ⑤打开设置&am…...
网络地址转换NAT
NAT(Network Address Translation) 方法于1994年提出。需要在专用网连接到因特网的路由器上安装NAT软件。装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球地址IPG。 所有使用本地地址的主机在和外界通信时都要在NAT路由器上将其本地地址转换成外部全球…...
什么是CRM管理软件?CRM的基本概念、功能、选择标准、应用场景
什么是CRM管理软件? 嘿,大家好!今天咱们聊聊一个在现代企业管理中非常重要的工具——CRM管理软件。CRM是Customer Relationship Management(客户关系管理)的缩写,简单来说,它就是一个帮助企业和…...
Python编程常用的19个经典案例
Python 的简洁和强大使其成为许多开发者的首选语言。本文将介绍36个常用的Python经典代码案例。这些示例覆盖了基础语法、常见任务、以及一些高级功能。 1. 列表推导式 fizz_buzz_list ["FizzBuzz" if i % 15 0 else "Fizz" if i % 3 0 else "Buzz…...
【Unity基础】AudioSource 常用方法总结
在 Unity 中,AudioSource 组件用于控制音频的播放和管理。以下是常用的 AudioSource 控制方法及其说明。 1. 播放和暂停音频 Play():开始播放音频,如果是从暂停的地方继续播放,可以直接调用。Pause():暂停当前播放的…...
CSS系列(25)-- 滚动优化详解
前端技术探索系列:CSS 滚动优化详解 📜 致读者:探索流畅滚动的艺术 👋 前端开发者们, 今天我们将深入探讨 CSS 滚动优化,学习如何创建流畅、高性能的滚动体验。 平滑滚动 🚀 基础设置 /* …...
CST天线设计的六大核心特点:为天线分析提供完整解决方案!
CST Studio Suite 为天线设计提供了从最初的概念评估到最终的合规性测试所需的所有功能,确保天线设计在各种环境下实现稳定通信。这一套工具覆盖了所有重要的设计阶段,帮助设计师顺利完成从概念到成品的全过程。 下面我们来看一看CST电磁仿真中天线设计…...
Ubuntu下C语言操作kafka示例
目录 安装kafka: 安装librdkafka consumer Producer 测试运行 安装kafka: Ubuntu下Kafka安装及使用_ubuntu安装kafka-CSDN博客 安装librdkafka github地址:GitHub - confluentinc/librdkafka: The Apache Kafka C/C library $ apt in…...
怎么将pdf中的某一个提取出来?介绍几种提取PDF中页面的方法
怎么将pdf中的某一个提取出来?传统上,我们可能通过手动截取屏幕或使用PDF阅读器的复制功能来提取信息,但这种方法往往不够精确,且无法保留原文档的排版和格式。此外,很多时候我们需要提取的内容可能涉及多个页面、多个…...
HTTP接口报错详解与解决 200,500,403,408,404
前言: 仅做学习记录,侵删 背景 当后端编写接口时,经常需要对接口使用ApiFox或者PostMan进行测试,此时就会出现各种各样的报错,一般都会包括报错编码:200,400,401等。这个状态码一般是服务器所返回的包含…...
监控IP频繁登录服务器脚本
该脚本的作用是监控IP登录失败次数,如果某个IP的登录失败次数超过设定的最大次数,则阻止该IP的进一步登录尝试。通过iptables防火墙阻止连接,当一个IP尝试登录次数超过5次时,iptables会阻止来自该IP的所有连接 #!/bin/bashfuncti…...
分布式链路追踪-03-Jaeger、Zipkin、skywalking 中的 span 是如何设计的?
开源项目 auto-log 自动日志输出 Jaeger、Zipkin 中的 spanId 是如何生成的? 在 Jaeger 和 Zipkin 这两个分布式跟踪系统中,Span ID 是通过不同的方法生成的。 下面分别介绍它们的生成方式: Jaeger 中的 Span ID 生成: 在 Ja…...
【达梦数据库】获取对象DDL
目录 背景获取表的DDL其他 背景 在排查问题时总会遇到获取对象DDL的问题,因此做以下总结。 获取表的DDL 设置disql工具中显示LONG类型数据的最大长度,避免截断: SET LONG 9999获取DDL SELECT DBMS_METADATA.GET_DDL(TABLE,表名,模式名) …...
InnoDB和MyISAM引擎优缺点和区别
nnoDB和MyISAM是MySQL数据库中常用的两种存储引擎。它们各自具有不同的特性和优势,适用于不同的应用场景。 一、InnoDB引擎: 1、它有如下特性: 1)、支持事务(ACID) 2)、支持外键约束(FOREIGN KEY const…...
Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)
概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...
cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...
屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!
5月28日,中天合创屋面分布式光伏发电项目顺利并网发电,该项目位于内蒙古自治区鄂尔多斯市乌审旗,项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站,总装机容量为9.96MWp。 项目投运后,每年可节约标煤3670…...
令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...
2025盘古石杯决赛【手机取证】
前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来,实在找不到,希望有大佬教一下我。 还有就会议时间,我感觉不是图片时间,因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...
WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成
厌倦手动写WordPress文章?AI自动生成,效率提升10倍! 支持多语言、自动配图、定时发布,让内容创作更轻松! AI内容生成 → 不想每天写文章?AI一键生成高质量内容!多语言支持 → 跨境电商必备&am…...
【C语言练习】080. 使用C语言实现简单的数据库操作
080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...
C++:多态机制详解
目录 一. 多态的概念 1.静态多态(编译时多态) 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1).协变 2).析构函数的重写 5.override 和 final关键字 1&#…...
08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险
C#入门系列【类的基本概念】:开启编程世界的奇妙冒险 嘿,各位编程小白探险家!欢迎来到 C# 的奇幻大陆!今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类!别害怕,跟着我,保准让你轻松搞…...
解读《网络安全法》最新修订,把握网络安全新趋势
《网络安全法》自2017年施行以来,在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂,网络攻击、数据泄露等事件频发,现行法律已难以完全适应新的风险挑战。 2025年3月28日,国家网信办会同相关部门起草了《网络安全…...
