本技能封装了拓扑匠(agent-ac1c0d14)的核心能力,能够自动绘制专业的数据中心网络拓扑图,支持Visio和PPT双格式输出。图标资源覆盖华为、华三(H3C)品牌。
| 输入类型 | 特征 | 行动 |
|---------|------|------|
| 设备清单 | 明确的设备列表(名称、型号、数量) | → 直接解析生成 |
| Word文档 | .docx文件,包含网络架构描述 | → 提取内容后生成 |
| 模糊需求 | 无明确清单 | → 提示补全资料 |
根据主维度自动匹配:
| 主维度 | 拓扑类型 | 输出格式 |
|-------|----------|----------|
| 设备清单为主 | 物理拓扑 | Visio工程版 |
| 组网需求为主 | 网络逻辑拓扑 | Visio + PPT |
| 安全需求为主 | 安全拓扑 | PPT汇报版 |
| 容灾需求 | 容灾拓扑 | PPT汇报版 |
| 完整方案 | 综合架构拓扑 | 双格式 |
> 🏢 电信数智-集成服务部-产数交付支撑中心
触发词列表:
核心层:
- 核心交换机: 华为 CE12800 × 2
- 出口路由器: 华为 NE40E × 2
汇聚层:
- 汇聚交换机: 华为 CE6870 × 4
接入层:
- 接入交换机: 华为 S5735 × 8
安全设备:
- 防火墙: 华为 USG6000E × 2
- 入侵检测: 华为 NIP × 2
服务器:
- 应用服务器: 华为 RH2288 × 20
- 数据库服务器: 华为 OceanStor × 4
支持直接上传.docx文件,内含:
*_Visio工程版.vsdx
*_PPT版.pptx
gen_ppt.py - PPT拓扑生成脚本
package_skill.py - 技能打包脚本
quick_validate.py - 快速验证脚本
华为/华三品牌设备矢量图标,用于PPT拓扑图中的设备图形插入。
assets/huawei/ - 华为企业网络设备图标(42个EMF文件)
assets/h3c/ - 华三网络设备图标(20个EMF文件)
Visio模具文件,用于Visio COM自动化绘制。Visio COM可直接打开这些VSS模具文件,按Master名称拖放图标到画布。
assets/stencils/huawei/ - 华为VSS模具
Enterprise_Networking_Icons_Blue.vss - 华为企业网图标(蓝色版),包含交换、路由、安全、无线、WLAN全系列设备Master(178个图标)
Visio COM自动化中使用VSS模具的标准流程:
Application.Documents.OpenEx(vss_path) 打开模具文件
Document.Masters(master_name) 按名称查找图标Master
Page.Drop(master, x, y) 拖放到画布指定坐标
IDENTITY.md - Agent身份定义
SOUL.md - 拓扑匠核心准则
AGENTS.md - 工作规范
USER.md - 用户信息
本技能为预置技能,已安装在 ~/.qclaw/skills/network-topology-drawer/。
如需重新安装:
用户输入:
绘制网络拓扑,设备清单:
- 核心交换机 × 2
- 汇聚交换机 × 4
- 接入交换机 × 8
- 防火墙 × 2
生成:
自动识别层级关系,生成Visio+PPT双格式拓扑图
用户输入:
基于这份技术方案.docx生成拓扑图
生成:
解析文档内容,提取设备清单和技术架构,生成对应拓扑
用户输入:
绘制等保三级云资源池架构拓扑
设备清单见附件
生成:
等保三级合规拓扑,七层架构完整呈现
绘制Visio拓扑图时必须按功能区域划分,并用带颜色底框的矩形框区分:
标准区域划分:
| 区域名称 | 底框颜色 | 位置 | 包含设备 |
|---------|---------|------|---------|
| 出口安全区 | 浅红色/粉色 | 底部 | NGFW、抗DDoS、WAF、互联网 |
| 核心交换区 | 浅绿色 | 中下 | Spine核心交换机 |
| 接入交换区 | 浅蓝色 | 中部 | Leaf接入交换机 |
| 计算资源池区 | 浅紫色 | 中上左侧 | 虚拟化计算服务器 |
| 分布式存储区 | 浅橙色 | 中上右侧 | 存储节点、存储阵列 |
| 管理节点区 | 浅青色 | 右上 | 管理节点服务器 |
| 备份容灾区 | 浅黄色 | 最右侧 | 备份一体机 |
| 安全审计管理区 | 浅灰色 | 右侧 | 堡垒机、日志审计、数据库审计、漏洞扫描 |
底框样式:
Visio COM实现:
# 创建区域底框
rect = page.DrawRectangle(x1, y1, x2, y2)
rect.Cells("FillForegnd").FormulaU = "RGB(255, 230, 230)" # 浅红色背景
rect.Cells("LinePattern").FormulaU = "2" # 虚线边框
rect.Cells("LineColor").FormulaU = "RGB(128, 128, 128)" # 灰色边框
rect.Text = "出口安全区"
rect.Cells("VerticalAlign").FormulaU = "0" # 顶部对齐
共 1 个版本