| 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:
Review CLAUDE.md and skills/*/SKILL.md for the troubleshooting methodology, tool descriptions, and operational guidelines. For your own deployment, customize these files for your 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 GNU General Public License v3.0.
Interested in collaborating?
- Email:
- Reach out at hello@ainoc.dev
- LinkedIn:
- Let's discuss via LinkedIn

