Security Enhancement: - API keys are now always filtered to null in all LLM config API responses - Created LLMModelConfigDataWithoutSecret schema for response validation - Added _filter_api_key_from_config() helper in API routes - Modified repository to always hide api_key in get_user_effective_configs() - Update/create operations still accept and store api_key securely Documentation Updates: - Updated API key visibility section to reflect new security policy - Updated all response examples to show api_key as null - Marked max_tokens field as reserved for future use - Added "Reserved Fields" section explaining unused fields This defense-in-depth approach prevents API keys from being leaked through logs, browser devtools, or network monitoring.
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
└── 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 driver for Huawei devices.
Key Features:
- Custom HuaweiTelnetCE driver for GNS3 emulation (no authentication)
- Cisco IOS Telnet support
- Dynamic device type detection from GNS3 tags
- Automatic Nornir group generation
- VRP-specific command handling (system-view, return confirmation)
Tested Vendors:
- Cisco IOS (Telnet)
- Huawei CloudEngine (Telnet, custom driver)
Status: ✅ Implemented
Future Enhancements
The following features are currently under consideration or development:
- Configuration Templates: Template-based configuration generation for multi-vendor network devices
- Vision-based Topology Creation: Create network topologies from images/diagrams
- Enhanced HITL Workflows: Advanced Human-in-the-Loop confirmation patterns
- Web UI Enhancements: Improved management interfaces
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-12