iPilot — AI Network Expert
Overview
iPilot is ISPbills' built-in AI network assistant, embedded directly inside the web terminal. It understands plain-English goals, reasons about your live device output, builds step-by-step execution plans, and runs approved commands through your existing SSH/Telnet session — all without leaving the browser.

iPilot is available to both Group Admin and NOC users wherever the Ready Terminal opens — router monitor pages, OLT live status, the NOC toolbar, and the full-screen standalone terminal.
Key Capabilities
| Capability | What iPilot does |
|---|---|
| OLT & ONU management | Check optical signal (Rx/Tx dBm), ONU state, port status, reboot ONUs, view profiles — across VSOL, ZTE, Huawei, BDCOM, and more |
| MikroTik configuration | Manage firewall rules, PPPoE/RADIUS settings, queues, routes, and IP pools via SSH or RouterOS API |
| Network diagnostics | Run pings, traceroutes, interface checks, and uptime checks directly from the terminal |
| Subscriber fault isolation | Look up any customer by ID, phone, IP, or username — check ONU link, RADIUS session, and determine fault location |
| AI fix plans | Detects misconfigurations, shows exact fix commands with risk level, and waits for approval before applying |
| Fleet-wide operations | Ask about all devices at once — iPilot spawns parallel sub-agents (one per device) to query across your entire fleet simultaneously |
| Multi-vendor support | MikroTik RouterOS, Cisco IOS/IOS-XE, Huawei VRP, Juniper Junos, VSOL EPON/GPON, generic Linux |
| Config backup & diff | Retrieve, compare, and restore device configurations |
| Web search & docs | Falls back to live web search and ISPbills docs when device help is unavailable |
Opening iPilot
- Click Terminal in the Group Admin or NOC sidebar — opens in a new full-screen window.
- Connect to a device using the SSH/Telnet tab.
- The iPilot panel is docked at the bottom of the terminal window.
- Click the panel header to expand it and start typing.
On mobile browsers, iPilot is automatically optimized: slash command chips are hidden, the input fills the full screen, and the interface uses large touch targets.
Slash Commands
Type / in the iPilot input to open the autocomplete palette. Use ↑ / ↓ to navigate, Enter or Tab to select.
Devices & Network
| Command | Description |
|---|---|
/connect |
Open a device terminal (SSH/Telnet) |
/status |
Fleet health summary — all devices |
/check |
Full device diagnostics & audit |
/reachable |
Ping sweep — who is up / down |
/offline |
List all offline/unreachable devices |
/uptime |
Device uptime and last reboot time |
/cpu |
CPU & memory load on device |
/bandwidth |
Live traffic / bandwidth usage |
/flapping |
Detect flapping interfaces |
/optical |
Optical RX/TX signal levels (dBm) |
/onu |
ONU optical signal levels & status |
/alarms |
Active alarms & recent faults |
/down |
Down circuits and uplinks |
/vlan |
Check VLAN usage across all devices |
/arp |
ARP table on connected router |
/routes |
Routing table on connected device |
/interfaces |
List interfaces & status |
/logs |
Recent device logs |
Customers & PPPoE
| Command | Description |
|---|---|
/online |
Show customers online right now |
/pppoe |
List active PPPoE sessions |
/customer |
Look up a customer by name or IP |
/dhcp |
DHCP leases & pool usage |
/radius |
Recent RADIUS authentication logs |
/bills |
Unpaid bills this month + total amount |
AI & Session
| Command | Description |
|---|---|
/model |
Switch AI model |
/autopilot |
Toggle autopilot (auto-execute) mode |
/plan |
Switch to plan mode (ask before doing) |
/context |
Show context window token usage |
/compact |
Compress conversation history |
/clear |
Clear the chat history |
Backup & Config
| Command | Description |
|---|---|
/backup |
Backup running config on device |
/diff |
Show config changes (diff) |
/restore |
Restore a previous config backup |
/config |
Generate or review device configuration |
/suggest |
AI suggestions for this device |
Help
| Command | Description |
|---|---|
/help |
Show all commands & keyboard shortcuts |
/whoami |
Show current user & role |
/cwd |
Show current working directory |
/allow-all |
Toggle auto-approve all tool calls |
AI Models
iPilot lets you switch models from the ⚙ Model button in the panel header. Your selection is saved in the browser.
| Model | Provider | Best for |
|---|---|---|
| Claude Sonnet 4.6 | Anthropic | Default — best for NOC tasks |
| Claude Sonnet 4.5 | Anthropic | Stable release |
| Claude Haiku 4.5 | Anthropic | Fastest responses |
| Claude Opus 4.8 | Anthropic | Most capable, complex reasoning |
| GPT-5.4 | OpenAI | Latest OpenAI model |
| GPT-5.4 mini | OpenAI | Fast & cost-efficient |
| GPT-4o | OpenAI | Reliable general purpose |
| Gemini 3.5 Flash | Multimodal tasks |
How Plans Work
When you send a message, iPilot replies with one of:
- A clarifying question — if your goal is ambiguous.
- An execution plan — a numbered list of commands, each with:
- The exact command to run
- A one-line explanation of why
- A risk badge:
safe·caution·destructive
You can:
- Run steps one by one (click Run on each step)
- Run all safe steps at once
- Accept the plan and build on autopilot — safe and caution steps auto-run while destructive steps still pause
After each step runs, iPilot reads the output and refines the next step automatically.
Risk Levels
| Risk | Meaning | Examples |
|---|---|---|
safe |
Read-only, no state changes | show, print, display, get, monitor-traffic |
caution |
Changes config but easily reverted | /interface set, /ip address add, /queue simple add |
destructive |
Wipes, reboots, deletes critical config | system reset, erase startup-config, format flash, halt |
A server-side denylist automatically re-classifies dangerous patterns to destructive and marks them blocked, even if the AI under-reports risk. Blocked steps require explicit CONFIRM before they run.
Autopilot
The Autopilot toggle controls automation level:
| Setting | Behaviour |
|---|---|
| Off (default) | Every step needs an explicit click |
| On | safe and caution steps auto-run. destructive steps always pause for a click |
Autopilot status is shown by a yellow indicator in the panel header.
Fleet-Wide Operations (Sub-Agents)
For questions that span multiple devices — "check VLAN 82 across all OLTs" or "which devices are offline?" — iPilot automatically spawns one sub-agent per device, runs them in parallel (batches of 8, up to 30 devices), and aggregates the results into a single summary.
You don't need to name a device — just ask. iPilot detects fleet-wide intent and scales the operation automatically.
Context & Memory
iPilot maintains a rolling conversation history with a configurable context window. When the history grows large:
- Use
/compactto compress old messages and free up space while preserving key findings - Use
/contextto see current token usage - Use
/clearto start fresh
The system automatically retains the last 20 messages minimum so recent context is never lost during compaction.
Built-in Tools
Behind the scenes, iPilot uses a set of integrated tools to answer your questions:
| Tool | What it does |
|---|---|
| web_search | Searches the web for command syntax, vendor docs, or error codes |
| docs_search | Searches ISPbills documentation |
| lookup_customer | Retrieves customer data by ID, IP, or username |
| lookup_device | Retrieves device information and credentials |
| lookup_onu_signals | Reads live ONU optical signal data |
| spawn_subagent | Launches a parallel sub-agent for fleet-wide operations |
| shell_exec (developer only) | Executes shell commands on the ISPbills server |
| read_file / write_file (developer only) | File system access on the server |
Developer tools (shell_exec, read_file, write_file, edit_file) are only available to operators with the developer role and require TERMINAL_AI_DEV_TOOLS_ENABLED=true in .env.
Safety Guarantees
- Operator stays in control. The AI cannot execute anything without a click (or Autopilot approval).
- Server-side denylist. Hard-blocked:
/system reset,reload,erase startup-config,format flash,rm -rf /,mkfs,dd if=,halt,shutdown,init 0, RouterOS/file remove,/system package uninstall. - Caps. 25 tool iterations per request, 20 requests per minute per user, minimum 20 messages of history retained.
- Audit trail. Every chat call is logged with operator ID, role, target host, and risk overrides. Logs in
storage/logs/laravel.logunderterminal_ai.chat. - SSRF guard. The
web_searchtool blocks requests to localhost, private IPs, and.internal/.localdomains.
Configuration (Administrators)
iPilot uses any OpenAI-compatible chat-completions endpoint. Set these in .env:
TERMINAL_AI_API_KEY=sk-...
TERMINAL_AI_MODEL=claude-sonnet-4.6
TERMINAL_AI_BASE_URL=https://api.openai.com/v1
TERMINAL_AI_RATE_LIMIT=20
TERMINAL_AI_TIMEOUT=20
TERMINAL_AI_MAX_TOKENS=400
TERMINAL_AI_CONTEXT_TOKENS=128000
TERMINAL_AI_HISTORY_MIN_MESSAGES=20
TERMINAL_AI_MAX_ITERATIONS=25
TERMINAL_AI_TOOLS=true
TERMINAL_AI_DEV_TOOLS_ENABLED=false
TERMINAL_AI_BULK_MAX_DEVICES=30
TERMINAL_AI_BULK_BATCH_SIZE=8
Compatible with OpenAI, Anthropic, OpenRouter, Together, Groq, or a self-hosted llama.cpp / vLLM server.
Related
- Ready Terminal — the underlying SSH/Telnet client
- NOC Panel — where most operators use iPilot
- NOC Role & Permissions — who can open a terminal