为终端而生的 AppGallery Connect 控制面

让每一次发布沿着 同一条红线前进。

用一套 Go 命令发现、预演并调用 AppGallery Connect API,为开发者、CI 和 Coding Agent 提供稳定 JSON。

13 API 家族156 已注册接口3 输出格式
agc / production参考模式
agc终端命令JSONAgent脚本
一个命令入口,连接你的工作流。
鉴权PS256 / OAuth
PROFILE项目自动绑定
软件包上传与状态
发布确认后调用

$ agc auth check --pretty

{
  "data": {
    "name": "production",
    "mode": "service-account",
    "active": true
  },
  "affordances": {
    "next": "agc publishing endpoints"
  }
}

已解析项目 Profile · 默认 dry-run

默认预演明确确认前不会发送请求。
Agent 可读JSON 返回下一步可执行操作。
统一控制面CLI、本地 REST 与 Web 共用注册表。

安装 agc CLI

用系统包管理器安装。

macOS 通过 Createitv Homebrew tap 安装:brew tap createitv/tap && brew install agc-cli。Windows 通过 Scoop 和 Createitv bucket 安装。

macOS Homebrew 命令
$ brew tap createitv/tap && brew install agc-cli && agc version
Windows Scoop 命令
PS> if (!(Get-Command scoop -ErrorAction SilentlyContinue)) { Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force; irm get.scoop.sh | iex }; scoop bucket add createitv https://github.com/Createitv/scoop-bucket; scoop install agc-cli; agc version
Homebrew formula:agc-cli 正式 GitHub Release 二进制 Winget PR 已提交等待 Microsoft 审核

发布轨道

上下文向前流动,密钥留在本地。

每个阶段只完成一件事。凭据保存在本机,项目上下文可以安全共享,写入类 API 必须显式确认。

01

鉴权

PS256 / OAuth

02

PROFILE

项目自动绑定

03

软件包

上传与状态

04

发布

确认后调用

Profile 自动绑定

每个项目只选择一次,临时切换时再覆盖。

在 .agc/project.json 中绑定 production。命令会按固定优先级解析,也可以用 --profile staging 完成一次性切换。

  1. 1命令行显式覆盖--profile staging
  2. 2项目默认 Profile.agc/project.json
  3. 3全局激活账户~/.agc/credentials.json
.agc/project.json 可安全提交
{
  "appId": "123456789",
  "projectId": "987654321",
  "packageName": "com.example.app",
  "profile": "production"
}
项目文件不保存 client key 或私钥。

接口注册表

先发现 API,再编写请求。

每个条目都包含 method、path、参数位置、CLI 命令、REST 路由和 dry-run 调用方式。

当前家族 / publishing

应用发布

已注册

管理发布资料、软件包状态、提交审核、撤回审核与定时发布。

发现agc publishing endpoints --output table
状态agc publishing status --pretty
本地 REST/api/v1/publishing
14 个类型化接口条目

全部接口 14

展开接口查看已登记参数与命令;完整协议、响应字段及权限以官方文档为准。

POST通过下载方式提交软件包add-packageurl/api/publish/v2/app-package-file/by-url

如果您将软件包保存在自己的服务器上,可以直接调用本接口将软件包提交到AppGallery Connect服务器。

开发者调用华为 API

已登记参数
参数位置必填类型说明

注册表未列出参数,请查看接口参考。

请求体: json

查看接口定义

agc publishing add-packageurl --pretty

本地 REST 定义地址

/api/v1/publishing/endpoints/add-packageurl

调用预演(先填写所需参数)

agc publishing add-packageurl --invoke --dry-run=true --body body.json
查看接口参考文档 ↗
PUT更新应用文件信息app-file-info/api/publish/v2/app-file-info

图片、视频、APK、RPK、AAB等文件上传完成后,通过该接口刷新应用文件信息。

开发者调用华为 API

已登记参数
参数位置必填类型说明

注册表未列出参数,请查看接口参考。

请求体: json

查看接口定义

agc publishing app-file-info --pretty

本地 REST 定义地址

/api/v1/publishing/endpoints/app-file-info

调用预演(先填写所需参数)

agc publishing app-file-info --invoke --dry-run=true --body body.json
查看接口参考文档 ↗
GET查询应用信息app-info-query/api/publish/v2/app-info

此接口用于根据指定语言和应用ID查询应用的详细信息。

开发者调用华为 API

已登记参数
参数位置必填类型说明
appIdquery是—Huawei application ID
langquery否—Application information language

查看接口定义

agc publishing app-info-query --pretty

本地 REST 定义地址

/api/v1/publishing/endpoints/app-info-query

调用预演(先填写所需参数)

agc publishing app-info-query --invoke --dry-run=true
查看接口参考文档 ↗
PUT更新应用基本信息app-info-update/api/publish/v2/app-info

此接口用于更新指定应用的应用详情。

开发者调用华为 API

已登记参数
参数位置必填类型说明

注册表未列出参数,请查看接口参考。

