用途:该技能用于通过 GitLab API 对仓库文件进行操作,底层使用 glab api 命令调用 raw 端点。适用于用户需要读取远程 GitLab 文件内容、创建/更新/删除文件、获取 blame 信息或下载原始文件内容的场景。不适用于编辑本地文件、搜索代码、浏览仓库目录树或提交多个文件(这些应使用其他技能或本地 git)。
主要能力:获取文件信息(含 base64 内容与元数据)、获取原始内容、获取 blame、创建文件、更新文件、删除文件。写操作有风险提示:创建/更新为注意,删除为警告。
必要用法:文件路径需 URL 编码,斜杠转为 %2F,可用 echo 'src/main.py' | jq -Rr @uri 生成。读取示例:glab api "projects/123/repository/files/README.md?ref=main" --method GET;原始内容加 /raw;blame 加 /blame。创建用 --method POST,更新用 --method PUT,删除用 --method DELETE,写操作需 branch 与 commit_message,二进制内容用 encoding=base64。可用 last_commit_id 做冲突检测。
权限与限制:令牌需 api 范围;私有仓库读取需 Reporter+,写操作需 Developer+ 推送权限。API 默认文件大小上限约 10 MB,大文件应使用 Git LFS。路径未编码会报 400,文件不存在报 404,无推送权限报 403。
适用场景:下载查看文件、更新配置文件、在特性分支创建文件、通过 blame 查看历史、批量读取多个文件、在分支间复制文件。
其他:官方文本暂未提供。