Major documentation improvements: Reduced Code Content (~60% reduction): - Simplified Core Components section with concept-focused descriptions - Condensed Large-Scale Topology section (kept concepts, removed implementation) - Streamlined Node Creation Templates (kept workflows, removed tool code) - Simplified Technical Considerations (kept diagrams, removed code) - Streamlined Testing Strategy (kept test cases, removed test code) Added Comprehensive Diagrams: - System Architecture Overview (4-layer architecture) - HITL State Transition Diagram (complete workflow with interrupts) - REST API Endpoints (6 new endpoints with request/response formats) - SSE Progress Stream (real-time event types) - Data Flow Diagram (7-step process from user to results) - Error Handling Flow (4 error types with recovery strategies) - Template Lifecycle Management (5 stages from DRAFT to ARCHIVED) - Automatic Layout Strategies (4 layout types with visual examples) - Auto-Linking Strategies (4 link pattern types with diagrams) - Security Considerations (3-layer validation approach) - Error Categories (4 error types with recovery flows) - Testing Strategy (unit, integration, E2E test scenarios) Benefits: - Easier to understand for non-technical stakeholders - Focus on concepts and workflows rather than implementation - Visual documentation aids comprehension - Maintained all critical technical information - Improved readability and structure
GNS3 AI Copilot Documentation
This directory contains design documentation, implementation guides, and future plans for the GNS3 AI Copilot feature.
Directory Structure
docs/gns3-copilot/
├── README.md # This file
├── template-based-configuration-roadmap.md # Future: Template-based config with HITL
└── implemented/ # Implemented features and designs
├── chat-api.md # Chat API design (SSE, session management)
├── llm-model-configs.md # LLM model configuration system
├── command-security.md # Command security and filtering
├── context-window-management.md # Context window optimization
├── node-control-tools.md # Node start/stop/suspend tools for lab automation
└── multi-vendor-device-support.md # Multi-vendor device support (Cisco, Huawei)
Implemented Features
Chat API (implemented/chat-api.md)
The core Chat API that enables AI-powered conversations within GNS3 projects.
Key Features:
- Server-Sent Events (SSE) for streaming responses
- Project-level session isolation
- Session management (CRUD operations)
- Statistics tracking (messages, tokens, LLM calls)
- User-level LLM configuration
Status: ✅ Implemented
LLM Model Configs (implemented/llm-model-configs.md)
Multi-level LLM model configuration system.
Key Features:
- System-wide defaults
- Group-level configurations
- User-level overrides
- Runtime parameter adjustment
- Model provider abstraction
Status: ✅ Implemented
Command Security (implemented/command-security.md)
Security framework for AI-generated commands.
Key Features:
- Command filtering and validation
- Dangerous operation detection
- HITL (Human-in-the-Loop) confirmations
- Audit logging
Status: ✅ Implemented
Context Window Management (implemented/context-window-management.md)
Optimization strategies for handling large project contexts.
Key Features:
- Intelligent content filtering
- Token usage optimization
- Summary generation
- Context compression
Status: ✅ Implemented
Node Control Tools (implemented/node-control-tools.md)
Tools for controlling network device lifecycle in GNS3 projects.
Key Features:
- Start nodes with progress tracking
- Quick start for automated workflows
- Stop nodes for lab shutdown
- Batch operations support
- Mode-based access control
Status: ✅ Implemented
Multi-Vendor Device Support (implemented/multi-vendor-device-support.md)
Multi-vendor network device support with custom Netmiko drivers for Huawei, Ruijie, and VPCS devices.
Key Features:
- Custom HuaweiTelnetCE driver for Huawei CloudEngine (no authentication)
- Custom RuijieTelnetEnhanced driver for Ruijie OS (interactive command handling)
- Custom VPCSTelnet driver for VPCS simulator (no authentication, ANSI code stripping)
- Cisco IOS Telnet support
- Dynamic device type detection from GNS3 tags
- Unified Nornir + Netmiko architecture
- Vendor-specific command handling (VRP system-view, Ruijie interactive prompts, VPCS simple prompts)
Tested Vendors:
- Cisco IOS (Telnet)
- Huawei CloudEngine (Telnet, custom driver)
- Ruijie (锐捷) OS (Telnet, custom enhanced driver)
- VPCS (Virtual PC Simulator, Telnet, custom driver)
Status: ✅ Implemented
Future Enhancements
Template-Based Configuration with HITL (template-based-configuration-roadmap.md)
Status: 💡 Proposed | Target: Next Release
A revolutionary approach to network device configuration using Jinja2 templates with Human-in-the-Loop confirmations.
Key Features:
- Three-step HITL workflow (Template → Parameters → Execute)
- 70-80% token savings for multi-device configurations
- Template reusability across projects
- Human review at every critical step
- Configuration preview before execution
Benefits:
- Massive token cost reduction
- Enhanced safety through human oversight
- Template library for common configurations
- Multi-vendor support (Cisco, Huawei, H3C, etc.)
Implementation Timeline:
- Phase 1: Core MVP (3-5 days) - Basic template workflow
- Phase 2: UX Enhancement (2-3 days) - Review interfaces, preview
- Phase 3: Template Library (2-3 days) - Pre-built templates, caching
- Phase 4: Advanced Features (3-4 days) - Multi-vendor, composition, analytics
See template-based-configuration-roadmap.md for complete details.
Other Proposed Features
- Vision-based Topology Creation: Create network topologies from images/diagrams
- Enhanced HITL Workflows: Advanced confirmation patterns for other operations
- Web UI Enhancements: Improved management interfaces
- Configuration Diff & Comparison: Compare configurations across devices
- Rollback & Undo: Revert configuration changes
Contributing
When adding new documentation:
- Implementation: Add documentation to
implemented/when feature is complete - Naming: Use concise names like
{feature}.md
Document Status Legend
| Status | Description |
|---|---|
| ✅ Implemented | Feature is fully implemented and deployed |
| 📋 Design Complete | Design is done, awaiting implementation |
| 🚧 In Progress | Currently being implemented |
| 💡 Proposed | Initial idea or proposal |
Related Documentation
- GNS3 Server API Documentation
- GNS3 Web UI Documentation
- LangGraph Documentation
- FastAPI Documentation
Quick Links
- Current Feature Branch:
feature/ai-copilot-bridge - Main Branch:
master - Issue Tracker: GitHub Issues
Last updated: 2026-03-20