请求体: json

查看接口定义

agc publishing app-info-update --pretty

本地 REST 定义地址

/api/v1/publishing/endpoints/app-info-update

调用预演(先填写所需参数)

agc publishing app-info-update --invoke --dry-run=true --body body.json
查看接口参考文档 ↗
POST提交发布app-submit/api/publish/v2/app-submit

此接口用于提交应用审核,调用本接口前必须保证应用信息已补充完整,应用软件包已经上传。

开发者调用华为 API

已登记参数
参数位置必填类型说明

注册表未列出参数,请查看接口参考。

请求体: json

查看接口定义

agc publishing app-submit --pretty

本地 REST 定义地址

/api/v1/publishing/endpoints/app-submit

调用预演(先填写所需参数)

agc publishing app-submit --invoke --dry-run=true --body body.json
查看接口参考文档 ↗
POST通过下载方式提交发布app-submit-with-file/api/publish/v2/app-submit-with-file

如果您将软件包保存在自己的服务器上,可以直接调用本接口提交应用审核,并传入软件包的下载地址。

开发者调用华为 API

已登记参数
参数位置必填类型说明

注册表未列出参数,请查看接口参考。

请求体: json

查看接口定义

agc publishing app-submit-with-file --pretty

本地 REST 定义地址

/api/v1/publishing/endpoints/app-submit-with-file

调用预演(先填写所需参数)

agc publishing app-submit-with-file --invoke --dry-run=true --body body.json
查看接口参考文档 ↗
GET查询应用包名对应的appidappid-list/api/publish/v2/appid-list

此接口用于根据应用包名查询对应的应用ID,支持一次查询多个应用包名。

开发者调用华为 API

已登记参数
参数位置必填类型说明

注册表未列出参数,请查看接口参考。

查看接口定义

agc publishing appid-list --pretty

本地 REST 定义地址

/api/v1/publishing/endpoints/appid-list

调用预演(先填写所需参数)

agc publishing appid-list --invoke --dry-run=true
查看接口参考文档 ↗
PUT设置应用GMS依赖属性gms/api/publish/v2/properties/gms

此接口用于向AGC上报应用是否依赖GMS。

开发者调用华为 API

已登记参数
参数位置必填类型说明

注册表未列出参数,请查看接口参考。

请求体: json

查看接口定义

agc publishing gms --pretty

本地 REST 定义地址

/api/v1/publishing/endpoints/gms

调用预演(先填写所需参数)

agc publishing gms --invoke --dry-run=true --body body.json
查看接口参考文档 ↗
DELETE删除语言描述信息language-info-delete/api/publish/v2/app-language-info

此接口用于删除指定应用不需要的语言描述信息,默认语言不支持删除。

开发者调用华为 API

已登记参数
参数位置必填类型说明

注册表未列出参数,请查看接口参考。

查看接口定义

agc publishing language-info-delete --pretty

本地 REST 定义地址

/api/v1/publishing/endpoints/language-info-delete

调用预演(先填写所需参数)

agc publishing language-info-delete --invoke --dry-run=true
查看接口参考文档 ↗
PUT更新语言描述信息language-info-update/api/publish/v2/app-language-info

此接口用于更新指定应用的语言描述信息,如果当前没有语言描述信息则新增。

开发者调用华为 API

已登记参数
参数位置必填类型说明

注册表未列出参数,请查看接口参考。

请求体: json

查看接口定义

agc publishing language-info-update --pretty

本地 REST 定义地址

/api/v1/publishing/endpoints/language-info-update

调用预演(先填写所需参数)

agc publishing language-info-update --invoke --dry-run=true --body body.json
查看接口参考文档 ↗
GET查询软件包列表obbfile-package-list/api/publish/v2/package-list

此接口用于查询应用当前关联的软件包列表信息。

开发者调用华为 API

已登记参数
参数位置必填类型说明

注册表未列出参数,请查看接口参考。

查看接口定义

agc publishing obbfile-package-list --pretty

本地 REST 定义地址

/api/v1/publishing/endpoints/obbfile-package-list

调用预演(先填写所需参数)

agc publishing obbfile-package-list --invoke --dry-run=true
查看接口参考文档 ↗
PUT更新分阶段发布phased-release/api/publish/v2/phased-release

此接口用于将分阶段发布修改为全网发布,或者更新分阶段发布的设置。

开发者调用华为 API

已登记参数
参数位置必填类型说明

注册表未列出参数,请查看接口参考。

请求体: json

查看接口定义

agc publishing phased-release --pretty

本地 REST 定义地址

/api/v1/publishing/endpoints/phased-release

调用预演(先填写所需参数)

agc publishing phased-release --invoke --dry-run=true --body body.json
查看接口参考文档 ↗
GET查询软件包编译状态query-aabfile/api/publish/v2/package/compile/status

此接口用于查询软件包的编译状态。

开发者调用华为 API

已登记参数
参数位置必填类型说明

注册表未列出参数,请查看接口参考。

查看接口定义

