中文文档对应当前英文版 README。若两者出现差异,请以 README.md 为准。
gitee-cli 是一个面向 Agent 的命令行工具,用于在脚本、本地终端和
AI 驱动的工作流中操作 gitee.com。
它为认证、仓库检查、Issue 处理和 Pull Request 工作流提供了一组小而稳 定的命令接口,避免你直接拼接底层 Gitee API 请求。
安装后的可执行文件名为 gitee。
如果是给 Agent 或大模型做能力发现,建议从下面这条命令开始:
gitee help --json它会返回一份机器可读的能力清单,包含已支持的命令组、子命令、参数、示例
以及与 gh 相近的命令映射。如果只想查看单个命令,可以使用
gitee help pr create --json 这样的 topic path。
gitee-cli是一个非官方社区项目,与 Gitee 或gitee.com不存在关 联关系,也未获得其认可、背书或赞助。Gitee 和
gitee.com是其各自权利人的商标或注册商标。本文档仅为说明 平台兼容性和适用范围而引用这些名称。
gitee-cli 面向的是自动化和日常开发中最常见、最频繁的 Gitee 工作流:
- 在执行任务前先确认认证是否可用
- 通过仓库 slug 或本地 checkout 检查仓库元数据
- 在修改代码前先阅读 Issue 上下文
- 在终端里查看、列出、创建、合并、评论和检出 Pull Request
- 为脚本提供稳定的
--json输出和明确的退出码
这个项目是有明确取舍的:
- 目标平台是
gitee.com - 优先支持显式、非交互式工作流
- 同时支持人类可读输出和稳定的
--json - 在合适时使用本地 git 上下文来简化常见命令
如果你希望获得下面这些能力,可以使用 gitee-cli:
- 一个适合 AI Agent 和自动化脚本的 Gitee 工作流工具
- 一个可以直接在终端里查看仓库、Issue 和 Pull Request 的工具
- 写操作通过参数、文件或 stdin 提供内容,而不是依赖交互式提示
- 行为稳定、便于脚本安全调用
打了 tag 的 GitHub Release 会提供以下预构建二进制:
- Apple Silicon macOS:
aarch64-apple-darwin - Linux x86_64:
x86_64-unknown-linux-musl
从 GitHub Releases 页面下载对应平台的压缩包,解压后将 gitee 放到你的
PATH 中即可。
每个 release 还会额外提供 gitee-<version>-checksums.txt。
如果你需要本地构建版本,或者目标平台不在当前发布资产范围内,可以从源码构建:
cargo build --release贡献者环境准备、验证命令和仓库约定请见 CONTRIBUTING_CN.md。
在 Codex、Claude Code 等 coding agent 中,直接把内置的 using-gitee-cli skill 链接发给 agent 并要求它安装即可,agent 会自动完成安装。
示例指令:
请安装这个 skill:[using-gitee-cli](https://raw.githubusercontent.com/hex2dec/gitee-cli/main/skills/using-gitee-cli/SKILL.md)。
当脚本或 Agent 需要在操作仓库或 API 之前尽早失败时,先执行
auth status:
gitee auth status --json如果希望通过 stdin 保存 token,而不是通过参数传入:
printf '%s\n' "$TOKEN" | gitee auth login --with-token --json已知仓库 slug 时:
gitee repo view --repo octo/demo --json已经位于本地 checkout 内时:
gitee repo view --json使用已保存的克隆协议偏好;首次使用时选择 SSH 或 HTTPS:
gitee repo clone octo/demo使用 HTTPS 克隆到指定目录:
gitee repo clone octo/demo demo-https --https --json列出当前仓库的开放 Issue:
gitee issue list --state open --page 1 --per-page 20 --json查看指定仓库中的单个 Issue:
gitee issue view I123 --repo octo/demo --json需要查看历史讨论时,显式包含评论:
gitee issue view I123 --repo octo/demo --comments --page 1 --per-page 20 --json以非交互方式发布一条跟进评论:
gitee issue comment I123 --repo octo/demo --body "Thanks for the report" --json查看一个 Pull Request:
gitee pr view 42 --repo octo/demo --json按条件列出 Pull Request:
gitee pr list --repo octo/demo --state open --author octocat --limit 10 --json查看与当前分支或当前用户相关的 Pull Request:
gitee pr status --state open --limit 10 --json基于当前分支创建 Pull Request:
gitee pr create --title "Use local head" --base develop --body "Built from the local branch"从文件读取 PR 描述:
gitee pr create --repo octo/demo --head feature/body-file --title "Read body file" --body-file ./body.md --json对 Pull Request 发表评论:
gitee pr comment 42 --repo octo/demo --body "Ship it" --json合并一个 Pull Request:
gitee pr merge 42 --repo octo/demo --squash --json将 Pull Request 的 head 分支检出到当前本地仓库:
gitee pr checkout 42 --repo octo/demo --json当省略 --repo 时,gitee-cli 会尝试从当前本地 git checkout 中推断目标
仓库。这会让你在正确仓库目录里执行常见命令时更简洁。
支持使用本地仓库上下文的命令包括:
repo viewissue listissue viewissue commentpr viewpr listpr commentpr createpr mergepr checkoutpr status
pr status 总是要求当前目录是一个本地 git checkout。pr checkout 还要
求该仓库存在 origin 远程。
支持的 origin URL 形式
git@gitee.com:owner/repo.gitssh://git@gitee.com/owner/repo.githttps://gitee.com/owner/repo.githttp://gitee.com/owner/repo.git
对于公开仓库,多数只读操作在没有保存 token 的情况下也可以工作。写操作 和部分与用户身份相关的流程要求认证。私有仓库,以及某些基于 human-name 回退解析的场景,也可能要求认证。
需要认证的命令包括:
auth loginissue commentpr commentpr createpr mergepr status
运行时 token 的解析优先级:
GITEE_TOKEN- 已保存到配置文件中的 token
配置目录的解析优先级:
GITEE_CONFIG_DIRXDG_CONFIG_HOME/giteeHOME/.config/gitee- 当前目录
./.gitee
默认情况下,保存的 token 位于 ~/.config/gitee/config.toml。
相关环境变量
GITEE_TOKEN:运行时覆盖已保存的 tokenGITEE_CONFIG_DIR:直接指定配置目录XDG_CONFIG_HOME:未设置GITEE_CONFIG_DIR时参与默认路径解析HOME:用于默认配置路径GITEE_BASE_URL:覆盖 API 基础地址,默认值为https://gitee.com/api;主要用于测试或本地 API mock
gitee-cli 的设计目标之一就是便于脚本调用:
- 成功输出写入
stdout - 错误信息写入
stderr - 核心命令支持
--json - 退出码保持稳定,便于自动化流程分支判断
退出码:
0:成功2:用法错误3:认证错误或需要认证4:配置错误5:远程请求错误6:资源不存在7:本地 git 错误
本地开发、测试和 Pull Request 约定请见 CONTRIBUTING_CN.md。
MIT。见 LICENSE。