Skip to content

Releases: cisco-open/network-sketcher

V3.1.2n

Choose a tag to compare

@yuhsukeogawa yuhsukeogawa released this 14 May 09:35

Release date

  • Ver 3.1.2 -- 2026/5/14
  • Ver 3.1.2a -- 2026/5/19
    • Online (SVG mode): per-area thumbnails are now generated on demand from a new area dropdown, with per-(attribute, area) cache for instant re-display.
    • Online: new Device Tables HTML download with six tabs — L1 / L2 / L3 / Attribute / IP Address_Summary / IP Address_List (.nsm-only path).
    • Local MCP: new export_device_table_html tool; export_diagram gains an optional area argument (L1 / L3 require svg, L2 supports area for both formats).
    • CLI (nsm_cli.py): new --area option for export l1_diagram / export l3_diagram (svg only, per_area / per_area_tag).
  • Ver 3.1.2b -- 2026/5/20
    • AI Context (Online + Offline): added new RULE 11.5 — Endpoint device IP assignment clarifying that physical endpoints (servers / PCs / IoT / storage / hypervisor hosts) bind IPs directly to the L1 physical port (no SVI). Wireless APs remain the only endpoint-class device that uses an SVI.
    • Cross-references to RULE 11.5 added from RULE 11 / RULE 12 / RULE 15 so the new guidance is reachable from any related context.
  • Ver 3.1.2c -- 2026/5/26
    • Online (SVG mode): L2 All-Areas (overall) topology diagram is now natively supported — single-click renders every area at once, generated in parallel with the L1 / L3 All-Areas diagrams. The legacy threshold-based "Generate" button has been removed and L2 All-Areas is always produced alongside L1 / L3.
    • Online (SVG mode): combined L1/L2/L3 HTML viewer — clicking a thumbnail now opens a tabbed page with L1 Diagram / L2 Diagram / L3 Diagram tabs, each with mouse-wheel zoom and click-and-drag pan.
    • Online: Download Generated (ZIP) now bundles per-layer L1 / L2 / L3 SVG files alongside the combined [L1L2L3_DIAGRAM]*.html viewer (lightweight, area-scoped, and legacy modes).
    • Online: Placement tab — per-area sub-table title (area) Position renamed to (area) Position(L1,L2) to indicate the placement applies to both L1 and L2 diagrams.
    • Online: toolbar download button label ↓ svg(L1,L2,L3) renamed to ↓ html(L1,L2,L3) (matches the actual artifact format).
    • CLI (nsm_cli.py): new export combined_diagram subcommand — reuses on-disk per-layer SVGs and regenerates only what is missing.
    • Local MCP: build_default_outputs upgraded from 5 to 6 artifacts; combined_diagram now also produces [L1L2L3_DIAGRAM]AllAreas_*.html (tabbed viewer) in addition to the three per-layer SVGs, Device Table HTML, and AI Context.
    • README: Feature Support Matrix consolidated (21 rows → 15) by merging area / device / waypoint, Layer 1 connection, and Layer 2 / virtual-port rows that share the same support across all four editions.
  • Ver 3.1.2d -- 2026/5/26
    • Bug fix (Online + Offline + Local MCP): delete device / delete waypoint / delete area no longer leaves orphan rows in the L2 / L3 tables. The layer sync now builds a valid (Area, Device Name) set from POSITION_SHAPE and filters the merge so that entries pointing to deleted devices are dropped. Fixes the blank L3 diagram that could appear after multi-device deletion.
    • Defensive guard (Online + Offline + Local MCP): get_l2_broadcast_domains.run now skips entries when get_opposite_if() returns None or a short tuple, preventing a TypeError on orphaned / manually-edited masters.
    • Performance (Online + Offline + Local MCP): add area_location / update_area_with_map skip the L2 / L3 sync when no new areas are added (pure relocation), saving roughly 100-500 ms per call.
  • Ver 3.1.2e -- 2026/5/26
    • L3 layout (Online + Offline + Local MCP): the All Areas L3 topology diagram now compacts segments via interval-graph lane packing -- two L3 segments whose X ranges do not overlap now share the same row instead of stacking. Lower device rows, the area frame, and the outer outline shrink accordingly. On a representative master the outline height dropped roughly 0.75 inches (lane count 6 -> 4).
  • Ver 3.1.2f -- 2026/5/27
    • Bug fix (Online + Offline + Local MCP): the All Areas L3 topology diagram now detects residual same-Y segment overlaps that can remain after the lane packing + device shift passes, and automatically re-renders with corrected row assignments (up to 5 retries). Resolves the segment crossings that could still appear on dense masters in 3.1.2e.
    • Bug fix (Online + Local MCP, SVG only): the All Areas L3 SVG could render only a single waypoint shape on masters that triggered the new overlap-retry pass. The SVG path now correctly uses the mock Presentation during the retry pass and truncates captured shapes back to the pre-retry baseline before re-rendering, restoring the full diagram.
  • Ver 3.1.2g -- 2026/5/27
    • L3 layout (Online + Offline + Local MCP): in the All Areas L3 topology diagram, WayPoints in _wp_-only Area Position rows are now horizontally snapped to their leftmost connected device (center-aligned) instead of being placed at the row's natural left cascade. The snap automatically falls back to the natural position when it would overflow the diagram width.
    • Bug fix (Online + Offline + Local MCP): the new WayPoint X-snap performs a line-over-device safety check so it cannot re-introduce a previously resolved L3 connector crossing (observed on Sample.figure51 where the WAN-1 line could end up on top of WAN-1R1 after snap).
    • L3 layout (Online + Offline + Local MCP): widened the visual gap between L3 segment connectors and device edges (BUFFER 0.10" -> 0.20") for better legibility when devices are shifted to avoid line crossings.
  • Ver 3.1.2h -- 2026/5/29
    • Online: new Command Reference viewer in the CLI Commands box -- a searchable side drawer (Quoting / Show / Add / Delete / Rename) with per-command syntax, description, and one-click Insert (into the command box) / Copy. Commands that the Run action skips (e.g. export) are excluded from the list.
    • Online: new Copy Log button next to "View Log" copies the full run log (command + output per line) to the clipboard.
    • Bug fix (Online): the Run results now correctly mark a command as failed (red) when the engine reports failure via [Error] / Error: / a non-zero exit / known rejection messages. Previously several real failures (e.g. add device with a missing direction) were shown as success (green).
    • Online: restored right-click "Copy text" on device / area / port labels in the combined L1/L2/L3 SVG viewer (this was lost when the tabbed viewer replaced the single-SVG preview).
    • Online: Update Master panel layout tidy-up -- the LLM Prompt box is shown above CLI Commands and the vertical padding was reduced.
    • Bug fix (Online + Offline + Local MCP): the L1 All Areas diagram folder sizing now matches the Per-Area diagram. A stale-append bug in the folder-width calculation (and an All-Area vs Per-Area root-width mismatch) had made some areas render up to ~2x wider in All Areas than in Per-Area.
    • Bug fix (Online + Local MCP): the L2 All Areas diagram no longer lets devices (e.g. Br0X-Edge-RT / Access-SW) overflow past their area frame -- the up-direction virtual-port offset was being double-counted in the device-width calculation.
    • Online: help_msg.json help tooltips reconciled with current features (master upload accepts .xlsx and .nsm; removed stale entries that no longer have a UI).
  • Ver 3.1.2i -- 2026/6/5
    • Fixed an issue in the Online edition's Layer 2 overall configuration diagram where devices could sometimes extend beyond the area boundaries.
  • Ver 3.1.2j -- 2026/6/8
    • Added a configurable rendering quality level (2 or 3, default 3) for the Layer 3 overall configuration diagram in the Online and Local MCP editions, set via l3_render_quality in ns_web_config.json. Level 2 skips the device-shift / line-avoidance pass for faster rendering.
    • Fixed errors in the Append Flows and Device Flow table features (both Online and Offline editions) that could occur with master files generated by sna_to_nsm when the flow data omitted optional routing-path columns.
  • Ver 3.1.2k -- 2026/6/8
    • Bug fix (Online + Offline + Local MCP): Areas overlapped in the Layer 3 overall diagram.
  • Ver 3.1.2l -- 2026/6/9
    • Improved the rendering of the L3 overall configuration diagram.
    • Speed ​​up the execution of large numbers of commands in Local MCP.
  • Ver 3.1.2m -- 2026/6/10
    • Improved the rendering of the L3 overall configuration diagram.
  • Ver 3.1.2n -- 2026/7/11
    • Bug fix (Online): clicking a diagram preview after running CLI commands showed the diagram from before the commands. The preview, the combined L1/L2/L3 HTML, and the ZIP bundle now resolve the per-layer SVGs against the current master version instead of the oldest one left in the working directory.
    • Bug fix (Online): re-uploading a downloaded versioned master (e.g. [MASTER]<name>_1.nsm) silently rejected every command, because the new version collided with the source filename. Version numbering now advances until a free name is available, and a master name ending in digits (e.g. [MASTER]DC_2024.nsm) keeps its suffix.
    • Bug fix (Online): a run rejected before execution reported 0 command(s) failed. with no reason shown, and session restore offered the previous master version on the download button.
    • Bug fix (Online + Offline + Local MCP): corrected the typo Defalut -> Default when reading the L3 instance attribute in the L3 diagram generator, so VRF instance labels render correctly. Thanks to @fdmazzini (#62).

What's New in Ver 3.1.2

This is a maintenance and feature release focused on the Online edition's draw.io stencil export pipeline and a parser-level fix that affects all three editions.

image

<img width="1603" height="893" alt="image" src="https://github.com/user-attachments/assets/e78203d2-24dc-48b7-962d-31140e...

Read more

V3.1.0a

Choose a tag to compare

@yuhsukeogawa yuhsukeogawa released this 28 Apr 08:48

Release date

  • Ver 3.1.0a -- 2026/4/29

What's New in Ver 3.1.0a

image image

5min Demo video of the Local MCP edition.

The AI ​​agent Cursor autonomously creates a network using Network Sketcher's Local MCP functionality. It also simultaneously references best practices from other MCPs.

NS_310_view_2.mp4

Network Sketcher Local MCP (New)

A new third edition, Network Sketcher Local MCP, has been added.

AI-native edition: Network Sketcher Local MCP exposes the engine as a Model Context Protocol (MCP) server, enabling LLM clients such as Cursor and Claude Code to drive network design directly. This is the most direct AI integration of the three editions — no browser, no copy-paste.

  • The LLM calls add device ... and similar commands as Tool invocations (no copy-paste)
  • Reuses network-sketcher_online/ns_engine/ as a library (no code duplication; no changes to the existing _online / _offline folders)
  • stdio transport (designed for local operation)
  • .nsm-exclusive operation for performance (legacy .xlsx masters can be imported on first use)
  • Dynamic workspace management: the AI agent calls suggest_workspace() to discover OS-appropriate candidate directories, proposes one to the user, and set_workspace(path) activates it
  • Layout rules baked into the server instructions and AI Context (RULE 0 / 0.5 layout, RULE 3.5 multi-transport WAN waypoint design)
  • External MCP server cooperation policy — when other MCP servers (documentation/RAG, topology, ticket trackers, etc.) are registered alongside Local MCP, the Local MCP server instructions mandate the AI to consult them before issuing Network Sketcher mutations

Recommended LLM

  • Claude Opus 4.7 or later. The Local MCP edition relies heavily on multi-step tool calling, schema interpretation, and adherence to the layout / workflow rules embedded in the server instructions and AI Context. Weaker or older models may struggle with these workflows.

Connection Examples

Cursor and Claude Code use different configuration mechanisms, so the setup steps are split below. Pick the one that matches your client.

For Cursor

Add the following to the MCP configuration file (mcp.json):

{
  "mcpServers": {
    "network-sketcher": {
      "command": "python",
      "args": ["<absolute-path>/network-sketcher_local_mcp/ns_mcp_server.py"]
    }
  }
}

For Claude Code

Register the MCP server with the claude CLI. The -- (double dash) separator is required so that the script path is passed to python rather than parsed as a flag of claude mcp add:

# Local scope (default; current project only, stored in ~/.claude.json)
claude mcp add network-sketcher -- python "<absolute-path>/network-sketcher_local_mcp/ns_mcp_server.py"

# User scope (available across all your projects)
claude mcp add --scope user network-sketcher -- python "<absolute-path>/network-sketcher_local_mcp/ns_mcp_server.py"

# Project scope (shared with team via .mcp.json in project root)
claude mcp add --scope project network-sketcher -- python "<absolute-path>/network-sketcher_local_mcp/ns_mcp_server.py"

See the Claude Code MCP installation scopes documentation for details on each scope and when to use which.

Diagram Generation Bug Fixes

  • L3 diagram — Port-channel interface not rendered: Fixed a long-standing bug where Port-channel L3 interfaces between devices with different port types (e.g., TenGigabitEthernet to GigabitEthernet) were not registered as a broadcast group, so the resulting L3 diagram was missing those Po interfaces. Also fixed a related design flaw that could over-merge Port-channel 1 instances belonging to different device pairs (ns_def.py / nsm_def.py)
  • L1 SVG diagram — DC areas rendered too narrow: Fixed compute_folder_grid() so that header-row F values (column-width directives) are correctly parsed as initial column widths. SVG output now matches PPTX output (nsm_svg_compute.py and nsm_ddx_svg.py / nsm_ddx_svg_l2.py)
  • L2 PPTX diagram — content missing (only outer frame drawn): Fixed nsm_l1_diagram_create.py and nsm_l2_diagram_create.py where a recently-added 3-line block unconditionally preserved <<POSITION_FOLDER>> and broke row compression, so generated PPTX showed only the outer frame and the title was incorrectly rendered as [L1] All Areas for L2/L3 outputs

AI Context Improvements (Online + Offline + Local MCP)

  • New Quoting Rules preamble at the top of every AI Context — clarifies that all string arguments containing spaces must be wrapped in quotes (e.g., 'GigabitEthernet 0/0')
  • add area_location now rejects _AIR_ with an explicit error message; _AIR_ is a spacer placeholder for add device_location only
  • Waypoints are renamed via rename device (clarified in the documentation; no separate rename waypoint command exists)
  • RULE 3.5 — Multi-transport WAN waypoint design expanded with a complete worked example for shared physical paths and per-transport (Internet / MPLS / Direct Connect) virtualisation
  • The Sample-data AI Context (Sample_data/No_data_Master_file_with_AI_Context/[AI_Context]no_data.txt) is now regenerated against the latest ns_extensions_cmd_list.txt

Documentation

  • The root README.md now displays Network Sketcher Local MCP prominently at the top as the AI-native flagship edition, followed by Online and Offline
  • Three-edition comparison tables (Local MCP / Online / Offline) added across "What is Network Sketcher", Feature Support Matrix, and Installation sections
  • Repository directory layout diagram updated to include network-sketcher_local_mcp/

Read me

>> Read me (GitHub)

Installation

Local MCP

git clone https://github.com/cisco-open/network-sketcher/
cd network-sketcher/network-sketcher_local_mcp
python -m pip install -r requirements_mcp.txt

Then register Network Sketcher in your MCP host (Cursor / Claude Code / etc.) using the JSON snippet above (or the claude mcp add CLI for Claude Code). The server is launched by the host on demand and waits on stdio.

Online

git clone https://github.com/cisco-open/network-sketcher/
cd network-sketcher/network-sketcher_online
python3 -m pip install -r requirements_online.txt
cd ..
python3 start_ns_online.py

Open the URL shown at startup (default: https://localhost:5443) in your browser.

  • To serve on a specific network interface, edit host and port in ns_web_config.json before starting the server.
  • If no SSL certificate exists, a self-signed certificate is auto-generated on first startup.
  • If you change the host IP / FQDN, manually delete the certificate files in Certs/ and restart the server.

Offline

git clone https://github.com/cisco-open/network-sketcher/
cd network-sketcher/network-sketcher_offline
python3 -m pip install -r requirements_offline.txt
python3 network_sketcher.py

Limitations

Local MCP

  • Single-user edition designed to run on a local PC.
  • Only stdio transport is supported (HTTP / SSE not supported).
  • Diagram generation for large networks may take some time.
  • LLM clients cannot directly view binary output (PPTX / SVG); if visual feedback is needed, the user should open the generated SVG directly.
  • Verification status: End-to-end verified in Cursor (the primary tested host). Claude Code support follows the published MCP specification but is design-validated only at this release; please report any issues you encounter.

Online

  • Designed for use on internal networks only. Not intended for deployment on the public internet.
  • IPv4 only. IPv6 is not supported.
  • Excel (.xlsx) and PowerPoint (.pptx) files cannot be synced back to the master file. All editing is performed through CLI commands generated by an LLM.

Offline

  • IPv4 only. IPv6 is not supported.
  • A DEVICE file contains multiple sheets, but only one sheet should be updated at a time. Simultaneous synchronization of multiple sheet updates is not supported.
  • Do not use Network Sketcher on master files in your One Drive folder.
  • Deleting Layer 1 links using the GUI cannot identify individual interfaces and will delete more Layer 2 data than intended. Use the CLI command (delete l1_link) to delete Layer 1 links.

Feature Support Matrix

Feature Item Local MCP (LLM-driven CLI) Online Edition Offline Edition (GUI) Offline Edition (CLI)
Create master file from PowerPoint rough sketch
Convert master files from Visio, Draw.io, NetBox, CML
Area placement ✅ (user-specified) ✅ (user-specified) ✅ (automatic) ✅ (user-specified)
Create / delete / modify areas
Place / create / delete / modify devices
Place / create / delete / modify waypoints
Add Layer 1 connections
Delete Layer 1 connections ⚠️ (port cannot be specified)
Change Layer 1 port names
Change Layer 1 connection details (e.g., duplex)
Change Layer 2 segments (VLAN)
Add / delete virtual ports (SVI, loopback, port-channel)
Change IP addresses / Layer 3 instances (VRF)
Change attributes ...
Read more

V3.0.1h

Choose a tag to compare

@yuhsukeogawa yuhsukeogawa released this 05 Mar 09:59

Ver 3.0.1h

image image
NS_Online_User_Guide_301_en.mp4
NS_Online_User_Guide_301_jp.mp4

NS_Online_User_Guide_301_en.pdf

NS_Online_User_Guide_301_jp.pdf

Demo Video (Ver 3.0.1b)

A demo video of approximately 4 minutes, starting with the installation of Network Sketcher. This demo video demonstrates creating a network configuration using LLM from URL information and performing additional editing. No sound, no captions.

NS_Online_Demo_301_2_jp.mp4

Release date

  • Ver 3.0.1 -- 2026/4/8
  • Ver 3.0.1a -- 2026/4/8 - Fixed a bug in SVG mode where creating the second and subsequent Per Area images would fail.
  • Ver 3.0.1b -- 2026/4/9 - Fixed incorrect rename attribute_bulk command documentation (examples had an erroneous leading ' before [[ causing parse errors); improved LLM quoting guidance for all bulk commands in both Online and Offline editions.
  • Ver 3.0.1c -- 2026/4/14 - Removed residual debug logging code from nsm_l3_svg_create.py that was writing an unexpected debug-c67278.log file to the project root.
  • Ver 3.0.1d -- 2026/4/15 - Fixed multiple rendering issues in L2/L3 PPTX and SVG modes; fixed SVG thumbnail click-to-display issue where clicking a thumbnail immediately after it appeared did not show the image in the SVG viewer tab (race condition between browser image cache and onload handler).
  • Ver 3.0.1e -- 2026/4/22 - Added CLI command shorthands for LLM token efficiency: [] accepted as shorthand for [255, 255, 255] (white) in rename attribute_bulk; '' accepted as shorthand for '_AIR_' in add device_location; trailing empty attributes in rename attribute_bulk can be omitted and are auto-filled. Fixed show area_location documentation to match actual output (blank spacing is auto-managed and not shown).
  • Ver 3.0.1f -- 2026/4/22 - Added SVG diagram text right-click copy (inline SVG rendering with context menu and clipboard); fixed XLSX multiple download bug (event listener accumulation); fixed XLSX Master_Data section order; XLSX download now includes version suffix (e.g., _1.xlsx) consistent with .nsm naming.
  • Ver 3.0.1g -- 2026/4/23 - Added _ALL_ wildcard and multi-device list support for rename port_info_bulk (applies settings to all ports of a device, or multiple devices at once); fixed L3 AllAreas SVG thumbnail blank issue when using "Create New Master File" followed by CLI commands.
  • Ver 3.0.1h -- 2026/4/23 - Added port name list support for add l2_segment_bulk and rename port_info_bulk (specify a list of port names as entry[1] to apply the same Speed/Duplex/Port_Type to multiple ports at once, reducing LLM token usage); added rename attribute_bulk parser hardening to tolerate extra trailing quotes in LLM-generated commands.

What's New in Ver 3.0.1

SVG Mode (New)

A new SVG Mode has been added to Network Sketcher Online as the default output mode.

  • All diagrams (L1/L2/L3, All Areas and Per Area) are generated in parallel and displayed as thumbnails in the browser — no need to download individual files
  • Approximately 30x faster than the existing PPTX mode
  • Master files are stored internally in the high-performance .nsm format (ZIP + Parquet), which significantly reduces I/O overhead for large configurations
  • For compatibility with the Offline edition, master files can also be downloaded in .xlsx format
  • PPTX mode remains available as an alternative output mode

Performance Measurement Summary (Online)

Ver: 3.0.1 (SVG Mode) 64 NW devices
112 Connections
256 NW devices
480 Connections
1024 NW devices
1984 Connections
4096 NW devices
8064 Connections
Master file creation *1 4s 4s 26s 8m 12s
Creation of all configuration diagrams, device tables, and AI Context files 3s 7s 58s 15m 42s

*1 Reflect only L1 information in the no_data master file. Connect adjacent devices. Measure command execution time.

Test environment: Intel Core Ultra 7 (1.70 GHz), 32.0 GB RAM, Windows 11 Enterprise

UI Improvements (Online)

  • Download Generated (ZIP) button is now visible from the moment a master file is uploaded in SVG mode; grayed out during generation and re-enabled upon completion
  • CLI command execution results are now collapsed by default; expandable via "Show results" link
  • Master File download options now correctly show .xlsx / .nsm selectors after CLI command execution
  • Fixed: AI Context File "Generating..." spinner not clearing after "Create New Master File" in SVG mode

Security Improvements (Online)

  • Fixed path traversal vulnerability in the file upload handler (os.path.basename() now applied)
  • Replaced eval() with ast.literal_eval() to prevent code injection from malicious master files
  • Removed excessive debug print() statements that could expose internal paths in server logs

Other Improvements (Online)

  • CLI command parsing now correctly handles python3 (in addition to python and python.exe) on Mac OS and Linux
  • Server Management Scripts (start_ns_online.py, stop_ns_online.py) descriptions updated for accuracy

What's New in Ver 3.0.0

Network Sketcher Online

Network Sketcher Online — a browser-based web service edition has been added.

AI-native software: Network Sketcher Online is designed around AI (LLM) interaction — generate AI context, send it to an LLM, and paste the resulting commands back to update your network design, all within the browser.

  • Upload master files via drag-and-drop in a web browser
  • Generate L1/L2/L3 diagrams, device files, and AI context files with selectable outputs
  • In-browser preview for PowerPoint (.pptx) and Excel (.xlsx) files without requiring Office software
  • Copy AI context to clipboard and open LLM with one click
  • Describe desired changes in a prompt field; the AI context + prompt is copied together for LLM interaction
  • Update master files by pasting CLI commands from LLM output (Update Master)
  • Create new master files from scratch via the web UI
  • Parallel processing for faster diagram generation
  • Attribute-based device coloring for L1 and L3 diagrams
  • Multi-user support — multiple users can access simultaneously via browser
  • Session persistence across browser refreshes with automatic cleanup
  • All uploaded and generated files are automatically deleted after the session ends — no data is retained on the server
  • HTTPS enforced with auto-generated self-signed certificates
  • All settings managed via ns_web_config.json

Project Structure Change

Since Ver 3.0.0, Network Sketcher provides two editions:

  • Network Sketcher Online — Browser-based web service (new in Ver 3.0.0)
  • Network Sketcher Offline — Desktop GUI + CLI (same as Network Sketcher Ver 2.6.3a). Runs independently with the network-sketcher_offline/ folder alone.
network-sketcher/
├── network-sketcher_online/    # Online edition — Web service (browser-based)
├── network-sketcher_offline/   # Offline edition — GUI + CLI (standalone desktop app)
├── README.md
├── LICENSE
└── ...

Comparison: Online vs. Offline

Online (Web Service) Offline (GUI + CLI)
Interface Web browser Desktop GUI / Command-line
Key dependencies Python + Flask Python + tkinter
Multi-user Multiple users via browser Single user
Client requires Web browser only Python runtime environment
AI-native design Yes No
Internal data storage No No
External communication Yes No
Tested platforms Windows (Mac OS, Linux untested) Windows, Mac OS, Linux
Folder network-sketcher_online/ network-sketcher_offline/

External Communication

Source Target Protocol
Client PC NS Online HTTPS
Client PC Configured LLM HTTPS

Read me

>> Read me (GitHub)

Installation

Online

git clone https://github.com/cisco-open/network-sketcher/
cd network-sketcher/network-sketcher_online
python3 -m pip install -r requirements_online.txt
cd ..
python3 start_ns_online.py

Open the URL shown at startup (default: https://localhost:5443) in your browser.

  • To serve on a specific network interface, edit the host and port settings in ns_web_config.json before starting the server.
  • If no SSL certificate exists, a self-signed certificate is auto-generated on first startup.
  • If you change the host IP address or other settings in ns_web_config.json, manually delete the SSL certificate files in the Certs/ folder and restart the server. A new certificate matching the updated settings will be auto-generated.
  • If the fqdn setting in ns_web_config.json is configured, the auto-generated SSL certificate's Commo...
Read more

V2.6.2j

Choose a tag to compare

@yuhsukeogawa yuhsukeogawa released this 21 Jan 07:24
image



- Video
Full_Version_link(Youtube)

Ver2_6_2_demo2.mp4

Ver262_demo.zip

- Files
For more detailed information, please refer to the PDF file below.

[English]

Network Sketcher ver2_6_2_en.pdf

[Japanese]

Network Sketcher ver2_6_2_jp.pdf

Release date

  • Ver 2.6.2 -- 2026/1/21
  • Ver 2.6.2a -- 2026/1/22 -- Modified "add portchannel_bulk" command.
  • Ver 2.6.2b -- 2026/1/22 -- Modified "add l1_link_bulk" , "add device_location" command.
  • Ver 2.6.2c -- 2026/1/26 -- Improved the drawing quality of Layer 2 configuration diagram.
  • Ver 2.6.2d -- 2026/1/27 -- Improved the drawing quality of Layer 3 configuration diagram.
  • Ver 2.6.2e -- 2026/1/27 -- Improved CLI Window display position.
  • Ver 2.6.2f -- 2026/1/28 -- Improved the drawing quality of [DEVICE] file.
  • Ver 2.6.2g -- 2026/1/28 -- added "rename port_info_bulk" command. AI_context_file updates to Beta7.
  • Ver 2.6.2h -- 2026/1/29 -- Improved the drawing quality of attribute sheet in [DEVICE] file. A small addition to the AI context file.
  • Ver 2.6.2i -- 2026/1/29 -- Fixed special characters failing to print when executing commands.
  • Ver 2.6.2j -- 2026/1/29 -- Fixed a bug where IP addresses were deleted when executing vport and l2_segment commands.

New Features

  • The GUI for command input was added so that the user did not need to enter the file path, so the number of commands was significantly reduced.
  • 5 commands added
  • Update AI Context to Beta 6

Performance Measurement Summary

GUI vs. CLI Feature Support Matrix

Feature Item GUI CLI (AI Context)
Create master file from PowerPoint rough sketch
Convert master files from Visio, Draw.io, NetBox, CML
Area placement ✅ (automatic) ✅ (user-specified)
Create / delete / modify areas
Place / create / delete / modify devices
Place / create / delete / modify waypoints
Add Layer 1 connections
Delete Layer 1 connections ⚠️ (port cannot be specified)
Change Layer 1 port names
Change Layer 1 connection details (e.g., duplex)
Change Layer 2 segments (VLAN)
Add / delete virtual ports (SVI, loopback, port-channel)
Change IP addresses / Layer 3 instances (VRF)
Change attributes
Add / delete VPNs
Flow management
Export various reports
Export empty master files (no data)
Export AI context files
Export device files
Generate L1/L2/L3 topology diagrams

Read me

User Guide

Language Link
English Link
Japanese Link

Compatibility

  • 2.x -> 2.6.2
    • In order to use the commands added in Ver 2.6.2 with master files created before Ver 2.6.0, you must first edit “3-1. Add/delete areas, devices, and wirings". Essentially, this is a procedure to reflect the changes, but by synchronizing the exported Layer 1 PerArea configuration diagram with the master file without changing it, the master file will be updated to the version 2.6.2 specifications. The commands added in Ver 2.6.2 are needed to execute the commands on the general-purpose AI (LLM).

V2.6.1e

Choose a tag to compare

@yuhsukeogawa yuhsukeogawa released this 11 Dec 04:13
image



- Video
[English]

Network.Sketcher.ver2_6_1_en.mp4

[Japanese]

Network.Sketcher.ver2_6_1_jp.mp4

NoLang (no-lang.com) Otologic (https://otologic.jp/) CC BY 4.0

- Files

[English]

Network Sketcher ver2_6_1_jp.pdf

[Japanese]
Network Sketcher ver2_6_1_en.pdf

Release date

  • Ver 2.6.1 -- 2025/12/11
  • Ver 2.6.1a -- 2025/12/11 -- Fixed the parameters of the drawing logic of the L1L2 configuration diagram.
  • Ver 2.6.1b -- 2025/12/23
    • Speeding up configuration diagram generation
    • Correction of L3 configuration diagram errors
    • Changed the creation of L3 configuration diagram to one pattern
    • tkinterdnd2-universal is no longer required. For MAC OS, please install tkdnd additionally.
    • Update AI Context to Beta 5
  • Ver 2.6.1c -- 2025/12/24 -- Fixed segment creation logic rollback
  • Ver 2.6.1d -- 2025/12/25
    • Layer 3 diagram improvements
    • Fixed an issue where some attribute information of Layer 2 interfaces was lost when changing the device layout from the GUI.
    • Update AI Context to Beta 5a
  • Ver 2.6.1e -- 2025/12/26 -- Fixed a bug where adding or deleting an L2 segment using CLI commands would not synchronize with the Layer 3 interface.

New Features

  • Added the ability to create network configurations from scratch using LLM
  • 14 commands added
  • Update AI Context to Beta 4
  • Improved the drawing logic of L1L2 configuration diagram.

Performance Measurement Summary

Ver: 2.6.1b 64 NW devices
112 Connections
(~500 endpoints)
256 NW devices
480 Connections
(~3000 endpoints)
1024 NW devices
1984 Connections
(~10000 endpoints)
Master file creation *1 51s 2m45s 25m45s
Layer 1 diagram generation (All Areas with tags) 6s 29s 6m30s
Layer 2 diagram generation 13s 51s 6m53s
Layer 3 diagram generation (All Areas) 10s 56s 14m23s
Device file export 19s 1m4s 5m14s

*1 Reflect only L1 information in the no_data master file. Connect adjacent devices. Measure command execution time.

Test environment: Intel Core Ultra 7 (1.70 GHz), 32.0 GB RAM, Windows 11 Enterprise

GUI vs. CLI Feature Support Matrix

Feature Item GUI CLI (AI Context)
Create master file from PowerPoint rough sketch
Convert master files from Visio, Draw.io, NetBox, CML
Area placement ✅ (automatic) ✅ (user-specified)
Create / delete / modify areas
Place / create / delete / modify devices
Place / create / delete / modify waypoints
Add Layer 1 connections
Delete Layer 1 connections ⚠️ (port cannot be specified)
Change Layer 1 port names
Change Layer 1 connection details (e.g., duplex)
Change Layer 2 segments (VLAN)
Add / delete virtual ports (SVI, loopback, port-channel)
Change IP addresses / Layer 3 instances (VRF)
Change attributes
Add / delete VPNs
Flow management
Export various reports
Export empty master files (no data)
Export AI context files
Export device files
Generate L1/L2/L3 topology diagrams

Read me

User Guide

Language Link
English Link
Japanese Link

Compatibility

  • 2.x -> 2.6.1
    • In order to use the commands added in Ver 2.6.1 with master files created before Ver 2.6.0, you must first edit “3-1. Add/delete areas, devices, and wirings". Essentially, this is a procedure to reflect the changes, but by synchronizing the exported Layer 1 PerArea configuration diagram with the master file without changing it, the master file will be updated to the version 2.6.1 specifications. The commands added in Ver 2.6.1 are needed to execute the commands on the general-purpose AI (LLM).
    • Ver2.6.1, but there is a possibility that changing data will result in an error, so it is recommended to use version 2.6.1 or later.
    • Areas and waypoints can now be freely placed with the "add area_location" command of the CLI. Meanwhile, you can create a master file from rough sketches using the GUI, as described in 3-1. when you add or delete areas, devices, and connections, the layout of areas and waypoints is automated. Therefore, if you want to maintain the locations of the areas and waypoints specified in the CLI's "add area_location", refer to "3-1. Use the CLI instead of "Add/delete Areas, Devices, and Connections".

V2.6.0f

Choose a tag to compare

@yuhsukeogawa yuhsukeogawa released this 06 Nov 07:11
image



- Video

Convert.data.from.other.systems.into.master.files_jp.mp4
Convert.data.from.other.systems.into.master.files_en.mp4

- Files

Convert data from other systems into master files_jp.pdf
Convert data from other systems into master files_en.pdf

  • Release date
    • Ver 2.6.0 -- 2025/11/6
    • Ver 2.6.0a -- 2025/11/7 Added documents
    • Ver 2.6.0b -- 2025/11/8 Bug fixed #54 - File path concatenation error causes 'No such file or directory'
    • Ver 2.6.0c -- 2025/11/9 Fixed a bug that caused an error when starting Network Sketcher on Ubuntu. The idlelib module, which was only used during debugging, has been removed from the code. Thank you very much for providing the problem.(https://zenn.dev/tanns_169/articles/e79f9a5bdf8715)
    • Ver 2.6.0d -- 2025/11/7 Fixed a bug where some objects were not converted when converting SVG exported from drawio to a master file.
    • Ver 2.6.0e -- 2025/11/17 When creating a master file from a NetBox CSV file, a process has been added to recognize disconnected groups, improving the display quality of the configuration diagram.
    • Ver 2.6.0f -- 2025/11/18
      1. We have fixed the issue where unnecessary lines were included and the position was shifted when generating a master file from an SVG file exported from drawio.
      2. File name changed. network_sketcher_dev.py -> ns_dev.py, network_sketcher_cli.py -> ns_cli.py

New Features

Network Sketcher Ver 2.6.0 now supports master file conversion from Visio, draw.io, NetBox, and CML data to Network Sketcher.

Add below topic
1-5. Examples of general-purpose AI (LLM) usage (config creation, config reflection, analysis, etc.)

A-1. How to convert PPT diagrams to other formats(Visio, draw.io and Excel)

Read me

User Guide

Language Link
English Link
Japanese Link

Compatibility

  • 2.x -> 2.6.x
    • Master files of Ver2.x can be used with Ver2.6.0 and later
    • Flow information is automatically added to the master file when the flow file is reflected in the master file.

V2.5.5

Choose a tag to compare

@yuhsukeogawa yuhsukeogawa released this 23 Oct 08:17

Network Sketcher AI Guide_Beta3_JP.pdf

Network.Sketcher.AI.Guide_Beta3_JP.mp4

Network Sketcher AI Guide_Beta3_EN.pdf

Network.Sketcher.AI.Guide_Beta3_EN.mp4
  • Release date
    • Ver 2.5.5 -- 2025/10/23

New Features

Supports sub- interfaces
Supports VRF (Virtual Router)
Automatically input the file path to the creation command

Changes to attributes, VPNs, and flows are not supported. Changing the wiring or adding or removing devices is not supported. Network Sketcher itself does not provide AI functionality, but rather utilizes general-purpose LLMs such as Chat GPT and Gemini. Always make a backup of the master file before executing a command that changes the master file.

  • Add the following CLI Add/Delete/rename commands:

add vport_l1if_direct_bound
add vport_l2_direct_bound
delete vport_l1if_direct_bound
delete vport_l2_direct_bound
rename area
rename l3_instance

  • Other bug fixes
    Corrected the phenomenon that the interface position on the Layer 2 configuration diagram is shifted

Read me

User Guide

Language Link
English Link
Japanese Link

Compatibility

  • 2.x -> 2.5.5
    • Master files of Ver2.x can be used with Ver2.5.0 and later
    • Flow information is automatically added to the master file when the flow file is reflected in the master file.

Others

Known, Resolved Bug

V2.5.4a

Choose a tag to compare

@yuhsukeogawa yuhsukeogawa released this 09 Oct 09:51
image
jp_70506fbc-1598-4950-8660-9dbb96bc10a0.mp4
en_8c67aca1-723b-46c6-9a40-1a349c17b920.mp4

NoLang (no-lang.com)
Otologic (https://otologic.jp/) CC BY 4.0

Network Sketcher AI Guide_JP.pdf

Network Sketcher AI Guide_EN.pdf

image

  • Release date
    • Ver 2.5.4 -- 2025/10/9
    • Ver 2.5.4a -- 2025/10/16 - Fixed a bug in the exe file created by pyinstaller.

New Features

  • Export AI Context (Beta 2)
    Support for generating commands to change data in master files has been added. Changes to areas, L3 instances, VPNs, and flows are not supported. Network Sketcher itself does not provide AI functionality, but rather utilizes general-purpose LLMs such as Chat GPT and Gemini. Always make a backup of the master file before executing a command that changes the master file.

  • Add the following CLI Add/Delete/rename commands:
    add portchannel
    delete portchannel
    rename device
    rename port

Read me

User Guide

Language Link
English Link
Japanese Link

Compatibility

  • 2.x -> 2.5.4
    • Master files of Ver2.x can be used with Ver2.5.0 and later
    • Flow information is automatically added to the master file when the flow file is reflected in the master file.

Others

Known, Resolved Bug

V2.5.3a

Choose a tag to compare

@yuhsukeogawa yuhsukeogawa released this 11 Sep 09:38
f5b9c3b9-1c70-4597-aa35-bd2a5ae23fcb.mp4

NoLang (no-lang.com)
Otologic (https://otologic.jp/) CC BY 4.0

image

  • Release date
    • Ver 2.5.3a -- 2025/9/16 -- Bug fixed [ns-bug-022]
    • Ver 2.5.3 -- 2025/9/11

New Features

Add the following CLI Add/Delete commands:
add ip_address
add l2_segment
add virtual_port
delete ip_address
delete l2_segment
delete virtual_port

Read me

User Guide

Language Link
English Link
Japanese Link

Compatibility

  • 2.x -> 2.5.3
    • Master files of Ver2.x can be used with Ver2.5.0 and later
    • Flow information is automatically added to the master file when the flow file is reflected in the master file.

Others

Known, Resolved Bug

V2.5.2

Choose a tag to compare

@yuhsukeogawa yuhsukeogawa released this 09 Jun 08:24
0bec057e-c5e7-4c09-8663-bad312ab58df.mp4

NoLang (no-lang.com)
Otologic (https://otologic.jp) CC BY 4.0

image

  • Release date
    • Ver 2.5.2 -- 2025/6/9

New Features

  1. Added ability to export AI Context to interact with LLM
    image

Read me

User Guide

Language Link
English Link
Japanese Link

Compatibility

  • 2.x -> 2.5.2
    • Master files of Ver2.x can be used with Ver2.5.0 and later
    • Flow information is automatically added to the master file when the flow file is reflected in the master file.

Others

Known, Resolved Bug