管理技能修订版本

在 Agent Registry 中,技能修订版本可让您将独立技能作为不可变快照进行版本控制,而不会中断活跃的智能体。每项技能都有一个默认修订版本,并且可以包含多个带版本的技能修订版本。更新技能的指令或可选脚本时,您可以在 Agent Registry 中创建、列出、检查、下载和删除技能修订版本。如需了解如何更新技能的默认修订版本,请参阅更新技能元数据或默认修订版本。

准备工作

  1. 设置 Agent Registry。
  2. 获取已启用 Agent Registry 的治理项目的项目 ID。

  3. 注册独立技能。

  4. 如需使用本文档中的 Google Cloud CLI 命令,请设置 gcloud CLI 环境。

所需的角色

如需获得在 Agent Registry 中管理技能修订版本所需的权限,请让管理员向您授予已启用 Agent Registry 的治理项目的以下 IAM 角色:

如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。

您也可以通过自定义角色或其他预定义角色来获取所需的权限。

其他 Agent Registry 角色也可能包含查看、下载、创建、更新和删除技能修订版本所需的权限。如需了解详情,请参阅 Agent Registry 角色和权限。

创建技能修订版本

创建新修订版本会将新的 ZIP 载荷上传到现有技能容器。验证成功后,修订版本会进入有效状态。如需将新修订版本作为技能的默认修订版本,请更新技能的默认修订版本,使其指向新的活跃修订版本。只有处于活跃状态的修订版本才能下载。

如需了解技能的价格和功能费用,请参阅 Agent Registry 价格。

技能修订版本的 ZIP 文件大小上限为 500 KB。

控制台

  1. 在 Google Cloud 控制台中,前往 Agent Registry 页面:

    前往 Agent Registry

  2. 选择技能标签页,然后点击技能的名称。
  3. 在技能详情页面中,找到版本记录表格。
  4. 点击 添加版本。
  5. 在添加版本面板中,选择以下选项之一:

    • 文件:上传包含 SKILL.md 指令文件和可选脚本的软件包或 ZIP 文件。您可以点击浏览,在本地环境中查找文件。
    • 存储桶:提供包含有效 ZIP 软件包的 gs://... Cloud Storage URI。您可以点击浏览,在 Cloud Storage 存储桶中查找文件。

  6. 点击创建。

技能详情页面会在版本记录表中显示技能修订版本。

gcloud

您可以通过上传本地 ZIP 文件或导入存储在 Cloud Storage 中的软件包来创建技能修订版本。

替换以下内容:

  • REVISION_ID:您要分配给技能修订版本的 ID。
  • SKILL_ID:您用于修订的技能的 ID。对于手动注册的技能,请添加 private- 前缀,例如 private-my-skill。
  • PROJECT_ID:项目 ID。
  • LOCATION:注册表位置。

  • 上传本地 ZIP 文件:如需使用本地 ZIP 载荷创建技能修订版本,请运行 gcloud alpha agent-registry skills revisions create 命令:

    gcloud alpha agent-registry skills revisions create REVISION_ID \
        --skill=SKILL_ID \
        --project=PROJECT_ID \
        --location=LOCATION \
        --payload="LOCAL_ZIP_PATH"
    

    将 LOCAL_ZIP_PATH 替换为本地机器上打包的技能归档文件的路径。

  • 从 Cloud Storage 存储桶导入:如需使用托管在 Cloud Storage 存储桶中的 ZIP 归档文件创建技能修订版本,请运行 gcloud alpha agent-registry skills revisions create 命令:

    gcloud alpha agent-registry skills revisions create REVISION_ID \
        --skill=SKILL_ID \
        --project=PROJECT_ID \
        --location=LOCATION \
        --gcs-source-uri="gs://BUCKET_NAME/SKILL_PACKAGE.zip"
    

    替换以下内容:

    • BUCKET_NAME:包含 ZIP 软件包的 Cloud Storage 存储桶名称。
    • SKILL_PACKAGE:包含技能修订版本的技能包的名称。

REST

如需创建技能修订版本,请向修订版本集合发送 POST 请求。 您可以直接上传 ZIP 载荷,也可以指向 Cloud Storage 路径。

  • 上传本地 ZIP 文件:在请求正文中指定包含 base64 编码 ZIP 字节的 archiveUploadSource。您可以在 curl 中使用内嵌 base64 命令:

    curl -X POST \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        -H "Content-Type: application/json" \
        -d '{
            "archiveUploadSource": {
              "archiveContent": "'"$(base64 -w0 local_skill.zip)"'"
            }
          }' \
        "https://agentregistry.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/skills/SKILL_ID/revisions?skillRevisionId=REVISION_ID"
    
  • 从 Cloud Storage 存储桶导入:在请求正文中指定 gcsSource,指向您的存储桶路径:

    curl -X POST \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        -H "Content-Type: application/json" \
        -d '{
            "gcsSource": {
              "uri": "gs://BUCKET_NAME/SKILL_PACKAGE.zip"
            }
          }' \
        "https://agentregistry.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/skills/SKILL_ID/revisions?skillRevisionId=REVISION_ID"
    

替换以下内容:

  • PROJECT_ID:项目 ID。
  • LOCATION:注册表位置。
  • SKILL_ID:技能容器的 ID。对于手动注册的技能,请添加 private- 前缀,例如 private-my-skill。
  • REVISION_ID:您要分配给此修订版本的 ID。
  • BUCKET_NAME:包含 ZIP 文件的 Cloud Storage 存储桶名称。
  • SKILL_PACKAGE:ZIP 软件包的名称。

列出和描述修订版本

您可以查看技能的所有修订版本列表,并检查其元数据。 如果您想更新技能的默认修订版本,请参阅更新技能元数据或默认修订版本。

