运行时依赖
安装命令
点击复制技能文档
☁️ 腾讯云智能顾问助手 核心能力:通过 AK/SK 鉴权调用腾讯云智能顾问(Tencent Cloud Smart Advisor)API,管理云架构图的目录与详情、获取架构评估结果,以及查询风险评估项。
一、鉴权方式 使用腾讯云 API AK/SK 签名认证(TC3-HMAC-SHA256),通过环境变量配置密钥: 1.1 必填环境变量 TENCENTCLOUD_SECRET_ID — 腾讯云 SecretId(必填) TENCENTCLOUD_SECRET_KEY — 腾讯云 SecretKey(必填) 密钥获取地址:https://console.cloud.tencent.com/cam/capi 环境变量必须永久写入 shell 配置文件,确保新会话中仍然生效: Linux / macOS(写入 ~/.bashrc 或 ~/.zshrc): echo 'export TENCENTCLOUD_SECRET_ID="your-secret-id"' >> ~/.bashrc echo 'export TENCENTCLOUD_SECRET_KEY="your-secret-key"' >> ~/.bashrc source ~/.bashrc Windows PowerShell(写入用户级环境变量): [Environment]::SetEnvironmentVariable("TENCENTCLOUD_SECRET_ID", "your-secret-id", "User") [Environment]::SetEnvironmentVariable("TENCENTCLOUD_SECRET_KEY", "your-secret-key", "User")
1.2 角色配置(免密登录需要) 为生成控制台免密登录链接,需要配置 CAM 角色。角色配置分为 检测 和 创建 两个独立步骤,角色创建属于 IAM 写入操作,必须在用户明确同意后才能执行。 步骤一:环境检测(只读) 运行环境自检脚本,检测依赖、版本更新、密钥、角色配置状态: python3 {baseDir}/check_env.py 自检脚本 仅做只读检测,不会创建或修改任何资源。返回码含义: 0 = 环境就绪(密钥 + 角色全部正常) 1 = Python 版本不满足要求 2 = AK/SK 未配置或无效 3 = 角色未配置(需要执行步骤二) 4 = Skill 版本过旧,请更新 Skill 脚本首次运行时会自动检查本地 _meta.json 中的版本号与远端最新版本是否一致,若发现新版本则提示更新并退出(返回码 4)。可通过 --skip-update 参数跳过版本检查。
步骤二:角色创建(需用户同意) 当 check_env.py 返回码为 3(角色未配置)时,必须向用户展示角色创建方案并等待同意: 向用户说明以下内容: 将创建 CAM 角色 advisor,仅用于免密登录控制台查看智能顾问信息 将关联策略 QcloudAdvisorFullAccess(智能顾问只读访问权限,不影响其他云资源) 信任策略仅允许当前账号扮演此角色 用户可随时在 CAM 控制台删除此角色 用户同意后,执行角色创建脚本: python3 {baseDir}/scripts/create_role.py 脚本输出 JSON 格式结果,success: true 表示创建成功并已保存配置。 用户拒绝时,提供手动配置方式(方式二、三、四)。
方式二:配置向导(交互式选择已有角色) 运行配置向导,从已有角色中选择,或交互式创建新角色: python3 {baseDir}/scripts/setup_role.py
方式三:简化配置 只需提供角色名称,系统自动获取账号 UIN。将以下内容写入 shell 配置文件(如 ~/.bashrc 或 ~/.zshrc): echo 'export TENCENTCLOUD_ROLE_NAME="advisor"' >> ~/.bashrc source ~/.bashrc 系统会自动调用 API 获取您的账号 UIN,并拼接完整的 roleArn。
方式四:完整配置(高级用户) 手动设置完整的角色 ARN,写入 shell 配置文件(如 ~/.bashrc 或 ~/.zshrc): echo 'export TENCENTCLOUD_ROLE_ARN="qcs::cam::uin/100001234567:roleName/advisor"' >> ~/.bashrc source ~/.bashrc
1.3 可选环境变量 TENCENTCLOUD_TOKEN — 临时密钥 Token(使用临时密钥时设置) TENCENTCLOUD_ROLE_SESSION — 角色会话名称(默认 advisor-session) TENCENTCLOUD_STS_DURATION — 临时凭证有效期秒数(默认 3600,即 1 小时;最大 43200,即 12 小时) 注意:所有环境变量均需永久写入 shell 配置文件(如 ~/.bashrc、~/.zshrc),export 仅对当前会话生效,新开会话会丢失。
1.4 配置优先级 系统按以下优先级加载角色配置: 环境变量 TENCENTCLOUD_ROLE_ARN(完整 ARN) 配置文件 ~/.tencent-cloudq/config.json 环境变量 TENCENTCLOUD_ROLE_NAME + 自动获取账号 UIN
二、前置检查(初始化工作流) 每次操作前必须先执行环境检测。初始化分为 版本检查、环境检测 和 角色创建 三个阶段,角色创建属于 IAM 写入操作,必须在用户明确同意后才能执行。
2.1 初始化工作流(必须严格按顺序执行) 第一步:运行环境检测 python3 {baseDir}/check_env.py 脚本会依次执行以下检测: 检查 Python 版本(需要 3.7+) 检查 Skill 版本更新(读取本地 _meta.json 版本,与远端最新版本对比) 检查 AK/SK 配置 验证 AK/SK 有效性 检查免密登录角色配置 验证角色扮演 根据返回码判断状态: 0 = 环境就绪,可以正常使用所有功能 1 = Python 版本不满足要求 → 提示用户升级 Python 2 = AK/SK 未配置或无效 → 提示用户配置密钥 3 = 角色未配置 → 执行第二步 4 = Skill 版本过旧 → 提示用户更新 Skill 版本检查说明:脚本首次运行时会自动对比本地版本与远端版本。若远端有新版本,脚本会输出当前版本和最新版本号,并以返回码 4 退出。网络不可用或远端接口异常时,版本检查会被跳过,不影响后续检测。可通过 --skip-update 参数主动跳过版本检查。
第二步:向用户展示角色创建方案(仅当返回码为 3 时) 向用户说明即将执行的 IAM 操作,等待用户明确同意: 免密登录功能需要创建一个 CAM 角色,以下是创建方案: 角色名称:advisor 关联策略:QcloudTAGFullAccess(标签全读写权限)、QcloudAdvisorFullAccess(智能顾问全读写权限) 信任策略:仅允许当前账号扮演此角色 用途:仅用于生成控制台免密登录链接,不影响其他云资源 您可随时在 CAM 控制台 删除此角色 是否同意创建?
第三步:执行角色创建(仅在用户同意后) python3 {baseDir}/scripts/create_role.py 脚本输出 JSON 格式结果,success: true 表示创建成功。
第四步:再次运行环境检测,确认环境就绪 python3 {baseDir}/check_env.py 返回码 0 表示初始化完成,所有功能可用。
2.2 静默模式(供脚本内部调用) python3 {baseDir}/check_env.py --quiet 静默模式下仅输出错误信息,适合其他脚本调用获取环境状态。角色未配置时返回码 3,不会自动创建角色。
2.3 跳过版本检查 python3 {baseDir}/check_env.py --skip-update 跳过远端版本对比,直接进行后续环境检测。适用于离线环境或已知无需更新的场景。可与 --quiet 组合使用。
三、API 调用方式 所有接口通过统一的签名脚本调用,服务固定参数: service: advisor host: advisor.tencentcloudapi.com version: 2020-07-21 python3 {baseDir}/scripts/tcloud_api.py advisor advisor.tencentcloudapi.com 2020-07-21 '' [region]
四、可用接口(共 7 个) 所有接口频率限制均为 20 次/秒。使用某个接口前,必须先加载对应的接口文档获取参数、返回值和展示规则等详细信息。 接口 说明 必填参数 触发词 文档 DescribeArch 获取云架构详情 ArchId、Username 架构详情、查看架构图 {baseDir}/references/api/DescribeArch.md DescribeArchList 分页获取云架构列表 PageNumber、PageSize 架构列表、所有架构图 {baseDir}/references/api/DescribeArchList.md ListDirectoryV2 查询架构目录树 无 查询目录、目录列表 {baseDir}/references/api/ListDirectory