Adding New Vendor Support
Relevant source files
The following files were used as context for generating this wiki page:
Overview
The AI Network Operations Platform is a self-hosted assistant designed for network engineering teams to manage multi-vendor environments through plain English interactions. It provides a unified way to handle discovery, troubleshooting, configuration management, and DDI (DNS, DHCP, and IPAM) across a wide array of infrastructure providers.
The platform functions by using a standardized connector for each vendor. No matter whether you are talking to a Cisco router, a Juniper switch, or a BlueCat Address Manager, the platform normalizes the output into a consistent format before doing anything with it. This allows the AI to reason about your network regardless of the underlying hardware or software.
Key Features and Support
- Vendors Supported: Cisco (IOS, IOS-XE, NX-OS), Juniper (JunOS), Arista (EOS), Palo Alto (PAN-OS), Fortinet (FortiOS), F5 (BIG-IP), BlueCat, Infoblox, AWS, Azure, and VMware.
- Design Philosophy: Local-first and self-hosted for security, with a requirement that a human approves every network change. All AI reasoning is visible and audited.
- Specialized Agents: The platform acts as a team of specialized members. The Master Architect routes your question to the right specialist, such as the Discovery Agent (for inventory), Troubleshooting Agent (for faults), or DDI Agent (for DNS/DHCP).
Sources: CLAUDE.md:1-40, README.md:1-25, backend/app/llm/prompts/init.py:230-300
Architecture
The platform is built as a modular system consisting of seven core components that work together to provide the AI Network Engineer experience.
Platform Components
- frontend: The operations console where you interact with the chat, view the topology map, and approve changes.
- api: The central brain that handles requests, checks permissions, and manages agent sessions.
- worker: The background engine that runs discovery jobs, takes configuration backups, and captures packets without blocking your session.
- postgres: The system of record that stores all your inventory, credentials, and audit logs.
- neo4j: A living topology map that tracks how every device, interface, subnet, DNS zone, and application connects to everything else.
- redis: A temporary storage area used to coordinate background tasks and speed up the platform.
- ollama: An optional component that provides local AI reasoning so your network data never has to leave your premises.
Sources: README.md:27-40, deploy/docker/README.md:8-16, deploy/kubernetes/netops/Chart.yaml:3-10
Deployment Options
- Docker Compose: Ideal for labs or small teams. It runs the entire platform on a single server using a simple configuration file.
- Kubernetes/Helm: Designed for production environments. This allows the platform to run across multiple nodes, ensuring it remains available even if one server fails.
Sources: README.md:46-55, deploy/kubernetes/netops/Chart.yaml:12-18
System Overview Diagram
This diagram shows how users interact with the platform and how the platform connects to your infrastructure and AI providers.
Sources: CLAUDE.md:17-40, README.md:27-40
Adding a New Vendor Plugin
Adding support for a new vendor involves creating a plugin that translates that vendor's specific command outputs into the platform's normalized format. This "normalized" data is what the agents use to understand the network.
Data Normalization and Parsers
For a vendor like Cisco NX-OS, the platform uses specific parsers to turn raw text (like show ip route) into structured data objects. These parsers often use templates to find specific pieces of information, such as IP addresses, interface names, or BGP states.
| Component | Purpose | Example (Cisco NX-OS) |
|---|---|---|
| Facts Parser | Identifies the device model, serial, and OS version. | show version |
| Interface Parser | Gathers status, IP addresses, and speeds for every port. | show interface |
| Route Parser | Extracts the routing table, including next hops and VRFs. | show ip route vrf all |
| Neighbor Parser | Identifies connected devices via LLDP or CDP. | show lldp neighbors detail |
Sources: backend/app/plugins/vendors/cisco_nxos/parsers.py:1-40, backend/pyproject.toml:75-85
Agent Routing Flow
When you ask a question, the Master Architect determines which specialized agent should handle it based on the vendor and the goal.
Change Approval Workflow
Every time the AI suggests a change (like adding a DNS record or modifying a firewall policy), it must go through an approval process. The platform never makes a change autonomously.
The Lifecycle of a Change
- Draft: The AI agent creates a proposed change based on your request.
- Pending Approval: The change appears in the "Approvals" section of the console for a human to review.
- Approved: A second human verifies the change and authorizes execution.
- Executing: The platform takes a pre-change configuration backup and then applies the change.
- Completed/Rollback: If the change is successful, it is logged as completed. If it fails, the platform can use the backup to roll back.
Sources: README.md:1-15, CLAUDE.md:65-75, deploy/docker/README.md:55-65
Change Approval Diagram
This diagram shows the path a request takes from the initial prompt to final execution on a network device.
Sources: README.md:5-15, CLAUDE.md:85-95
Network Topology Data Model
The platform builds a "living map" of your network in the Neo4j database. This allows it to understand relationships that are hard to see in spreadsheets, such as which VLANs are trunked to which switches or which applications depend on specific DNS records.
How Data Relates
The platform tracks several key entities and how they connect:
- Device: A physical or virtual router, switch, or firewall.
- Interface: A specific port on a device.
- Subnet: An IP network range.
- VLAN: A Layer 2 broadcast domain.
- DNS Zone/Record: Naming information for the network.
Conclusion
Adding support for a new vendor requires mapping that vendor's unique language into the platform's unified data model. By following the plugin architecture and utilizing normalized parsers, the platform ensures that its suite of AI agents can troubleshoot and manage any infrastructure provider while maintaining a strict "human-in-the-loop" security posture for all network changes.