社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

不止是命令行:Gitee CLI 如何成为 AI Agent 的「Gitee 之手」

OSC开源模力 • 2 月前 • 247 次点击  

AI 编程助手已经很能写代码了。Claude Code、Codex、OpenCode 们可以读懂你的仓库、改好一个 Bug、补上一段测试。

但当任务走到「把这个分支提个 PR」「顺手建个仓库」「把这批 issue 归档」时,它们往往就卡住了,网页界面点不动,裸调 REST API 又要记住一堆端点、鉴权和分页规则。

Gitee CLI 正在补上这「最后一公里」:它是一个同时服务于「人」和「AI Agent」的命令行工具;而主仓库内置的 Agent Skills,则把「如何正确、安全地使用它」这份知识,直接喂进你的 AI 助手。

Gitee CLI 现已正式开源,欢迎共建:

https://gitee.com/oschina/gitee-cli

先服务开发者:一个终端,搞定 Gitee 日常

对开发者来说,Gitee CLI 把最常做的研发操作从浏览器搬回了终端,只需一个gitee命令即可。

Gitee CLI 覆盖了研发协作中的常见操作:

  • Pull Request:创建、查看、编辑、diff、approve、评论、合并、关闭、重开,也可以把 PR checkout 或 fetch 到本地。需要注意,pr review 默认执行的是“通过审查”,不是只读的代码分析。
  • Issue:列出、查看、创建、编辑、指派、评论、关闭和重开。
  • 仓库:列出、查看、创建、fork、克隆和删除。
  • Release:列出、查看、创建、编辑和删除。
  • 搜索与配置:全站搜索仓库、Issue 和用户,管理 SSH Key、别名、Shell 补全、多 Host 凭证与更新。

如果喜欢可视化操作,可以执行 gitee config set tui true 开启 TUI(终端可视化界面)。

列表会变成可交互表格,按键即可预览正文、查看 PR diff、复制链接或把 PR 拉到本地。新手不必先背完参数,熟练用户则可以直接使用命令和 flag 完成操作。

遇到暂时没有一级命令覆盖的场景,gitee api 仍然提供原始 API 入口。更重要的是, gitee api --search 会从接口 Schema 中搜索端点,返回请求方法、路径和参数信息。里程碑、标签、协作者、Webhook 等长尾需求,因此不必让 Agent 靠记忆猜接口。

一键发起调用
一键发起调用

为什么同一套 CLI 也适合 Agent

让 Agent「能运行命令」并不难,难的是让命令可预测、结果可解析、执行不阻塞。Gitee CLI 为此提供了几块关键基础。

1. 可以明确关闭交互

全局 --no-tui 会关闭 TUI,避免 Agent 停在交互式列表或分页器里。对创建、编辑、评论等写操作,Agent 还需要同时显式传入标题、正文等参数,避免命令转而打开编辑器等待输入。

2. 可以输出结构化数据

列表和查看类命令普遍支持 --json,还可以只选择需要的字段:

gitee pr list --repo owner/repo --json=number,title,state --no-tui
gitee issue list --repo owner/repo --json=number,title,state --no-tui
gitee issue list --repo owner/repo --json=fields --no-tui

Agent 拿到的是可直接解析的数据,不必从为人排版的表格里猜哪一列是什么。

3. 可以显式指定执行目标

PR 与 Issue 命令可用 --repo owner/repo 明确仓库;全局 --hostname 则用于选择 Gitee Host。无论是在仓库目录之外运行,还是同时使用 gitee.com 与私有部署,都不必依赖含糊的环境推断。

4. 结果与诊断彼此分离

正式结果写入 stdout,诊断信息写入 stderr;--quiet 与 --verbose 则控制输出强度。管道里的 JSON 不会被调试日志污染,出错时也仍有足够线索排查。

5. 没有现成命令时仍有退路

gitee api 可以调用已经公开的 Gitee V5 API,--search 则帮助 Agent 先发现接口 Schema,再确定请求方法、路径和参数。对 Agent 来说,这相当于在常用命令之外保留了一条明确的扩展路径。

6. 可以适配 CI 和无人值守环境

Gitee CLI 使用 Personal Access Token(PAT)认证,既可以从标准输入读取 Token,也支持通过环境变量提供凭证:

printf '%s' "$GITEE_TOKEN" | gitee auth login --with-token

这让同一套命令不仅可以由本地 Agent 调用,也能进入 CI、自动化脚本和其他无人值守环境。

