dsh-ensp 0.5.1 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.en.md CHANGED
@@ -1,3 +1,7 @@
1
+ <p align="center">
2
+ <img src="https://raw.githubusercontent.com/lizi600jin/dsh-ensp/HEAD/assets/icon.webp" alt="dsh-ensp" width="180" height="180">
3
+ </p>
4
+
1
5
  <p align="center">
2
6
  English | <a href="README.md">中文</a>
3
7
  </p>
@@ -139,6 +143,21 @@ ensp preset --knowledge LSA # search the index by keyword
139
143
 
140
144
  The points are grouped by topic by hand: each one is a checkable statement rather than a copied entry. The index keeps only the stem and the correct option text; the source material is not shipped.
141
145
 
146
+ ### Manual chapter index
147
+
148
+ `src/core/curriculum.json` records the chapter structure of the vendor lab manuals: the learning goals of each chapter, the `display` commands the manual uses to prove the result, and the built-in scenario that covers the same ground. A scenario detail lists the matching chapters, so you can compare your configuration against the official steps.
149
+
150
+ ```bash
151
+ ensp preset ospf-lsa-types # the detail ends with a manual chapter section
152
+ ensp preset --syllabus MPLS # search the chapter index by keyword
153
+ ```
154
+
155
+ The manual text is vendor documentation and is not shipped; the index keeps only the structured facts. The generator reads extracted chapter JSON:
156
+
157
+ ```bash
158
+ npm run curriculum -- <guides.json>
159
+ ```
160
+
142
161
  ### Device image check
143
162
 
144
163
  Some models have a catalogue entry without a shipped image, most notably `USG6000V` (its component has to be selected during eNSP installation). Such models can be placed on the canvas and saved to a `.topo`, but eNSP renders the topology and then quits, which shows up as consoles that never answer.
@@ -271,9 +290,10 @@ ensp status
271
290
 
272
291
  | Item | Requirement |
273
292
  |---|---|
274
- | OS | Windows. eNSP has no other build |
293
+ | OS | Windows. eNSP has no other build, which is why the plugin declares `win32` only |
275
294
  | eNSP | Installed and working |
276
295
  | Node.js | 18 or newer |
296
+ | DSH | 0.2.0 up to but not including 0.3.0 (`engines.dsh` decides compatibility) |
277
297
  | Privileges | Run both this tool and eNSP as administrator, at the same integrity level |
278
298
 
279
299
  The eNSP and VirtualBox install locations are detected automatically: `--exe` / `--vbox` first, then the `DSH_ENSP_EXE` / `DSH_VBOX` environment variables, then the `HKLM\SOFTWARE\Huawei\eNSP` registry key, then the usual install roots and `PATH`. Nothing needs configuring when either is installed on another drive, and a failed lookup lists every location it tried together with where that location came from.
package/README.md CHANGED
@@ -1,3 +1,7 @@
1
+ <p align="center">
2
+ <img src="https://raw.githubusercontent.com/lizi600jin/dsh-ensp/HEAD/assets/icon.webp" alt="dsh-ensp" width="180" height="180">
3
+ </p>
4
+
1
5
  <p align="center">
2
6
  <strong>中文</strong> | <a href="README.en.md">English</a>
3
7
  </p>
@@ -134,6 +138,21 @@ ensp preset --knowledge LSA # 按关键词检索知识点
134
138
 
135
139
  知识点按主题人工归类:每条是一句可核对的事实,而不是照搬原始条目。索引只保留题干与正确选项文本,原始资料不随包分发。
136
140
 
