$ brew tap createitv/tap && brew install agc-cli && agc version让每一次发布沿着 同一条红线前进。
用一套 Go 命令发现、预演并调用 AppGallery Connect API,为开发者、CI 和 Coding Agent 提供稳定 JSON。
$ agc auth check --pretty
{
"data": {
"name": "production",
"mode": "service-account",
"active": true
},
"affordances": {
"next": "agc publishing endpoints"
}
}已解析项目 Profile · 默认 dry-run
安装 agc CLI
用系统包管理器安装。
macOS 通过 Createitv Homebrew tap 安装:brew tap createitv/tap && brew install agc-cli。Windows 通过 Scoop 和 Createitv bucket 安装。
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发布轨道
上下文向前流动,密钥留在本地。
每个阶段只完成一件事。凭据保存在本机,项目上下文可以安全共享,写入类 API 必须显式确认。
鉴权
PS256 / OAuth
PROFILE
项目自动绑定
软件包
上传与状态
发布
确认后调用
Profile 自动绑定
每个项目只选择一次,临时切换时再覆盖。
在 .agc/project.json 中绑定 production。命令会按固定优先级解析,也可以用 --profile staging 完成一次性切换。
- 1命令行显式覆盖
--profile staging - 2项目默认 Profile
.agc/project.json - 3全局激活账户
~/.agc/credentials.json
{
"appId": "123456789",
"projectId": "987654321",
"packageName": "com.example.app",
"profile": "production"
}接口注册表
先发现 API,再编写请求。
每个条目都包含 method、path、参数位置、CLI 命令、REST 路由和 dry-run 调用方式。
当前家族 / testing
测试服务
管理测试版本、软件包、用户组、邀请、反馈与公开测试链接。
agc testing endpoints --output tableagc testing status --pretty/api/v1/testing全部接口 27
展开接口查看已登记参数与命令;完整协议、响应字段及权限以官方文档为准。
POST生成邀请码test-api-add-invite-code/api/app-test/v1/invitation-code
此接口用于邀请测试生成邀请码。
开发者调用华为 API
| 参数 | 位置 | 必填 | 类型 | 说明 |
|---|
注册表未列出参数,请查看接口参考。
请求体: json
查看接口定义
agc testing test-api-add-invite-code --pretty
本地 REST 定义地址
/api/v1/testing/endpoints/test-api-add-invite-code
调用预演(先填写所需参数)
agc testing test-api-add-invite-code --invoke --dry-run=true --body body.json查看接口参考文档 ↗
POST新增测试群组test-api-add-test-group/api/app-test/v1/test-group
此接口用于邀请测试创建内外部测试群组。
开发者调用华为 API
| 参数 | 位置 | 必填 | 类型 | 说明 |
|---|
注册表未列出参数,请查看接口参考。
请求体: json
查看接口定义
agc testing test-api-add-test-group --pretty
本地 REST 定义地址
/api/v1/testing/endpoints/test-api-add-test-group
调用预演(先填写所需参数)
agc testing test-api-add-test-group --invoke --dry-run=true --body body.json查看接口参考文档 ↗
POST新增测试群组成员test-api-add-test-group-user/api/publish/v2/test/user
此接口用于邀请测试新增测试群组成员。
开发者调用华为 API
| 参数 | 位置 | 必填 | 类型 | 说明 |
|---|
注册表未列出参数,请查看接口参考。
请求体: json
查看接口定义
agc testing test-api-add-test-group-user --pretty
本地 REST 定义地址
/api/v1/testing/endpoints/test-api-add-test-group-user
调用预演(先填写所需参数)
agc testing test-api-add-test-group-user --invoke --dry-run=true --body body.json查看接口参考文档 ↗
POST添加软件包test-api-add-test-package/api/publish/v2/test/version/pkg
此接口用于测试版本上传软件包。
开发者调用华为 API
| 参数 | 位置 | 必填 | 类型 | 说明 |
|---|
注册表未列出参数,请查看接口参考。
请求体: json
查看接口定义
agc testing test-api-add-test-package --pretty
本地 REST 定义地址
/api/v1/testing/endpoints/test-api-add-test-package
调用预演(先填写所需参数)
agc testing test-api-add-test-package --invoke --dry-run=true --body body.json查看接口参考文档 ↗
POST新建测试版本test-api-add-test-version/api/publish/v2/test/app/version
此接口用于创建HarmonyOS应用/元服务的测试版本。
开发者调用华为 API
| 参数 | 位置 | 必填 | 类型 | 说明 |
|---|
注册表未列出参数,请查看接口参考。
请求体: json
查看接口定义
agc testing test-api-add-test-version --pretty
本地 REST 定义地址
/api/v1/testing/endpoints/test-api-add-test-version
调用预演(先填写所需参数)
agc testing test-api-add-test-version --invoke --dry-run=true --body body.json查看接口参考文档 ↗
POST创建公开链接test-api-create-open-test-link/api/app-test/v1/test-group/public-link
此接口用于创建群组级公开测试链接。
开发者调用华为 API
| 参数 | 位置 | 必填 | 类型 | 说明 |
|---|
注册表未列出参数,请查看接口参考。
请求体: json
查看接口定义
agc testing test-api-create-open-test-link --pretty
本地 REST 定义地址
/api/v1/testing/endpoints/test-api-create-open-test-link
调用预演(先填写所需参数)
agc testing test-api-create-open-test-link --invoke --dry-run=true --body body.json查看接口参考文档 ↗
DELETE删除测试问题反馈test-api-delete-feedback/api/app-test/v1/mgmt/tester-feedback
此接口用于删除测试问题反馈。
开发者调用华为 API
| 参数 | 位置 | 必填 | 类型 | 说明 |
|---|
注册表未列出参数,请查看接口参考。
查看接口定义
agc testing test-api-delete-feedback --pretty
本地 REST 定义地址
/api/v1/testing/endpoints/test-api-delete-feedback
调用预演(先填写所需参数)
agc testing test-api-delete-feedback --invoke --dry-run=true查看接口参考文档 ↗
DELETE删除邀请码test-api-delete-invite-code/api/app-test/v1/invitation-code
此接口用于邀请测试删除邀请码。
开发者调用华为 API
| 参数 | 位置 | 必填 | 类型 | 说明 |
|---|
注册表未列出参数,请查看接口参考。
查看接口定义
agc testing test-api-delete-invite-code --pretty
本地 REST 定义地址
/api/v1/testing/endpoints/test-api-delete-invite-code
调用预演(先填写所需参数)
agc testing test-api-delete-invite-code --invoke --dry-run=true查看接口参考文档 ↗
DELETE删除测试群组test-api-delete-test-group/api/app-test/v1/publish-api/test-group
此接口用于邀请测试删除测试群组。
开发者调用华为 API
| 参数 | 位置 | 必填 | 类型 | 说明 |
|---|
注册表未列出参数,请查看接口参考。
查看接口定义
agc testing test-api-delete-test-group --pretty
本地 REST 定义地址
/api/v1/testing/endpoints/test-api-delete-test-group
调用预演(先填写所需参数)
agc testing test-api-delete-test-group --invoke --dry-run=true查看接口参考文档 ↗
DELETE删除测试群组成员test-api-delete-test-group-user/api/publish/v2/test/user
此接口用于邀请测试删除测试群组中的成员。
开发者调用华为 API
| 参数 | 位置 | 必填 | 类型 | 说明 |
|---|
注册表未列出参数,请查看接口参考。
查看接口定义
agc testing test-api-delete-test-group-user --pretty
本地 REST 定义地址
/api/v1/testing/endpoints/test-api-delete-test-group-user
调用预演(先填写所需参数)
agc testing test-api-delete-test-group-user --invoke --dry-run=true查看接口参考文档 ↗
DELETE删除测试版本test-api-delete-test-version/api/publish/v2/test/app/version
此接口用于删除测试版本。
开发者调用华为 API
| 参数 | 位置 | 必填 | 类型 | 说明 |
|---|
注册表未列出参数,请查看接口参考。
查看接口定义
agc testing test-api-delete-test-version --pretty
本地 REST 定义地址
/api/v1/testing/endpoints/test-api-delete-test-version
调用预演(先填写所需参数)
agc testing test-api-delete-test-version --invoke --dry-run=true查看接口参考文档 ↗
PUT修改公开链接test-api-edit-open-test-link/api/app-test/v1/test-group/public-link
此接口用于编辑群组级公开测试链接。
开发者调用华为 API
| 参数 | 位置 | 必填 | 类型 | 说明 |
|---|
注册表未列出参数,请查看接口参考。
请求体: json
查看接口定义
agc testing test-api-edit-open-test-link --pretty
本地 REST 定义地址
/api/v1/testing/endpoints/test-api-edit-open-test-link
调用预演(先填写所需参数)
agc testing test-api-edit-open-test-link --invoke --dry-run=true --body body.json查看接口参考文档 ↗
PUT修改测试群组test-api-edit-test-group/api/app-test/v2/test-group
此接口用于邀请测试修改测试群组。
开发者调用华为 API
| 参数 | 位置 | 必填 | 类型 | 说明 |
|---|
注册表未列出参数,请查看接口参考。
请求体: json
查看接口定义
agc testing test-api-edit-test-group --pretty
本地 REST 定义地址
/api/v1/testing/endpoints/test-api-edit-test-group
调用预演(先填写所需参数)
agc testing test-api-edit-test-group --invoke --dry-run=true --body body.json查看接口参考文档 ↗
GET查询上架自检报告信息test-api-get-detect-task/api/publish/v2/test/app/version/detect-report
此接口用于查询邀请测试进行上架自检的报告信息。
开发者调用华为 API
| 参数 | 位置 | 必填 | 类型 | 说明 |
|---|
注册表未列出参数,请查看接口参考。
查看接口定义
agc testing test-api-get-detect-task --pretty
本地 REST 定义地址
/api/v1/testing/endpoints/test-api-get-detect-task
调用预演(先填写所需参数)
agc testing test-api-get-detect-task --invoke --dry-run=true查看接口参考文档 ↗
GET查询测试群组邀请码test-api-get-invite-code/api/app-test/v1/test-group/invitation-code
此接口用于邀请测试查询测试群组邀请码信息。
开发者调用华为 API
| 参数 | 位置 | 必填 | 类型 | 说明 |
|---|
注册表未列出参数,请查看接口参考。
查看接口定义
agc testing test-api-get-invite-code --pretty
本地 REST 定义地址
/api/v1/testing/endpoints/test-api-get-invite-code
调用预演(先填写所需参数)
agc testing test-api-get-invite-code --invoke --dry-run=true查看接口参考文档 ↗
GET查询测试群组列表test-api-get-test-grouplist/api/app-test/v1/test-group/list
此接口用于邀请测试查询已创建的内外部测试群组列表。
开发者调用华为 API
| 参数 | 位置 | 必填 | 类型 | 说明 |
|---|---|---|---|---|
appId | header | 是 | — | Huawei application ID |
查看接口定义
agc testing test-api-get-test-grouplist --pretty
本地 REST 定义地址
/api/v1/testing/endpoints/test-api-get-test-grouplist
调用预演(先填写所需参数)
agc testing test-api-get-test-grouplist --invoke --dry-run=true查看接口参考文档 ↗
PUT更新测试版本test-api-modify-test-version/api/publish/v2/test/app/version
此接口用于更新已创建的测试版本。
开发者调用华为 API
| 参数 | 位置 | 必填 | 类型 | 说明 |
|---|
注册表未列出参数,请查看接口参考。
请求体: json
查看接口定义
agc testing test-api-modify-test-version --pretty
本地 REST 定义地址
/api/v1/testing/endpoints/test-api-modify-test-version
调用预演(先填写所需参数)
agc testing test-api-modify-test-version --invoke --dry-run=true --body body.json查看接口参考文档 ↗
POST发送邀请测试通知test-api-post-test-notify/api/publish/v1/test/user/action/notify
此接口用于给内外部群组的测试用户发送邀请测试的通知。
开发者调用华为 API
| 参数 | 位置 | 必填 | 类型 | 说明 |
|---|
注册表未列出参数,请查看接口参考。
请求体: json
查看接口定义
agc testing test-api-post-test-notify --pretty
本地 REST 定义地址
/api/v1/testing/endpoints/test-api-post-test-notify
调用预演(先填写所需参数)
agc testing test-api-post-test-notify --invoke --dry-run=true --body body.json查看接口参考文档 ↗
POST查询测试问题反馈test-api-query-feedback/api/app-test/v1/mgmt/tester-feedback/action/query
此接口用于查询测试问题反馈列表。
开发者调用华为 API
| 参数 | 位置 | 必填 | 类型 | 说明 |
|---|
注册表未列出参数,请查看接口参考。
请求体: json
查看接口定义
agc testing test-api-query-feedback --pretty
本地 REST 定义地址
/api/v1/testing/endpoints/test-api-query-feedback
调用预演(先填写所需参数)
agc testing test-api-query-feedback --invoke --dry-run=true --body body.json查看接口参考文档 ↗
POST查询测试问题反馈维度test-api-query-feedback-dimension/api/app-test/v1/mgmt/tester-feedback-dimension/action/query
此接口用于查询测试反馈维度。
开发者调用华为 API
| 参数 | 位置 | 必填 | 类型 | 说明 |
|---|
注册表未列出参数,请查看接口参考。
请求体: json
查看接口定义
agc testing test-api-query-feedback-dimension --pretty
本地 REST 定义地址
/api/v1/testing/endpoints/test-api-query-feedback-dimension
调用预演(先填写所需参数)
agc testing test-api-query-feedback-dimension --invoke --dry-run=true --body body.json查看接口参考文档 ↗
GET查询公开链接test-api-query-open-test-link/api/app-test/v1/test-group/public-link
此接口用于查询群组级公开测试链接。
开发者调用华为 API
| 参数 | 位置 | 必填 | 类型 | 说明 |
|---|
注册表未列出参数,请查看接口参考。
查看接口定义
agc testing test-api-query-open-test-link --pretty
本地 REST 定义地址
/api/v1/testing/endpoints/test-api-query-open-test-link
调用预演(先填写所需参数)
agc testing test-api-query-open-test-link --invoke --dry-run=true查看接口参考文档 ↗
GET查询测试群组成员test-api-query-test-user/api/app-test/v1/test-user
此接口用于查询测试群组成员。
开发者调用华为 API
| 参数 | 位置 | 必填 | 类型 | 说明 |
|---|---|---|---|---|
appId | header | 是 | — | Huawei application ID |
groupId | header | 是 | — | Test group ID |
查看接口定义
agc testing test-api-query-test-user --pretty
本地 REST 定义地址
/api/v1/testing/endpoints/test-api-query-test-user
调用预演(先填写所需参数)
agc testing test-api-query-test-user --invoke --dry-run=true查看接口参考文档 ↗
PUT更新测试生效版本test-api-release-test-version/api/publish/v2/test/version/release
此接口用于将公开测试版本转为全网版本或者分阶段版本。
开发者调用华为 API
| 参数 | 位置 | 必填 | 类型 | 说明 |
|---|
注册表未列出参数,请查看接口参考。
请求体: json
查看接口定义
agc testing test-api-release-test-version --pretty
本地 REST 定义地址
/api/v1/testing/endpoints/test-api-release-test-version
调用预演(先填写所需参数)
agc testing test-api-release-test-version --invoke --dry-run=true --body body.json查看接口参考文档 ↗
POST停止邀请码test-api-stop-invite-code/api/app-test/v1/invitation-code/action/stop
此接口用于邀请测试停止邀请码。
开发者调用华为 API
| 参数 | 位置 | 必填 | 类型 | 说明 |
|---|
注册表未列出参数,请查看接口参考。
请求体: json
查看接口定义
agc testing test-api-stop-invite-code --pretty
本地 REST 定义地址
/api/v1/testing/endpoints/test-api-stop-invite-code
调用预演(先填写所需参数)
agc testing test-api-stop-invite-code --invoke --dry-run=true --body body.json查看接口参考文档 ↗
POST停止测试版本test-api-stop-test-version/api/publish/v2/test/version/stop
此接口用于停止测试版本。
开发者调用华为 API
| 参数 | 位置 | 必填 | 类型 | 说明 |
|---|
注册表未列出参数,请查看接口参考。
请求体: json
查看接口定义
agc testing test-api-stop-test-version --pretty
本地 REST 定义地址
/api/v1/testing/endpoints/test-api-stop-test-version
调用预演(先填写所需参数)
agc testing test-api-stop-test-version --invoke --dry-run=true --body body.json查看接口参考文档 ↗
POST提交测试版本test-api-submit-test-version/api/publish/v2/test/app/version/submit
此接口用于测试版本提交审核。
开发者调用华为 API
| 参数 | 位置 | 必填 | 类型 | 说明 |
|---|
注册表未列出参数,请查看接口参考。
请求体: json
查看接口定义
agc testing test-api-submit-test-version --pretty
本地 REST 定义地址
/api/v1/testing/endpoints/test-api-submit-test-version
调用预演(先填写所需参数)
agc testing test-api-submit-test-version --invoke --dry-run=true --body body.json查看接口参考文档 ↗
PUT更新有效期内的测试版本信息test-api-update-test-version-opentest/api/publish/v2/test/version/open-test
此接口用于更新有效期内测试版本的测试时间和下载安装次数。
开发者调用华为 API
| 参数 | 位置 | 必填 | 类型 | 说明 |
|---|
注册表未列出参数,请查看接口参考。
请求体: json
查看接口定义
agc testing test-api-update-test-version-opentest --pretty
本地 REST 定义地址
/api/v1/testing/endpoints/test-api-update-test-version-opentest
调用预演(先填写所需参数)
agc testing test-api-update-test-version-opentest --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。
保存凭据 Profile
推荐使用 Service Account。密钥会以受限权限保存在 ~/.agc/credentials.json。
$ agc auth login --service-account-file ~/.agc/service-account.json --name production绑定当前项目
保存项目资料与默认凭据 Profile;调用接口时仍按要求填写应用 ID 等参数。
$ agc init --app-id <app-id> --project-id <project-id> --package-name com.example.app --default-profile production调用前先检查
接口命令默认 dry-run。确认 method 与 URL 后,再明确执行真实请求。
$ agc publishing app-info-query --invoke --query appId=<app-id> --dry-run=false本地命令中心
浏览器看到的,就是 CLI 使用的同一份注册表。
需要实时能力数据时启动本地 REST 服务;未启动时,官网仍会作为完整参考界面工作。
agc web-server --addr :8421/api/v1/capabilities家族与下一步操作/api/v1/endpoints全部接口条目/api/v1/openapi.json机器可读契约/api/v1/:family/endpoints/:id/invoke默认 dry-run