从关闭交互、结构化输出,到明确目标、分离诊断信息和 API 兜底,Gitee CLI 已经为「被 Agent 调用」铺好了执行路径。

Gitee CLI Agent Skills:把「会用」变成「用对」

CLI 解决「能不能做」,Agent Skills 解决「怎样做才稳定、可控」。

它是一套给 AI 助手的结构化操作手册,Claude Code、Codex、OpenCode 等支持 Agent Skills 的助手都能直接加载。装上之后,你的 Agent 就「学会」了以正确姿势使用 Gitee CLI。

截至 Gitee CLI v0.2.2,共有六个 Agent Skills 随二进制内置,可离线安装:

Skill
负责的工作
工作重点
gitee-pr
PR 全生命周期
从创建到合并,合并前必须向你确认
gitee-issue
Issue 全生命周期
列出、查看、创建、编辑、评论、指派、关闭和重开
gitee-release
Release 全生命周期
创建、查看、编辑和删除,删除前必须向你确认
gitee-repo
仓库全生命周期
查看、列出、创建、fork、克隆和删除,删除前必须向你确认
gitee-search
全站搜索
只读发现,搜索仓库、Issue 和用户
gitee-api
API 兜底
覆盖没有现成命令的操作,更新或删除前必须向你确认

所有 Skill 都遵守同样的四条底线:

  1. 关闭交互界面——命令使用 --no-tui;同时显式提供标题、正文等必要参数,避免等待人工输入。
  2. 优先结构化输出——支持时使用 --json,方便 Agent 解析;同时诚实标注例外,比如 pr diff 本来就是纯文本,checkout / fetch 属于本地 Git 操作。
  3. 不嵌套调用交互式 AI——Agent 自己组织标题、正文和审查结论,不再调用可能打开交互流程的 --ai 系列参数。
  4. 高影响操作必须显式确认——合并 PR、删除仓库、删除 Release,以及 API 更新和删除等操作,要先把「将要做什么」完整展示出来,等你确认后再执行。

上手实录:一次完整的 Agent 工作流

假设你刚写完一个功能分支,对 AI 助手说:

帮我把这个分支提个 PR

装了 Skills 的 Agent 会这样走完全程:

  1. 先运行 gitee auth status --json --no-tui,检查返回的 status,确认已经登录;

  2. 读取 git diff / git log,自己总结出 PR 的标题和正文——注意,是它自己写,而不是再调用可能进入交互流程的 --ai——然后执行 gitee pr create;

  3. 你说「看看改动」,它用 gitee pr diff 把 diff 拉给你;

  4. 你说「通过并合并」,它先把 PR 编号、标题、分支和合并方式完整展示出来;等你确认后,再执行:

    gitee pr merge  -R owner/repo \
      --method squash --delete-branch --json --no-tui

完成认证后,全程可以不再打开网页;但最关键、难以撤销的那一步,始终交回到了你手上。这就是「自动」与「可控」的平衡。

如何安装和使用 Gitee CLI

  • Shell 一键安装:
curl -fsSL https://gitee.com/oschina/gitee-cli/raw/main/scripts/install.sh | sh
  • npm 一键安装:
npm install -g @gitee/gitee-cli
  • 更新:更新 Gitee CLI 后重新运行 gitee skills install,无需先卸载。
  • 卸载:运行 gitee skills uninstall;非交互环境需要显式添加 --yes。
  • 自定义目录:使用 gitee skills install --dir ,或设置  AGENTS_SKILLS_DIR。

Agent Skills

每个 Gitee CLI 版本都内置六个面向安全、非交互式 Gitee 工作流的 Agent Skills,无需联网即可安装或更新:

gitee skills install

安装命令会把这些 Skill 镜像到 ~/.agents/skills/,清理历史版本使用过的废弃名称, 并保留其他来源的 Skill。安装完成后请重新加载编码 Agent。

开放、共建、持续演进

Gitee CLI 与内置 Agent Skills 以 MIT 协议开源。

我们相信,AI Agent 正在从「会写代码」走向「能替你把事办完」。而 Gitee CLI 与 Agent Skills 想做的,就是让这最后一段路走得既顺畅,又安全,真正成为你在 Gitee 上可靠的执行伙伴。

项目地址:

https://gitee.com/oschina/gitee-cli

Agent Skills:

https://gitee.com/oschina/gitee-cli/tree/main/skills

欢迎 Star、提交 Issue 或发起 Pull Request,一起完善这套面向人和 Agent 的 Gitee 工作流。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/199686