agc publishing query-aabfile --pretty

本地 REST 定义地址

/api/v1/publishing/endpoints/query-aabfile

调用预演(先填写所需参数)

agc publishing query-aabfile --invoke --dry-run=true
查看接口参考文档 ↗
PUT更新版本上架时间update-releasetime/api/publish/v2/on-shelf-time

此接口用于设置版本的上架时间。

开发者调用华为 API

已登记参数
参数位置必填类型说明

注册表未列出参数,请查看接口参考。

请求体: json

查看接口定义

agc publishing update-releasetime --pretty

本地 REST 定义地址

/api/v1/publishing/endpoints/update-releasetime

调用预演(先填写所需参数)

agc publishing update-releasetime --invoke --dry-run=true --body body.json
查看接口参考文档 ↗

agc-cli 是什么,适合谁使用?

agc-cli 是 Createitv 开源的华为 AppGallery Connect 命令行工具,安装后的命令名是 agc。它面向鸿蒙和华为应用开发者,将接口发现、凭据 Profile、请求预演与 API 调用组织成可复用命令,适合需要维护应用资料、测试用户、商品和报表的个人开发者与团队。

项目与使用指南: GitHub · 使用指南 · Issues

常见问题

agc-cli 是华为官方工具吗?

不是。agc-cli 是 Createitv 维护的独立开源项目,使用 MIT 许可证。它基于华为 AppGallery Connect API 参考文档组织接口,不代表华为官方产品或官方支持服务。

如何在 macOS、Windows 和 Linux 安装 agc-cli?

macOS:brew tap createitv/tap,然后 brew install agc-cli。Windows:scoop bucket add createitv https://github.com/Createitv/scoop-bucket,然后 scoop install agc-cli。Linux:从 GitHub Releases 下载适合架构的二进制。安装后运行 agc version 检查版本。

agc-cli 免费吗,需要付费账号吗?

agc-cli 使用 MIT 许可证,可免费使用和修改。调用华为 API 需要自己的 AppGallery Connect 账号、凭据和相应权限;华为平台服务的费用和限制以华为说明为准。浏览官网接口和使用 CLI 查看接口定义无需登录。

如何开始第一次应用信息查询?

先用 agc auth login --service-account-file ~/.agc/service-account.json --name production 保存凭据,再用 agc init --app-id YOUR_APP_ID --default-profile production 绑定项目。运行 agc publishing app-info-query --invoke --query appId=YOUR_APP_ID --query lang=zh-CN 预演请求,确认后增加 --dry-run=false 发送请求。接口要求 client_id 时显式补上请求头。

156 个接口是否都完成了生产验证?

156 表示注册表中的接口条目数量,分属 13 个 API 家族,不代表每个接口都已完成生产验证。注册表展示已登记参数和调用入口;完整请求、响应、权限与业务前置条件以每个接口链接的参考文档为准。

默认 dry-run 会修改我的应用吗?

不会。带 --invoke 的接口命令默认构建并预览请求,不发送远程请求。真实调用需显式设置 --dry-run=false;调用前应检查目标应用、所选凭据和参数。

可以把 agc-cli 用在脚本或 AI Agent 中吗?

可以。默认 JSON 输出适合脚本处理,agc capabilities 和 agc endpoints 提供能力发现;agc web-server 提供本地 REST 接口,agc openapi 导出接口契约。命令模板帮助导航,但不能替代业务状态检查或审核判断。

项目 Profile 会自动填入所有接口参数吗?

项目配置可以绑定默认凭据 Profile,临时切换时使用 --profile。应用 ID、语言、请求头和请求体等接口参数仍需按接口要求显式提供。不要将 Service Account 私钥或凭据文件提交到 Git。

按 API 家族浏览完整参考

内容更新:

快速开始

三条命令,建立可检查的项目工作区。

请将占位符替换为 AppGallery Connect 的真实值。第二条命令会让该项目自动选择对应 Profile。

01

保存凭据 Profile

推荐使用 Service Account。密钥会以受限权限保存在 ~/.agc/credentials.json。

$ agc auth login --service-account-file ~/.agc/service-account.json --name production
02

绑定当前项目

保存项目资料与默认凭据 Profile;调用接口时仍按要求填写应用 ID 等参数。

$ agc init --app-id <app-id> --project-id <project-id> --package-name com.example.app --default-profile production
03

调用前先检查

接口命令默认 dry-run。确认 method 与 URL 后,再明确执行真实请求。

$ agc publishing app-info-query --invoke --query appId=<app-id> --dry-run=false

本地命令中心

浏览器看到的,就是 CLI 使用的同一份注册表。

需要实时能力数据时启动本地 REST 服务;未启动时,官网仍会作为完整参考界面工作。

agc web-server --addr :8421
GET/api/v1/capabilities家族与下一步操作
GET/api/v1/endpoints全部接口条目
GET/api/v1/openapi.json机器可读契约
POST/api/v1/:family/endpoints/:id/invoke默认 dry-run