141
+ ### 教材章节索引
142
+
143
+ `src/core/curriculum.json` 记录厂商实验手册的章节结构:每章的学习目标、手册里用来证明结果的 `display` 命令,以及本章对应的内置场景。场景详情会附上对应章节,因此可以直接对照官方步骤检查自己的配置。
144
+
145
+ ```bash
146
+ ensp preset ospf-lsa-types # 详情里带「官方教材对应章节」小节
147
+ ensp preset --syllabus MPLS # 按关键词检索章节索引
148
+ ```
149
+
150
+ 手册正文是厂商文档,不随包分发;索引只保留章名、目标与验证命令这些结构化事实。生成脚本读取抽取后的章节 JSON:
151
+
152
+ ```bash
153
+ npm run curriculum -- <guides.json>
154
+ ```
155
+
137
156
  ```bash
138
157
  npm run docs # 重新生成 docs/SCENARIOS.md
139
158
  npm run docs:check # 只检查是否过期
@@ -271,9 +290,10 @@ ensp status
271
290
 
272
291
  | 项 | 要求 |
273
292
  |---|---|
274
- | 操作系统 | Windows。eNSP 仅有 Windows 版本 |
293
+ | 操作系统 | Windows。eNSP 仅有 Windows 版本,插件因此只声明 `win32` |
275
294
  | eNSP | 已安装且可正常运行 |
276
295
  | Node.js | 18 或更高版本 |
296
+ | DSH | 0.2.0 到 0.3.0 之前的版本(`engines.dsh` 决定兼容性) |
277
297
  | 权限 | 以管理员身份运行本工具与 eNSP,两者需为同一权限级别 |
278
298
 
279
299
  eNSP 与 VirtualBox 的安装位置自动探测:先看 `--exe` / `--vbox`,再看 `DSH_ENSP_EXE` / `DSH_VBOX` 环境变量,再看注册表 `HKLM\SOFTWARE\Huawei\eNSP`,最后看常见安装根目录与 `PATH`。装在非默认盘符时不必手工配置,探测失败会列出每一个尝试过的位置及其来源。
Binary file
package/docs/SCENARIOS.md CHANGED
@@ -41,6 +41,10 @@ ensp up ospf-single.topo
41
41
  生成:`ensp preset vlan-access --topo vlan-access.topo`
42
42
  - 验收:`ensp verify vlan-access --topology vlan-access.topo`(2 条断言)
43
43
 
44
+ **教材章节**
45
+ - HCIA · 华为网络设备基本操作(手册第 9 页)
46
+ - HCIA · VLAN 配置实验(手册第 21 页)
47
+
44
48
  ### trunk-interconnect — Trunk 互联与多 VLAN 透传
45
49
 
46
50
  - **英文名**:Trunk interconnect
@@ -69,6 +73,10 @@ ensp up ospf-single.topo
69
73
  生成:`ensp preset trunk-interconnect --topo trunk-interconnect.topo`
70
74
  - 验收:`ensp verify trunk-interconnect --topology trunk-interconnect.topo`(1 条断言)
71
75
 
76
+ **教材章节**
77
+ - HCIA · 华为网络设备基本操作(手册第 9 页)
78
+ - HCIA · VLAN 配置实验(手册第 21 页)
79
+
72
80
  ### vlanif-routing — VLAN 间路由(三层交换机)
73
81
 
74
82
  - **英文名**:Inter-VLAN routing with a layer-3 switch
@@ -103,6 +111,11 @@ ensp up ospf-single.topo
103
111
  生成:`ensp preset vlanif-routing --topo vlanif-routing.topo`
104
112
  - 验收:`ensp verify vlanif-routing --topology vlanif-routing.topo`(2 条断言)
105
113
 
114
+ **教材章节**
115
+ - HCIA · VLAN 配置实验(手册第 21 页)
116
+ - HCIA · 直连路由实验(手册第 65 页)
117
+ - HCIA · 园区网络综合实验(手册第 220 页)
118
+
106
119
  ### stp-rstp — STP / RSTP 生成树
107
120
 
108
121
  - **英文名**:STP and RSTP
@@ -138,6 +151,10 @@ ensp up ospf-single.topo
138
151
  生成:`ensp preset stp-rstp --topo stp-rstp.topo`
139
152
  - 验收:`ensp verify stp-rstp --topology stp-rstp.topo`(2 条断言)
140
153
 
154
+ **教材章节**
155
+ - HCIA · 生成树配置实验(手册第 41 页)
156
+ - HCIP · RSTP 与MSTP 实验(手册第 167 页)
157
+
141
158
  ### link-aggregation — 链路聚合 Eth-Trunk
142
159
 
143
160
  - **英文名**:Link aggregation
@@ -166,6 +183,9 @@ ensp up ospf-single.topo
166
183
  生成:`ensp preset link-aggregation --topo link-aggregation.topo`
167
184
  - 验收:`ensp verify link-aggregation --topology link-aggregation.topo`(1 条断言)
168
185
 
186
+ **教材章节**
187
+ - HCIA · 以太网链路聚合实验(手册第 54 页)
188
+
169
189
  ### port-security — 端口安全与 MAC 限制
170
190
 
171
191
  - **英文名**:Port security and MAC limits
@@ -195,6 +215,10 @@ ensp up ospf-single.topo
195
215
  生成:`ensp preset port-security --topo port-security.topo`
196
216
  - 验收:`ensp verify port-security --topology port-security.topo`(1 条断言)
197
217
 
218
+ **教材章节**
219
+ - HCIP · 网络准入控制实验(手册第 11 页)
220
+ - HCIP · 以太网交换安全实验(手册第 91 页)
221
+
198
222
  ### port-isolation — 端口隔离与 MUX VLAN
199
223
 
200
224
  - **英文名**:Port isolation and MUX VLAN
@@ -224,6 +248,9 @@ ensp up ospf-single.topo
224
248
  生成:`ensp preset port-isolation --topo port-isolation.topo`
225
249
  - 验收:`ensp verify port-isolation --topology port-isolation.topo`(无专门断言,逐条跑本场景的验证命令)
226
250
 
251
+ **教材章节**
252
+ - HCIP · VLAN 高级技术实验(手册第 79 页)
253
+
227
254
  ### super-vlan — VLAN 聚合(Super-VLAN)
228
255
 
229
256
  - **英文名**:Super-VLAN and sub-VLANs
@@ -259,6 +286,10 @@ ensp up ospf-single.topo
259
286
  生成:`ensp preset super-vlan --topo super-vlan.topo`
260
287
  - 验收:`ensp verify super-vlan --topology super-vlan.topo`(1 条断言)
261
288
 
289
+ **教材章节**
290
+ - HCIA · VLAN 配置实验(手册第 21 页)
291
+ - HCIP · VLAN 高级技术实验(手册第 79 页)
292
+
262
293
  ### static-route — 静态路由与默认路由
263
294
 
264
295
  - **英文名**:Static and default routes
@@ -296,6 +327,10 @@ ensp up ospf-single.topo
296
327
  生成:`ensp preset static-route --topo static-route.topo`
297
328
  - 验收:`ensp verify static-route --topology static-route.topo`(1 条断言)
298
329
 
330
+ **教材章节**
331
+ - HCIA · 静态路由实验(手册第 72 页)
332
+ - HCIA · 园区网络综合实验(手册第 220 页)
333
+
299
334
  ### rip — RIPv1 / RIPv2
300
335
 
301
336
  - **英文名**:RIP versions 1 and 2
@@ -375,6 +410,10 @@ ensp up ospf-single.topo
375
410
  生成:`ensp preset ospf-single --topo ospf-single.topo`
376
411
  - 验收:`ensp verify ospf-single --topology ospf-single.topo`(2 条断言)
377
412
 
413
+ **教材章节**
414
+ - HCIA · OSPF 配置实验(手册第 101 页)
415
+ - HCIP · OSPF 基础实验(手册第 7 页)
416
+
378
417
  ### dhcp — DHCP 服务(含中继)
379
418
 
380
419
  - **英文名**:DHCP server and relay
@@ -409,6 +448,10 @@ ensp up ospf-single.topo
409
448
  生成:`ensp preset dhcp --topo dhcp.topo`
410
449
  - 验收:`ensp verify dhcp --topology dhcp.topo`(1 条断言)
411
450
 
451
+ **教材章节**
452
+ - HCIA · IP 地址自动配置实验(手册第 88 页)
453
+ - HCIP · DHCP 实验(手册第 230 页)
454
+
412
455
  ### acl-filter — ACL 访问控制
413
456
 
414
457
  - **英文名**:ACL filtering
@@ -442,6 +485,10 @@ ensp up ospf-single.topo
442
485
  生成:`ensp preset acl-filter --topo acl-filter.topo`
443
486
  - 验收:`ensp verify acl-filter --topology acl-filter.topo`(1 条断言)
444
487
 
488
+ **教材章节**
489
+ - HCIA · ACL 配置实验(手册第 129 页)
490
+ - HCIA · NAT 配置实验(手册第 156 页)
491
+
445
492
  ### aaa-local — 本地 AAA 与设备登录
446
493
 
447
494
  - **英文名**:Local AAA and device login
@@ -475,6 +522,11 @@ ensp up ospf-single.topo
475
522
  生成:`ensp preset aaa-local --topo aaa-local.topo`
476
523
  - 验收:`ensp verify aaa-local --topology aaa-local.topo`(1 条断言)
477
524
 
525
+ **教材章节**
526
+ - HCIA · 文件管理实验(手册第 136 页)
527
+ - HCIA · 远程登录实验(手册第 144 页)
528
+ - HCIP · 网络准入控制实验(手册第 11 页)
529
+
478
530
  ### vrrp-basics — VRRP 网关冗余
479
531
 
480
532
  - **英文名**:VRRP gateway redundancy
@@ -516,6 +568,10 @@ ensp up ospf-single.topo
516
568
  生成:`ensp preset vrrp-basics --topo vrrp-basics.topo`
517
569
  - 验收:`ensp verify vrrp-basics --topology vrrp-basics.topo`(2 条断言)
518
570
 
571
+ **教材章节**
572
+ - HCIP · RSTP 与MSTP 实验(手册第 167 页)
573
+ - HCIP · VRRP 实验(手册第 219 页)
574
+
519
575
  ### network-management — 网络管理(SNMP / NTP / Syslog)
520
576
 
521
577
  - **英文名**:Network management with SNMP, NTP and syslog
@@ -554,6 +610,12 @@ ensp up ospf-single.topo
554
610
  生成:`ensp preset network-management --topo network-management.topo`
555
611
  - 验收:`ensp verify network-management --topology network-management.topo`(1 条断言)
556
612
 
613
+ **教材章节**
614
+ - HCIA · 文件管理实验(手册第 136 页)
615
+ - HCIA · 远程登录实验(手册第 144 页)
616
+ - HCIA · 网络编程自动化实验(可选)(手册第 179 页)
617
+ - HCIE · 网络开放可编程(手册第 441 页)
618
+
557
619
 
558
620
  ## 进阶
559
621
 
@@ -593,6 +655,10 @@ ensp up ospf-single.topo
593
655
  生成:`ensp preset mstp-load-balance --topo mstp-load-balance.topo`
594
656
  - 验收:`ensp verify mstp-load-balance --topology mstp-load-balance.topo`(无专门断言,逐条跑本场景的验证命令)
595
657
 
658
+ **教材章节**
659
+ - HCIA · 生成树配置实验(手册第 41 页)
660
+ - HCIP · RSTP 与MSTP 实验(手册第 167 页)
661
+
596
662
  ### ospf-multi-area — OSPF 多区域与 ABR
597
663
 
598
664
  - **英文名**:OSPF multi-area and ABR
@@ -632,6 +698,9 @@ ensp up ospf-single.topo
632
698
  生成:`ensp preset ospf-multi-area --topo ospf-multi-area.topo`
633
699
  - 验收:`ensp verify ospf-multi-area --topology ospf-multi-area.topo`(2 条断言)
634
700
 
701
+ **教材章节**
702
+ - HCIP · OSPF 基础实验(手册第 7 页)
703
+
635
704
  ### ospf-stub-nssa — OSPF 特殊区域(Stub / NSSA)
636
705
 
637
706
  - **英文名**:OSPF stub and NSSA
@@ -669,6 +738,9 @@ ensp up ospf-single.topo
669
738
  生成:`ensp preset ospf-stub-nssa --topo ospf-stub-nssa.topo`
670
739
  - 验收:`ensp verify ospf-stub-nssa --topology ospf-stub-nssa.topo`(2 条断言)
671
740
 
741
+ **教材章节**
742
+ - HCIP · OSPF 基础实验(手册第 7 页)
743
+
672
744
  ### ospf-lsa-types — OSPF LSA 类型与区域过滤
673
745
 
674
746
  - **英文名**:OSPF LSA types and area filtering
@@ -717,6 +789,9 @@ ensp up ospf-single.topo
717
789
  生成:`ensp preset ospf-lsa-types --topo ospf-lsa-types.topo`
718
790
  - 验收:`ensp verify ospf-lsa-types --topology ospf-lsa-types.topo`(无专门断言,逐条跑本场景的验证命令)
719
791
 
792
+ **教材章节**
793
+ - HCIP · OSPF 基础实验(手册第 7 页)
794
+
720
795
  ### ospf-virtual-link — OSPF 虚连接
721
796
 
722
797
  - **英文名**:OSPF virtual link
@@ -757,6 +832,9 @@ ensp up ospf-single.topo
757
832
  生成:`ensp preset ospf-virtual-link --topo ospf-virtual-link.topo`
758
833
  - 验收:`ensp verify ospf-virtual-link --topology ospf-virtual-link.topo`(无专门断言,逐条跑本场景的验证命令)
759
834
 
835
+ **教材章节**
836
+ - HCIP · OSPF 基础实验(手册第 7 页)
837
+
760
838
  ### ospf-troubleshooting — OSPF 邻居排障
761
839
 
762
840
  - **英文名**:OSPF neighbour troubleshooting
@@ -800,6 +878,11 @@ ensp up ospf-single.topo
800
878
  生成:`ensp preset ospf-troubleshooting --topo ospf-troubleshooting.topo`
801
879
  - 验收:`ensp verify ospf-troubleshooting --topology ospf-troubleshooting.topo`(无专门断言,逐条跑本场景的验证命令)
802
880
 
881
+ **教材章节**
882
+ - HCIA · 网络故障排除实验(手册第 188 页)
883
+ - HCIP · IGP 高级特性实验(手册第 6 页)
884
+ - HCIE · IPv4 路由技术(手册第 10 页)
885
+
803
886
  ### nat — NAT(源 NAT / NAT Server)
804
887
 
805
888
  - **英文名**:NAT source and server
@@ -836,6 +919,11 @@ ensp up ospf-single.topo
836
919
  生成:`ensp preset nat --topo nat.topo`
837
920
  - 验收:`ensp verify nat --topology nat.topo`(1 条断言)
838
921
 
922
+ **教材章节**
923
+ - HCIA · ACL 配置实验(手册第 129 页)
924
+ - HCIA · NAT 配置实验(手册第 156 页)
925
+ - HCIP · 防火墙技术实验(手册第 208 页)
926
+
839
927
  ### ppp-hdlc — HDLC 与 PPP(含 PPPoE)
840
928
 
841
929
  - **英文名**:HDLC and PPP
@@ -907,6 +995,12 @@ ensp up ospf-single.topo
907
995
  生成:`ensp preset ipv6 --topo ipv6.topo`
908
996
  - 验收:`ensp verify ipv6 --topology ipv6.topo`(2 条断言)
909
997
 
998
+ **教材章节**
999
+ - HCIA · IPv6 地址配置实验(手册第 118 页)
1000
+ - HCIP · IPv6 实验(手册第 52 页)
1001
+ - HCIE · IPv6 路由技术(手册第 91 页)
1002
+ - HCIE · SRv6 实验(手册第 399 页)
1003
+
910
1004
  ### dhcp-snooping — DHCP Snooping 与 IPSG
911
1005
 
912
1006
  - **英文名**:DHCP snooping and IPSG
@@ -943,6 +1037,12 @@ ensp up ospf-single.topo
943
1037
  生成:`ensp preset dhcp-snooping --topo dhcp-snooping.topo`
944
1038
  - 验收:`ensp verify dhcp-snooping --topology dhcp-snooping.topo`(1 条断言)
945
1039
 
1040
+ **教材章节**
1041
+ - HCIA · IP 地址自动配置实验(手册第 88 页)
1042
+ - HCIP · 网络准入控制实验(手册第 11 页)
1043
+ - HCIP · 以太网交换安全实验(手册第 91 页)
1044
+ - HCIP · DHCP 实验(手册第 230 页)
1045
+
946
1046
  ### arp-security — ARP 安全(防欺骗与防攻击)
947
1047
 
948
1048
  - **英文名**:ARP security
@@ -978,6 +1078,9 @@ ensp up ospf-single.topo
978
1078
  生成:`ensp preset arp-security --topo arp-security.topo`
979
1079
  - 验收:`ensp verify arp-security --topology arp-security.topo`(无专门断言,逐条跑本场景的验证命令)
980
1080
 
1081
+ **教材章节**
1082
+ - HCIP · 以太网交换安全实验(手册第 91 页)
1083
+
981
1084
  ### qos-basics — QoS 分类标记与队列
982
1085
 
983
1086
  - **英文名**:QoS classification, marking and queues
@@ -1051,6 +1154,10 @@ ensp up ospf-single.topo
1051
1154
  生成:`ensp preset wlan-basic --topo wlan-basic.topo`
1052
1155
  - 验收:`ensp verify wlan-basic --topology wlan-basic.topo`(无专门断言,逐条跑本场景的验证命令)
1053
1156
 
1157
+ **教材章节**
1158
+ - HCIA · WAC+FIT AP 组网实验(手册第 164 页)
1159
+ - HCIP · WLAN 实验(手册第 242 页)
1160
+
1054
1161
  ### ospfv3-ipv6 — OSPFv3 与 IPv6 双栈
1055
1162
 
1056
1163
  - **英文名**:OSPFv3 and IPv6 dual stack
@@ -1092,6 +1199,12 @@ ensp up ospf-single.topo
1092
1199
  生成:`ensp preset ospfv3-ipv6 --topo ospfv3-ipv6.topo`
1093
1200
  - 验收:`ensp verify ospfv3-ipv6 --topology ospfv3-ipv6.topo`(1 条断言)
1094
1201
 
1202
+ **教材章节**
1203
+ - HCIA · IPv6 地址配置实验(手册第 118 页)
1204
+ - HCIP · IPv6 实验(手册第 52 页)
1205
+ - HCIE · IPv6 路由技术(手册第 91 页)
1206
+ - HCIE · SRv6 实验(手册第 399 页)
1207
+
1095
1208
  ### isis-multi-level — IS-IS 多级别与默认路由注入
1096
1209
 
1097
1210
  - **英文名**:IS-IS levels and default-route injection
@@ -1136,6 +1249,11 @@ ensp up ospf-single.topo
1136
1249
  生成:`ensp preset isis-multi-level --topo isis-multi-level.topo`
1137
1250
  - 验收:`ensp verify isis-multi-level --topology isis-multi-level.topo`(2 条断言)
1138
1251
 
1252
+ **教材章节**
1253
+ - HCIP · IGP 高级特性实验(手册第 6 页)
1254
+ - HCIP · IS-IS 基础实验(手册第 75 页)
1255
+ - HCIE · IPv4 路由技术(手册第 10 页)
1256
+
1139
1257
 
1140
1258
  ## 高级
1141
1259
 
@@ -1178,6 +1296,9 @@ ensp up ospf-single.topo
1178
1296
  生成:`ensp preset bgp-ebgp-ibgp --topo bgp-ebgp-ibgp.topo`
1179
1297
  - 验收:`ensp verify bgp-ebgp-ibgp --topology bgp-ebgp-ibgp.topo`(2 条断言)
1180
1298
 
1299
+ **教材章节**
1300
+ - HCIP · BGP 实验(手册第 89 页)
1301
+
1181
1302
  ### bgp-attributes — BGP 选路属性
1182
1303
 
1183
1304
  - **英文名**:BGP attributes and path selection
@@ -1221,6 +1342,10 @@ ensp up ospf-single.topo
1221
1342
  生成:`ensp preset bgp-attributes --topo bgp-attributes.topo`
1222
1343
  - 验收:`ensp verify bgp-attributes --topology bgp-attributes.topo`(无专门断言,逐条跑本场景的验证命令)
1223
1344
 
1345
+ **教材章节**
1346
+ - HCIP · BGP 高级特性实验(手册第 27 页)
1347
+ - HCIP · 路由策略与路由控制实验(手册第 154 页)
1348
+
1224
1349
  ### bgp-aggregation — BGP 路由聚合与团体属性
1225
1350
 
1226
1351
  - **英文名**:BGP aggregation and communities
@@ -1264,6 +1389,10 @@ ensp up ospf-single.topo
1264
1389
  生成:`ensp preset bgp-aggregation --topo bgp-aggregation.topo`
1265
1390
  - 验收:`ensp verify bgp-aggregation --topology bgp-aggregation.topo`(无专门断言,逐条跑本场景的验证命令)
1266
1391
 
1392
+ **教材章节**
1393
+ - HCIP · BGP 高级特性实验(手册第 27 页)
1394
+ - HCIP · BGP 实验(手册第 89 页)
1395
+
1267
1396
  ### bgp-troubleshooting — BGP 邻居排障
1268
1397
 
1269
1398
  - **英文名**:BGP neighbour troubleshooting
@@ -1306,6 +1435,11 @@ ensp up ospf-single.topo
1306
1435
  生成:`ensp preset bgp-troubleshooting --topo bgp-troubleshooting.topo`
1307
1436
  - 验收:`ensp verify bgp-troubleshooting --topology bgp-troubleshooting.topo`(无专门断言,逐条跑本场景的验证命令)
1308
1437
 
1438
+ **教材章节**
1439
+ - HCIA · 网络故障排除实验(手册第 188 页)
1440
+ - HCIP · BGP 高级特性实验(手册第 27 页)
1441
+ - HCIE · IPv4 路由技术(手册第 10 页)
1442
+
1309
1443
  ### stack-istack — 交换机堆叠与 iStack
1310
1444
 
1311
1445
  - **英文名**:Switch stacking and iStack
@@ -1389,6 +1523,9 @@ ensp up ospf-single.topo
1389
1523
  生成:`ensp preset route-policy-pbr --topo route-policy-pbr.topo`
1390
1524
  - 验收:`ensp verify route-policy-pbr --topology route-policy-pbr.topo`(无专门断言,逐条跑本场景的验证命令)
1391
1525
 
1526
+ **教材章节**
1527
+ - HCIP · 路由策略与路由控制实验(手册第 154 页)
1528
+
1392
1529
  ### bgp-route-reflector — BGP 路由反射器与联盟
1393
1530
 
1394
1531
  - **英文名**:BGP route reflector and confederation
@@ -1427,6 +1564,9 @@ ensp up ospf-single.topo
1427
1564
  生成:`ensp preset bgp-route-reflector --topo bgp-route-reflector.topo`
1428
1565
  - 验收:`ensp verify bgp-route-reflector --topology bgp-route-reflector.topo`(2 条断言)
1429
1566
 
1567
+ **教材章节**
1568
+ - HCIP · BGP 实验(手册第 89 页)
1569
+
1430
1570
  ### ipsec-vpn — IPsec VPN
1431
1571
 
1432
1572
  - **英文名**:IPsec VPN
@@ -1510,6 +1650,9 @@ ensp up ospf-single.topo
1510
1650
  生成:`ensp preset multicast-pim-sm --topo multicast-pim-sm.topo`
1511
1651
  - 验收:`ensp verify multicast-pim-sm --topology multicast-pim-sm.topo`(2 条断言)
1512
1652
 
1653
+ **教材章节**
1654
+ - HCIP · 组播实验(手册第 179 页)
1655
+
1513
1656
  ### firewall-zones — 防火墙安全域与策略
1514
1657
 
1515
1658
  - **英文名**:Firewall zones and security policies
@@ -1553,6 +1696,9 @@ ensp up ospf-single.topo
1553
1696
  生成:`ensp preset firewall-zones --topo firewall-zones.topo`
1554
1697
  - 验收:`ensp verify firewall-zones --topology firewall-zones.topo`(无专门断言,逐条跑本场景的验证命令)
1555
1698
 
1699
+ **教材章节**
1700
+ - HCIP · 防火墙技术实验(手册第 208 页)
1701
+
1556
1702
  ### bfd-fast-convergence — BFD 快速故障检测
1557
1703
 
1558
1704
  - **英文名**:BFD fast failure detection
@@ -1596,6 +1742,10 @@ ensp up ospf-single.topo
1596
1742
  生成:`ensp preset bfd-fast-convergence --topo bfd-fast-convergence.topo`
1597
1743
  - 验收:`ensp verify bfd-fast-convergence --topology bfd-fast-convergence.topo`(无专门断言,逐条跑本场景的验证命令)
1598
1744
 
1745
+ **教材章节**
1746
+ - HCIP · IGP 高级特性实验(手册第 6 页)
1747
+ - HCIE · IPv4 路由技术(手册第 10 页)
1748
+
1599
1749
  ### mpls-basic — MPLS 标签转发
1600
1750
 
1601
1751
  - **英文名**:MPLS label switching
@@ -1641,6 +1791,13 @@ ensp up ospf-single.topo
1641
1791
  生成:`ensp preset mpls-basic --topo mpls-basic.topo`
1642
1792
  - 验收:`ensp verify mpls-basic --topology mpls-basic.topo`(2 条断言)
1643
1793
 
1794
+ **教材章节**
1795
+ - HCIP · VXLAN 与EVPN 实验(手册第 38 页)
1796
+ - HCIP · BGP/MPLS IP VPN 实验(手册第 105 页)
1797
+ - HCIE · MPLS VPN(手册第 52 页)
1798
+ - HCIE · EVPN(手册第 71 页)
1799
+ - HCIE · SR-MPLS 实验(手册第 336 页)
1800
+
1644
1801
  ### mpls-l3vpn — BGP/MPLS L3VPN
1645
1802
 
1646
1803
  - **英文名**:BGP/MPLS L3VPN
@@ -1688,6 +1845,12 @@ ensp up ospf-single.topo
1688
1845
  生成:`ensp preset mpls-l3vpn --topo mpls-l3vpn.topo`
1689
1846
  - 验收:`ensp verify mpls-l3vpn --topology mpls-l3vpn.topo`(2 条断言)
1690
1847
 
1848
+ **教材章节**
1849
+ - HCIP · BGP/MPLS IP VPN 实验(手册第 105 页)
1850
+ - HCIE · MPLS VPN(手册第 52 页)
1851
+ - HCIE · SR-MPLS 实验(手册第 336 页)
1852
+ - HCIE · SRv6 实验(手册第 399 页)
1853
+
1691
1854
  ### dual-homed-isp — 双出口多运营商选路
1692
1855
 
1693
1856
  - **英文名**:Dual-homed ISP egress
@@ -1729,6 +1892,9 @@ ensp up ospf-single.topo
1729
1892
  生成:`ensp preset dual-homed-isp --topo dual-homed-isp.topo`
1730
1893
  - 验收:`ensp verify dual-homed-isp --topology dual-homed-isp.topo`(无专门断言,逐条跑本场景的验证命令)
1731
1894
 
1895
+ **教材章节**
1896
+ - HCIE · 广域互联网络部署(手册第 257 页)
1897
+
1732
1898
  ### firewall-hrp — 防火墙双机热备(HRP)
1733
1899
 
1734
1900
  - **英文名**:Firewall HA with HRP
@@ -1819,6 +1985,12 @@ ensp up ospf-single.topo
1819
1985
  生成:`ensp preset spine-leaf-vxlan --topo spine-leaf-vxlan.topo`
1820
1986
  - 验收:`ensp verify spine-leaf-vxlan --topology spine-leaf-vxlan.topo`(无专门断言,逐条跑本场景的验证命令)
1821
1987
 
1988
+ **教材章节**
1989
+ - HCIP · VXLAN 与EVPN 实验(手册第 38 页)
1990
+ - HCIE · EVPN(手册第 71 页)
1991
+ - HCIE · VXLAN 实验(手册第 111 页)
1992
+ - HCIE · VXLAN 虚拟化园区部署(手册第 153 页)
1993
+
1822
1994
  ### ipsec-gre-tunnel — IPsec 与 GRE 隧道组合
1823
1995
 
1824
1996
  - **英文名**:IPsec over GRE and tunnel backup
@@ -1861,6 +2033,10 @@ ensp up ospf-single.topo
1861
2033
  生成:`ensp preset ipsec-gre-tunnel --topo ipsec-gre-tunnel.topo`
1862
2034
  - 验收:`ensp verify ipsec-gre-tunnel --topology ipsec-gre-tunnel.topo`(无专门断言,逐条跑本场景的验证命令)
1863
2035
 
2036
+ **教材章节**
2037
+ - HCIE · MPLS VPN(手册第 52 页)
2038
+ - HCIE · 广域互联网络部署(手册第 257 页)
2039
+
1864
2040
  ### wlan-roaming — WLAN 漫游与 AC 高可用
1865
2041
 
1866
2042
  - **英文名**:WLAN roaming and AC redundancy
@@ -1900,6 +2076,11 @@ ensp up ospf-single.topo
1900
2076
  生成:`ensp preset wlan-roaming --topo wlan-roaming.topo`
1901
2077
  - 验收:`ensp verify wlan-roaming --topology wlan-roaming.topo`(无专门断言,逐条跑本场景的验证命令)
1902
2078
 
2079
+ **教材章节**
2080
+ - HCIA · WAC+FIT AP 组网实验(手册第 164 页)
2081
+ - HCIP · WLAN 实验(手册第 242 页)
2082
+ - HCIE · VXLAN 虚拟化园区部署(手册第 153 页)
2083
+
1903
2084
  ### campus-network — 园区网综合(双核心 + 接入 + 出口)
1904
2085
 
1905
2086
  - **英文名**:Campus network (dual core, access, edge)
@@ -1950,3 +2131,6 @@ ensp up ospf-single.topo
1950
2131
 
1951
2132
  生成:`ensp preset campus-network --topo campus-network.topo`
1952
2133
  - 验收:`ensp verify campus-network --topology campus-network.topo`(无专门断言,逐条跑本场景的验证命令)
2134
+
2135
+ **教材章节**
2136
+ - HCIA · 园区网络综合实验(手册第 220 页)
@@ -10,8 +10,7 @@ Automation for Huawei eNSP: generate topologies, boot devices, push configuratio
10
10
  - Checks that every device image is installed before launching, and names the missing component instead of letting eNSP open the topology and quit silently
11
11
  - Runs seven preflight checks (images, ports, memory, input injection), each with a stated fix, then verifies the scenario against what the devices actually report
12
12
  - Must run elevated, with the eNSP window visible (see the run-permissions section in the repository documentation)
13
+ - Each scenario points at the vendor manual chapter that teaches it, with that chapter's goals and the display commands it uses to prove the result; the index is searchable
13
14
  - Usable as a CLI, an MCP server, or a DeepSeek Harness plugin
14
15
 
15
- Scroll down and open "dsh-ensp>" under the included components to reach its settings.
16
-
17
16
  Full documentation: [repository](https://github.com/lizi600jin/dsh-ensp#readme).
@@ -10,8 +10,7 @@
10
10
  - 启动前检查机型镜像是否齐全,缺镜像时说明缺失组件,避免 eNSP 打开后静默退出
11
11
  - 提供七项环境自检(镜像、端口、内存、输入注入能力),逐条给出结论与修法;配置下发后按场景断言验收
12
12
  - 需要以管理员身份运行,并保持 eNSP 窗口可见(详见仓库文档“运行权限”)
13
+ - 场景附带厂商实验手册的章节索引:该章的学习目标与官方用来验证结果的 display 命令,可按关键词检索
13
14
  - 提供 CLI、MCP Server 与 DeepSeek Harness 插件三种调用方式
14
15
 
15
- 向下翻页后点击“包含的组件”内的“dsh-ensp>”进入设置界面。
16
-
17
16
  完整说明见 [仓库文档](https://github.com/lizi600jin/dsh-ensp#readme)。
package/locale/en.json ADDED
@@ -0,0 +1,7 @@
1
+ {
2
+ "meta": {
3
+ "title": "Huawei eNSP labs",
4
+ "description": "Builds eNSP topologies, boots the devices and pushes configuration with verification.",
5
+ "detail": "docs/plugin-detail.en.md"
6
+ }
7
+ }
package/locale/zh.json ADDED
@@ -0,0 +1,7 @@
1
+ {
2
+ "meta": {
3
+ "title": "华为 eNSP 实验台",
4
+ "description": "生成 eNSP 拓扑、启动设备,并逐条下发配置后验收结果。",
5
+ "detail": "docs/plugin-detail.zh.md"
6
+ }
7
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-ensp",
3
- "version": "0.5.1",
3
+ "version": "0.7.0",
4
4
  "description": "Automate Huawei eNSP labs: generate .topo files, start and stop devices, and push configuration one command at a time with per-command error reporting.",
5
5
  "keywords": [
6
6
  "dsh",
@@ -15,6 +15,7 @@
15
15
  ],
16
16
  "type": "module",
17
17
  "license": "GPL-3.0-or-later",
18
+ "icon": "./assets/icon.webp",
18
19
  "main": "./src/dsh/index.mjs",
19
20
  "exports": {
20
21
  ".": "./src/dsh/index.mjs",
@@ -27,7 +28,9 @@
27
28
  "./provision": "./src/core/provision.mjs",
28
29
  "./presets": "./src/core/presets.mjs",
29
30
  "./calibrate": "./src/core/calibrate.mjs",
30
- "./mcp": "./src/mcp/server.mjs"
31
+ "./mcp": "./src/mcp/server.mjs",
32
+ "./package.json": "./package.json",
33
+ "./locale/*.json": "./locale/*.json"
31
34
  },
32
35
  "bin": {
33
36
  "ensp": "src/cli/ensp.mjs",
@@ -35,6 +38,8 @@
35
38
  },
36
39
  "files": [
37
40
  "src",
41
+ "locale/*.json",
42
+ "assets/icon.webp",
38
43
  "docs",
39
44
  "scripts",
40
45
  "cordis.patch.yml",
@@ -48,14 +53,19 @@
48
53
  "probe": "node src/cli/ensp.mjs probe",
49
54
  "docs": "node scripts/gen-scenarios-doc.mjs",
50
55
  "docs:check": "node scripts/gen-scenarios-doc.mjs --check",
51
- "knowledge": "node scripts/gen-knowledge.mjs"
56
+ "knowledge": "node scripts/gen-knowledge.mjs",
57
+ "curriculum": "node scripts/gen-curriculum.mjs"
52
58
  },
53
59
  "engines": {
54
- "node": ">=18"
60
+ "node": ">=18",
61
+ "dsh": ">=0.2.0 <0.3.0"
55
62
  },
56
63
  "dsh": {
57
64
  "bundle": {
58
- "patch": "./cordis.patch.yml"
65
+ "patch": "./cordis.patch.yml",
66
+ "platforms": [
67
+ "win32"
68
+ ]
59
69
  }
60
70
  },
61
71
  "author": {