mirror of
https://github.com/GNS3/gns3-server.git
synced 2026-11-03 05:51:15 +02:00
feat(agent): add gns3-copilot AI assistant integration module
Integrate the gns3-copilot AI assistant module to provide intelligent automation and interaction capabilities for GNS3 network emulation. Key components: - AI agent framework with LLM integration (supports Qwen vision model) - GNS3 client library for project topology management - Extensive prompt templates for various network operation scenarios - Tool library for node creation, linking, configuration, and management - Support for English level assessment (A1-C2) and specialized personas - Network drawing and topology visualization tools - Linux device automation via Nornir/Telnetlib - Window controller for UI interaction Features: - Multi-modal AI agent with vision capabilities - Automated network topology deployment and configuration - Interactive node and drawing management - File-based project operations (read, write, list) - Specialized prompts for different scenarios and skill levels - Comprehensive tool set for network device management
This commit is contained in:
1 parent
7a2d15cb64
commit
46b262a02c
62 files changed
+18114
No files matched your search
@@ -0,0 +1,50 @@
|
||||
"""
|
||||
FlowNet-Lab Public Model Package
|
||||
|
||||
This package provides reusable public models and utilities for GNS3 network automation tasks.
|
||||
It contains common functionality that can be shared across different tools and modules.
|
||||
|
||||
Main modules:
|
||||
- get_gns3_device_port: Device port information retrieval from GNS3 topology
|
||||
- parse_tool_content: Tool execution result parsing and formatting utilities
|
||||
|
||||
Author: Guobin Yue
|
||||
"""
|
||||
|
||||
# Import main utility functions
|
||||
from .app_config import (
|
||||
DEFAULT_CONFIG,
|
||||
get_all_config,
|
||||
get_config,
|
||||
init_config,
|
||||
reset_config,
|
||||
set_config,
|
||||
)
|
||||
from .get_gns3_device_port import get_device_ports_from_topology
|
||||
from .parse_tool_content import format_tool_response, parse_tool_content
|
||||
|
||||
# Dynamic version management
|
||||
try:
|
||||
from importlib.metadata import version
|
||||
|
||||
__version__ = version("gns3-copilot")
|
||||
except Exception:
|
||||
__version__ = "unknown"
|
||||
|
||||
__author__ = "Guobin Yue"
|
||||
__description__ = "AI-powered network automation assistant for GNS3"
|
||||
__url__ = "https://github.com/yueguobin/gns3-copilot"
|
||||
|
||||
|
||||
# Export main utility functions
|
||||
__all__ = [
|
||||
"DEFAULT_CONFIG",
|
||||
"get_config",
|
||||
"set_config",
|
||||
"get_all_config",
|
||||
"init_config",
|
||||
"reset_config",
|
||||
"get_device_ports_from_topology",
|
||||
"parse_tool_content",
|
||||
"format_tool_response",
|
||||
]
|
||||
Reference in new issue
Block a user