SuperAPI AI 工具集

cyrus-setup-gitlab

部署与运维

查看项目

更新于 10-15 14:02

技能介绍

用途

该技能用于为 Cyrus 配置 GitLab 认证,使 Cyrus 能够创建分支、提交(commit)和合并请求(merge request)。它同时完成两件事:GitLab CLI(glab)的登录认证,以及 git 全局提交身份的配置。

主要能力

  • 检查 glab 是否已认证,以及 git 全局 user.name、user.email 是否已设置。
  • 若两者均已配置,则提示“GitLab is already configured. Skipping this step.”并跳过后续步骤。
  • 在 glab 未认证时,执行 glab auth login 打开交互式浏览器流程,由用户完成登录。
  • 支持自托管 GitLab 实例,可通过 glab auth login --hostname gitlab.example.com 指定主机名。
  • 在 git 身份未设置时,询问用户希望出现在提交中的名称与邮箱,并写入全局配置。
  • 最后通过 glab auth status 与 git config --global 命令进行验证。

使用方式

技能按步骤执行:

  1. 检查现有配置:运行 glab auth status 2>&1;若已认证,再运行 git config --global user.name 与 git config --global user.email。若两者均已设置,则跳过。
  2. 认证 GitLab CLI:若未认证,运行 glab auth login,由用户完成浏览器交互;自托管实例可加 --hostname 参数。完成后运行 glab auth status 验证。
  3. 配置 Git 身份:若未设置,询问用户提交中显示的名称(例如本人姓名或 “Cyrus Bot”)与邮箱(例如本人邮箱或 noreply 地址),然后执行 git config --global user.name "<name>" 与 git config --global user.email "<email>"。
  4. 验证:再次运行 glab auth status、git config --global user.name、git config --global user.email。

安全约束

技能明确要求:绝不要对 ~/.cyrus/.env 或 ~/.cyrus/ 内的任何文件使用 Read、Edit 或 Write 工具;只能使用 Bash 命令(如 grep、printf >> 等)与环境文件交互,以确保密钥不会被读入对话上下文。

适用场景

适用于需要让 Cyrus 在 GitLab 上自动创建分支、提交和合并请求之前,完成 GitLab 认证与提交身份配置的场景,包括 GitLab.com 与自托管 GitLab 实例。

限制

资料未提供该技能对 glab 版本、GitLab 权限范围、网络环境或操作系统平台的具体要求;也未提供失败排查、令牌有效期或替代认证方式等信息。