executing-plans
executing-plans
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available
tsa-risk腾讯云智能顾问架构风险巡检分析报告生成工具。用于分析用户在腾讯云智能顾问产品下的架构图风险巡检情况,从API拉取数据并生成移动端友好的HTML可视化报告,最终将HTML转换为PNG图片输出。当用户提到智能顾问架构巡检、风险分析、巡检报告、架构图风险、腾讯云巡检等关键词时或对当前报告内容修改时,请务必使用此插件。
Independent GitHub snapshot · Automated classification · Original documentation governs
本 skill 用于分析用户在腾讯云智能顾问产品下的架构图风险巡检情况,自动拉取数据并生成可视化报告。
重要:本 skill 仅允许调用以下
references/中定义的 4 个智能顾问接口,不得调用任何 references 之外的接口:
| # | Action | 说明 | 文档 |
|---|---|---|---|
| 1 | DescribeArchScanReportLastInfo | 获取最新巡检报告ID | {baseDir}/references/api/DescribeArchScanReportLastInfo.md |
| 2 | DescribeArchScanOverviewInfo | 查询巡检概览信息 | {baseDir}/references/api/DescribeArchScanOverviewInfo.md |
| 3 | DescribeArchRiskTrendInfo | 查询风险趋势信息 | {baseDir}/references/api/DescribeArchRiskTrendInfo.md |
| 4 | DescribeScanPluginRiskTrendListInfo | 查询风险明细列表 | {baseDir}/references/api/DescribeScanPluginRiskTrendListInfo.md |
所有接口统一通过 {baseDir}/scripts/tcloud_api.py 调用,服务名 advisor,API 版本 2020-07-21。
路径约定:下文使用
{pluginDir}表示{baseDir}/references/plugins/tas-risk,插件专用脚本(数据拉取、报告生成、截图转换)位于{pluginDir}/scripts/,公用脚本(环境检查、API调用、免密登录等)位于{baseDir}/scripts/。
辅助脚本说明:
{baseDir}/scripts/login_url.py和{baseDir}/scripts/setup_role.py为可选辅助脚本,使用 STS/CAM 通用服务接口(非智能顾问业务接口),仅用于免密登录链接生成和角色配置,不在核心数据流程中。
python3(3.6 及以上版本)TENCENTCLOUD_SECRET_ID、TENCENTCLOUD_SECRET_KEYarch-xxxxx注意:ResultId 无需用户提供,系统会自动通过
DescribeArchScanReportLastInfo接口获取最新的报告 ID。
python3 {baseDir}/check_env.py
python3 {pluginDir}/scripts/risk_fetch_data.py <ArchId>
该脚本自动完成以下工作:
DescribeArchScanReportLastInfo 接口,通过 ArchId 获取最新的报告 ID
./output/data_<ArchId>.json(当前工作目录下)数据拉取特性:
DescribeScanPluginRiskTrendListInfo 接口使用 Limit=200(最大分页) 并自动分页遍历,确保获取全部风险明细数据TotalCount 为实际获取的总条数使用接口前,必须先加载对应的接口文档:
{baseDir}/references/api/<Action>.md
数据来源:./output/data_<ArchId>.json
脚本优先级机制:系统优先加载 generate_report_custom.py,不存在时回退到 generate_report_default.py。
规则:
generate_report_custom.py不预置,仓库中只有generate_report_default.py作为基线版本- 当用户自定义报告需求通过
--template模板配置无法满足、需要修改生成逻辑(如布局、模块增删、图表样式、数据处理等)时,先将generate_report_default.py复制为generate_report_custom.py,再在副本上修改- 一旦
generate_report_custom.py存在,后续所有生成都自动使用它;generate_report_default.py始终保持不变作为基线
# 如需修改生成逻辑,先创建自定义副本(仅首次)
if [ ! -f "{pluginDir}/scripts/generate_report_custom.py" ]; then
cp {pluginDir}/scripts/generate_report_default.py {pluginDir}/scripts/generate_report_custom.py
fi
# 自动选择脚本(优先 _custom 版本)
GEN_SCRIPT="{pluginDir}/scripts/generate_report_custom.py"
if [ ! -f "$GEN_SCRIPT" ]; then
GEN_SCRIPT="{pluginDir}/scripts/generate_report_default.py"
fi
python3 "$GEN_SCRIPT" ./output/data_<ArchId>.json --theme random
可指定主题:--theme ocean|sunset|forest|lavender|coral|slate
如果用户之前保存过自定义模板,可通过 --template 指定模板目录:
# 同样优先使用 _custom 版本
python3 "$GEN_SCRIPT" ./output/data_<ArchId>.json --template <自定义模板名>
当用户对主题有自定义修改需求时:
{pluginDir}/template/default/ 下对应主题 JSON 文件--save-template 保存为新模板(会在 template/<名称>/ 下创建):python3 "$GEN_SCRIPT" ./output/data_<ArchId>.json --theme ocean --save-template my-custom
python3 "$GEN_SCRIPT" --list-templates
不使用脚本,而是:
./output/data_<ArchId>.json 数据{pluginDir}/ReportDesignSpec.md 了解报告模块与样式规范./output/report_<ArchId>.html此步骤默认不启用。仅当用户明确要求生成 AI 分析摘要(如提到"分析一下"、"总结报告"、"AI 解读"等关键词)时才执行此步骤。默认流程直接从第四步跳到第六步。
如果用户要求启用 AI 分析,在生成 HTML 后、转 PNG 前,对巡检数据进行分析:
./output/data_<ArchId>.json 中的关键数据{pluginDir}/ReportDesignSpec.md./output/summary_<ArchId>.txtpython3 "$GEN_SCRIPT" ./output/data_<ArchId>.json --theme random --summary ./output/summary_<ArchId>.txt
也可同时指定自定义模板:
--template <模板名> --summary ...
python3 {pluginDir}/scripts/html_to_png.py ./output/report_<ArchId>.html
最终输出 PNG 到 ./output/report_<ArchId>.png。
⚠️ 核心原则:报告图片优先! 无论何种场景,都必须 优先尝试发送/展示报告图片,只有在确认图片无法发送时才降级。
报告生成完毕后,按以下优先级策略处理:
优先发送报告图片(必须!)
read_image 工具读取 ./output/report_<ArchId>.png,让图片 直接内联显示 在对话消息中降级方案:仅当图片确实无法发送时(如 read_image 工具不可用、图片文件生成失败、PNG 转换全部失败等)
./output/data_<ArchId>.json 数据,将报告内容解读为 Markdown 格式文本 发送> ⚠️ 图片报告未能发送(原因:{{具体原因,如"PNG截图工具均不可用"或"read_image工具调用失败"等}}),以下为文本版报告:
💡 建议:升级至最新版 CLAW 客户端以获得图片报告的最佳体验如果检测到当前运行环境为本地 CLAW(如 qclaw)且不支持在对话中发送/内联图片:
# macOS
open ./output/report_<ArchId>.png
# Linux
xdg-open ./output/report_<ArchId>.png
# Windows
start ./output/report_<ArchId>.png
📷 报告图片已在本地打开,请查看。发送图片后(或降级文本报告后),参考下面文字提示模板补充提示:
<简洁总结报告>
若需修改可以直接发送修改意见
🔗 查看更多: 如需查看完整架构详情、历史报告及更多风险分析,请前往 [腾讯云智能顾问控制台](https://console.cloud.tencent.com/advisor?archId={{ArchId}}&plugin=cloud-inspection-sdk)
⚠️ 重要: [腾讯云智能顾问控制台] 对应链接为免密登录链接每次都必须重新生成,不可缓存或复用之前生成的链接。每次向用户展示时,都必须重新调用
scripts/login_url.py生成新的链接。
QcloudAdvisorReadOnlyAccess 权限TENCENTCLOUD_TOKENap-guangzhou,Region 为可选参数TENCENTCLOUD_STS_DURATION 调整(最大 7200 秒)[腾讯云智能顾问控制台](免密登录URL) 超链接形式展示,严禁直接展示完整 URLlogin_url.py 生成新链接,不可缓存或复用| 文档 | 说明 |
|---|---|
{baseDir}/references/api/DescribeArchScanReportLastInfo.md | 获取最新报告ID接口 |
{baseDir}/references/api/DescribeArchScanOverviewInfo.md | 巡检概览接口 |
{baseDir}/references/api/DescribeArchRiskTrendInfo.md | 风险趋势接口 |
{baseDir}/references/api/DescribeScanPluginRiskTrendListInfo.md | 风险明细列表接口 |
{pluginDir}/ReportDesignSpec.md | 报告内容与样式规范 |