| Core Version | |
| Vendors | |
| Management | |
| Integrations | |
| On-Request | |
| Vendors | |
| Management | |
| Integrations | |
| Stats | |
| Performance |
- π aiNOC
- π Overview
- π Here's a Quick Demo
- β What's New in v5.5
- βοΈ Current Tech Stack
- π Supported Vendors
- π Supported Transports
- π Troubleshooting Scope
- π οΈ Installation & Usage
- π Test Network Topology
- π aiNOC Service Mode
- β¬οΈ Planned Upgrades
- β»οΈ Repository Lifecycle
- π Disclaimer
- π License
- π§ Collaborations
AI-based network troubleshooting framework for multi-vendor, multi-protocol, multi-area/multi-AS enterprise networks.
β«οΈ Key characteristics:
- Multi-vendor support
- Multi-protocol, L2/L3
- Multi-area/multi-AS
- CLI/RESTCONF (Core)
- NETCONF/REST/gNMI/eAPI
- 15 MCP tools, 4 skills
- 12 operational guardrails
- HITL for any config changes
- Dashboard for agent monitoring
- Discord integration
- Jira integration
- HashiCorp Vault
- NetBox
β«οΈ Core vs. On-Request features:
- Core:
- Easy to integrate in Cisco IOS/IOS-XE environments
- CLI, RESTCONF management, OSPF/BGP troubleshooting
- Jira, Discord, NetBox, HashiCorp Vault integration
- On-Request:
- Custom vendor modules (Arista, Juniper, MikroTik, etc.)
- Custom management (REST APIs, NETCONF, gNMI, eAPI)
- Built and adapted per client's network environment
β«οΈ aiNOC operating mode in v5.0+:
β«οΈ Important project files:
- See file roles
β«οΈ Agent guardrails list:
- See guardrails
β«οΈ Supported models:
- Haiku 4.5
- Sonnet 4.6
- Opus 4.6 (default, best reasoning)
β«οΈ Set your default model:
Create settings.json under .claude/:
{
"model":"opus",
"effortLevel":"medium"
}
β«οΈ High-level architecture:
- See a DEMO of aiNOC v5.5
- See changelog.md
| Tool | |
|---|---|
| Claude Code | β |
| MCP (FastMCP) | β |
| Python | β |
| Scrapli | β |
| Genie | β |
| RESTCONF | β |
| Jira API | β |
| Discord API | β |
| HashiCorp Vault | β |
| NetBox | β |
| Vector | β |
| Ubuntu | β |
| Vendor | Platform | cli_style | Status |
|---|---|---|---|
| Cisco | IOS-XE | ios |
Core |
| Arista | EOS | eos |
On-Request |
| Juniper | JunOS | junos |
On-Request |
| MikroTik | RouterOS | routeros |
On-Request |
| Aruba | AOS-CX | aos |
On-Request |
| SONiC | FRR | frr |
On-Request |
| VyOS | VyOS | vyos |
On-Request |
| Management | Devices | Tier | Status |
|---|---|---|---|
| RESTCONF | Cisco IOS-XE | Primary | Core |
| CLI | Cisco IOS-XE | Fallback | Core |
| NETCONF | custom | β | On-Request |
| REST APIs | custom | β | On-Request |
| gNMI | custom | β | On-Request |
| eAPI | Arista | β | On-Request |
| aiNOC Core |
|---|
| OSPF |
| BGP |
| Redistribution |
| Policy-based routing |
| Route-maps, prefix lists |
| NAT/PAT, access lists |
| aiNOC On-Request Extensions |
|---|
| EIGRP |
| HSRP |
| VRRP |
| etc. |
β«οΈ Step 1:
git clone https://github.com/pdudotdev/aiNOC/
cd aiNOC/
python3 -m venv mcp
source mcp/bin/activate
pip install --upgrade pip
pip install -r requirements.txt
β«οΈ Step 2:
The included CLAUDE.md and skills/* are templates. Customize them with your own troubleshooting methodology, tool descriptions, and operational guidelines.
CLAUDE.md or SKILL.md that works in any network environment. These should be customized for each specific topology, vendor combination, and architecture.
β«οΈ Step 3:
- Configure IP SLA (or Connectivity Monitor, Netwatch etc.) paths in your network
- Make sure they are being tracked and logged remotely to Vector (Syslog)
- Configure the transforms inside
/etc/vector/vector.yaml- example - aiNOC monitors Vector's
/var/log/network.jsonfile for specific logs and parses them per-vendor
β«οΈ Step 4:
Run the aiNOC watcher and dashboard services.
Claude is invoked non-interactively via tmux + print mode (-p) with a default prompt template.
The human operator monitors agent operations via the web dashboard on :5555, and interacts via Discord (fix approval β
or rejection β embeds).
sudo apt install tmux
sudo cp oncall/oncall-watcher.service /etc/systemd/system/
sudo cp dashboard/oncall-dashboard.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable --now oncall-watcher.service
sudo systemctl enable --now oncall-dashboard.service
Manage with:
systemctl start | stop | restart | status oncall-watcher
β«οΈ Step 5: Check if the service and Vector are running:
sudo systemctl status vector
sudo systemctl status oncall-watcher.service
sudo systemctl status oncall-dashboard.service
β«οΈ Network diagram:
β«οΈ Router configurations:
- Please find my test lab's config files under the lab_configs directory
- They are the network's fallback configs for
containerlab redeploy -t AINOC-TOPOLOGY.yml - Default credentials: see .env file at .env.example
aiNOC runs as an on-call watcher that monitors Vector's /var/log/network.json for SLA path failures and automatically invokes a Claude agent to diagnose the issue and propose a fix.
- Network devices track connectivity paths (Cisco IP SLA β extensible to Arista Connectivity Monitor, Juniper RPM probes, MikroTik Netwatch etc.)
- Failures are logged remotely to Syslog β Vector records, parses, and writes to
/var/log/network.json oncall-watcherservice detects the SLA failure, opens a Jira ticket, and invokes the aiNOC agent session- Web dashboard is activated and displays agent's work in real time. User is notified and kept in the loop via Discord.
- Agent follows structured troubleshooting methodology:
CLAUDE.md+/skills+MCP toolsβ identifies root cause(s) β proposes fix - Only upon human operator approval via Discord, the agent applies and verifies the fix, otherwise issue is documented and the case stays open
- Case resolution is logged to Jira and Discord, and the watcher resumes monitoring
- aiNOC agent learns a new lesson about network troubleshooting and documents to
lessons.md
See Installation & Usage for instructions.
- New protocols supported
- Performance-based SLAs
New features are being added periodically (protocols, integrations, optimizations).
Stay up-to-date:
- Watch and Star this repository
Current version:
- aiNOC v5.5
You are responsible for defining your own troubleshooting methodologies and context files, as well as building your own test environment and meeting the necessary conditions (e.g., RAM/CPU, Claude subscription/API key, etc.).
Licensed under the Business Source License 1.1. The source code is available for research, educational, and non-commercial use. Commercial use, SaaS deployment, enterprise automation, or resale of this software is prohibited without explicit written permission from the author.
Interested in collaborating?
- Email:
- Reach out at hello@ainoc.dev
- LinkedIn:
- Let's discuss via LinkedIn

