mcpField
A
aicore-admin-resources

aicore-admin-resources

github.com/sap云与 DevOps101100 次安装6 天前更新
代码仓库

关于 aicore-admin-resources

用于配置 SAP AI Core 访问并管理资源组的 Skill,涵盖凭据检查、配置指引、配置档切换和资源组脚本,并包含敏感凭据保护规则。

主要功能

  1. 01检查凭据和当前资源组
  2. 02通过 CLI、环境变量或配置档设置凭据
  3. 03切换不同环境配置档
  4. 04列出并查看资源组
  5. 05保护令牌和客户端密钥

适用场景

  1. 01运行脚本前检查 SAP AI Core 配置
  2. 02在不同环境间切换凭据
  3. 03查看资源组及其标签

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/sap/ai-skills-library --skill aicore-admin-resources

安装后在 Claude Code 中输入/aicore-admin-resources确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
SETUP.md
scripts/
check_setup.py
create_resource_group.py
delete_resource_group.py
get_token.py
list_resource_groups.py
patch_resource_group.py
set_profile.sh

详细介绍

规则

  1. 凭据未知时,或任何脚本遇到身份验证错误时,始终先运行 check_setup.py。
  2. AICORE_BASE_URL 必须以 /v2 结尾——这是最常见的配置错误。
  3. 切勿以明文形式显示或记录客户端密钥或令牌值。只输出用户需要的信息(例如资源组,而非完整配置)。
  4. X.509 证书身份验证可作为客户端密钥的替代方式——两者均受支持。

检查设置

验证凭据并输出当前活动资源组:

uv run scripts/check_setup.py

成功时的预期输出:

{
  "status": "ok",
  "resource_group": "<your-resource-group>",
  "base_url": "https://api.ai.<region>...",
  "auth_url": "https://..."
}

如果失败,请阅读 references/SETUP.md,了解凭据配置的分步说明。


获取身份验证令牌

将原始 Bearer 令牌输出到 stdout——适用于 curl 测试:

export TOKEN=$(uv run scripts/get_token.py)

始终将令牌捕获到变量中。切勿单独运行 get_token.py,也不要使用 2>&1 运行——这会将原始 JWT 打印到对话中。成功消息会正常输出到 stderr;使用 $() 捕获时,只会得到纯令牌。


配置凭据

有三种方式——完整指南请参阅 references/SETUP.md:

选项命令/操作
交互式 CLI(推荐)aicore configure
环境变量设置 AICORE_AUTH_URL、AICORE_CLIENT_ID、AICORE_CLIENT_SECRET、AICORE_BASE_URL、AICORE_RESOURCE_GROUP
配置文件创建 ~/.aicore/config.json

常见错误

错误解决方法
401 Unauthorized重新运行 aicore configure——client_id 或密钥错误
404 Not Found在 AICORE_BASE_URL 后追加 /v2
Resource group not found在 AI Core Launchpad 中创建资源组或联系管理员
No credentials found设置所需的环境变量或运行 aicore configure

切换配置文件(多环境)

在多个环境中工作时,凭据以 config_<profile>.json 文件的形式存放在 AICORE_HOME 下(默认值:~/.aicore)。由于每次 Agent 运行时 shell 环境都会清空,因此必须在 Agent 启动前设置配置文件,或在每条命令中内联设置。

选项 1 — 在启动 Agent 前于 shell 中设置:

export AICORE_HOME=/path/to/credentials  # only needed if not ~/.aicore
export AICORE_PROFILE=<profile>
# then start the agent — it inherits the env vars

选项 2 — 在同一个 shell 中加载并运行(供 Agent 使用):

source scripts/set_profile.sh <profile> && uv run scripts/check_setup.py

选项 3 — 在每条命令中内联设置:

AICORE_PROFILE=<profile> uv run scripts/check_setup.py

列出可用配置文件:

source scripts/set_profile.sh

管理资源组

# List all resource groups:
uv run scripts/list_resource_groups.py

# Show detailed view (includes labels):
uv run scripts/list_resource_groups.py --response-format detailed

# JSON output:
uv run scripts/list_resource_groups.py --json

# Inspect a single resource group:
uv run scripts/list_resource_groups.py --resource-group-id <id>

# Create a resource group:
uv run scripts/create_resource_group.py --id <id>

# Create with labels (keys must be prefixed ext.ai.sap.com/ or scenarios.ai.sap.com/):
uv run scripts/create_resource_group.py --id <id> --label ext.ai.sap.com/team=data --label ext.ai.sap.com/env=prod

# Update labels (replaces the full label set):
uv run scripts/patch_resource_group.py --id <id> --label ext.ai.sap.com/team=data

# Delete a resource group (--confirm is required):
uv run scripts/delete_resource_group.py --id <id> --confirm

注意:资源组 ID 必须为 3–10 个小写字母数字字符(允许使用连字符,但不能以连字符开头或结尾)。标签键必须使用前缀 ext.ai.sap.com/ 或 scenarios.ai.sap.com/——像 team=data 这样的裸键会被拒绝,并返回 400 错误。创建后,在资源组完成预配期间立即删除可能会返回 409(“操作冲突”);请稍等片刻后重试。


后续操作

  • 准备好管理部署了吗? → 调用 aicore-lifecycle-management
  • 需要列出可用模型吗? → 调用 genai-hub-foundation-models

何时加载参考文件

触发条件加载
任何凭据/身份验证错误或设置问题references/SETUP.md

评论

支持 Markdown