| name | byted-volcengine-topology-analyzer |
| description | 基于已有拓扑数据回答资源影响面、上下游链路、业务归属和变更波及范围。只要用户在问某个节点或资源变更会影响什么应用、入口出口、上下游链路、归属业务,或者想梳理某个 ECS/CLB/EIP/安全组/VPC/子网/EBS 的依赖关系时,都应该使用这个 skill;即使用户没有明确提到 topology,也要主动触发。 |
拓扑影响分析 Skill
能力定位
这个 Skill 不是负责构建底层数据,而是消费已有拓扑数据,回答与影响面、归属关系、上下游链路和变更波及范围相关的问题。
- 定位目标节点,例如
sg-xxx、eip-xxx、clb-xxx、i-xxx、IP、资源名
- 基于结构化拓扑推断直接关联资源、受影响 ECS 和入口链路
- 在用户给出变更描述时,生成基于静态拓扑的风险摘要和校验建议
- 在多候选或多业务场景下,先给出候选排序,再决定是否需要用户确认
输入前提
这个 Skill 默认消费由基础资产/拓扑构建流程沉淀出来的业务拓扑数据。
- 默认查找目录:
- 当前工作空间下的
business_topologies/
- 目录结构约定:
···
business_topologies/
/
topology.json
topology.md
- 结构化拓扑数据:`topology.json`
- 人工可读拓扑摘要:`topology.md`
- 当前图关系语义:
- `attached_to`:A 绑定到 B
- `has`:A 拥有 B
- `contains`:A 包含 B
- `belongs_to`:A 归属 B
如果用户没有显式指定 `--root`,脚本会优先在这两个默认目录里自动发现业务拓扑数据。
如果用户在问“实时状态”或“当前是否健康”,要明确提醒:这里回答的是基于静态拓扑数据的推断,不是运行时状态。
## 标准流程
### 1. 先提取查询要素
优先识别这些信息:
- 节点标识:资源 ID、IP、名称、关键词
- 业务范围:用户是否已经给出明确业务
- 问题类型:影响面、归属关系、上下游链路、入口出口、直接关联
- 变更动作:例如放开端口、删除规则、切换入口、修改子网
如果用户已经给了业务名,就在查询时带上 `--business`,减少歧义。
### 2. 先跑脚本拿结构化结果
优先使用脚本,不要直接凭肉眼扫 JSON:
```bash
python3 <byted-volcengine-topology-analyzer-skill>/scripts/analyze_topology.py \
--node "<node-id-or-keyword>" \
--output json
如果已知业务:
python3 <byted-volcengine-topology-analyzer-skill>/scripts/analyze_topology.py \
--business "<business>" \
--node "<node-id-or-keyword>" \
--output json
如果用户给出了变更描述:
python3 <byted-volcengine-topology-analyzer-skill>/scripts/analyze_topology.py \
--business "<business>" \
--node \
--change \
--output json