mirror of
https://github.com/GNS3/gns3-server.git
synced 2026-09-02 16:15:15 +03:00
Add comprehensive roadmap for implementing Jinja2 template-based configuration with Human-in-the-Loop confirmations. Key features: - Three-step HITL workflow (Template → Parameters → Execute) - 70-80% token savings for multi-device configurations - Enhanced safety through human review at each step - Template reusability across projects Implementation plan: - Phase 1: Core MVP (3-5 days) - Phase 2: UX Enhancement (2-3 days) - Phase 3: Template Library (2-3 days) - Phase 4: Advanced Features (3-4 days)
168 lines
5.8 KiB
Markdown
168 lines
5.8 KiB
Markdown
# 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`](./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:
|
|
|
|
1. **Implementation:** Add documentation to `implemented/` when feature is complete
|
|
2. **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](https://api.gns3.com/)
|
|
- [GNS3 Web UI Documentation](https://docs.gns3.com/)
|
|
- [LangGraph Documentation](https://langchain-ai.github.io/langgraph/)
|
|
- [FastAPI Documentation](https://fastapi.tiangolo.com/)
|
|
|
|
## Quick Links
|
|
|
|
- **Current Feature Branch:** `feature/ai-copilot-bridge`
|
|
- **Main Branch:** `master`
|
|
- **Issue Tracker:** [GitHub Issues](https://github.com/GNS3/gns3-server/issues)
|
|
|
|
---
|
|
|
|
_Last updated: 2026-03-20_
|