如需列出并查看修订版本的详细信息,请按以下步骤操作:

控制台

  1. 在 Google Cloud 控制台中,前往 Agent Registry 页面:

    前往 Agent Registry

  2. 选择技能标签页,然后点击技能的名称。
  3. 在技能详情页面中,找到版本记录表格。
  4. 查看版本 ID、创建时间、修订版本状态和可用操作。

gcloud

如需列出某项技能的所有修订版本,请运行 gcloud alpha agent-registry skills revisions list 命令:

gcloud alpha agent-registry skills revisions list \
    --skill=SKILL_ID \
    --project=PROJECT_ID \
    --location=LOCATION

如需描述特定修订版本的元数据,请运行 gcloud alpha agent-registry skills revisions describe 命令:

gcloud alpha agent-registry skills revisions describe REVISION_ID \
    --skill=SKILL_ID \
    --project=PROJECT_ID \
    --location=LOCATION

替换以下内容:

  • SKILL_ID:技能容器的 ID。对于手动注册的技能,请添加 private- 前缀,例如 private-my-skill。
  • PROJECT_ID:项目 ID。
  • LOCATION:注册表位置。
  • REVISION_ID:技能修订版本的 ID。

REST

如需列出修订版本,请执行以下操作:

curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://agentregistry.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/skills/SKILL_ID/revisions"

如需获取单个修订版本的元数据,请执行以下操作:

curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://agentregistry.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/skills/SKILL_ID/revisions/REVISION_ID"

替换以下内容:

  • PROJECT_ID:项目 ID。
  • LOCATION:注册表位置。
  • SKILL_ID:技能容器的 ID。对于手动注册的技能,请添加 private- 前缀,例如 private-my-skill。
  • REVISION_ID:技能修订版本的 ID。

下载修订版本载荷

您可以下载特定修订版本的 ZIP 文件载荷,以便进行本地验证或调试。

如需下载载荷,必须满足以下两个条件:

  • 技能:技能必须处于有效或已弃用状态。如需更改技能的目标状态,请参阅管理技能生命周期状态。
  • 技能修订版本:修订版本必须处于有效状态。无法下载处于失败或正在创建状态的修订版本。如需查看技能修订版本的状态,请列出并描述修订版本。

如需下载活跃修订版本的修订版本载荷,请按以下步骤操作:

控制台

  1. 在 Google Cloud 控制台中,前往 Agent Registry 页面:

    前往 Agent Registry

  2. 选择技能标签页,然后点击技能的名称。
  3. 在技能详情页面中,找到版本记录表格。
  4. 找到要下载的版本。
  5. 在操作列中,点击下载。ZIP 载荷会下载到您的本地机器。

gcloud

如需下载修订版本的归档载荷,请运行 gcloud alpha agent-registry skills revisions download 命令并指定目标路径:

gcloud alpha agent-registry skills revisions download REVISION_ID \
    --skill=SKILL_ID \
    --project=PROJECT_ID \
    --location=LOCATION \
    --destination="./skill_payload.zip"

替换以下内容:

  • REVISION_ID:要下载的技能修订版本的 ID。
  • SKILL_ID:技能容器的 ID。对于手动注册的技能,请添加 private- 前缀,例如 private-my-skill。
  • PROJECT_ID:项目 ID。
  • LOCATION:注册表位置。

REST

向修订版本的资源网址发送 GET 请求,并添加查询参数 alt=media。您必须将 -L 标志与 curl 结合使用,以跟踪 HTTP 重定向流:

curl -L -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -o skill_payload.zip \
    "https://agentregistry.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/skills/SKILL_ID/revisions/REVISION_ID?alt=media"

替换以下内容:

  • PROJECT_ID:项目 ID。
  • LOCATION:注册表位置。
  • SKILL_ID:技能容器的 ID。对于手动注册的技能,请添加 private- 前缀,例如 private-my-skill。
  • REVISION_ID:要下载的技能修订版本的 ID。

删除特定修订版本

删除特定修订版本会从 Agent Registry 中移除其 ZIP 载荷和元数据历史记录。

删除单个修订版本通常仅限于管理员。如果您删除设置为技能默认修订版本的修订版本,Agent Registry 会清除 defaultRevision 指针,并将有效技能转换为已停用状态。如需让技能保持有效状态,请更新技能的默认修订版本,使其指向另一个有效修订版本,然后再删除之前的默认修订版本。

如需删除特定修订版本,请按以下步骤操作:

控制台

  1. 在 Google Cloud 控制台中,前往 Agent Registry 页面:

    前往 Agent Registry

  2. 选择技能标签页,然后点击技能的名称。
  3. 在技能详情页面中,找到版本记录表格。
  4. 找到要删除的修订版本。
  5. 在操作列中,点击删除并确认操作。

gcloud

如需删除修订版本,请运行 gcloud alpha agent-registry skills revisions delete 命令:

gcloud alpha agent-registry skills revisions delete REVISION_ID \
    --skill=SKILL_ID \
    --project=PROJECT_ID \
    --location=LOCATION

替换以下内容:

  • REVISION_ID:要删除的技能修订版本的 ID。
  • SKILL_ID:技能容器的 ID。对于手动注册的技能,请添加 private- 前缀,例如 private-my-skill。
  • PROJECT_ID:项目 ID。
  • LOCATION:注册表位置。

REST

如需删除修订版本,请发送 DELETE 请求:

curl -X DELETE \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://agentregistry.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/skills/SKILL_ID/revisions/REVISION_ID"

替换以下内容:

  • PROJECT_ID:项目 ID。
  • LOCATION:注册表位置。
  • SKILL_ID:技能容器的 ID。对于手动注册的技能,请添加 private- 前缀,例如 private-my-skill。
  • REVISION_ID:要删除的技能修订版本的 ID。

后续步骤