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 — AI-powered ISP network management terminal

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

  1. Click Terminal in the Group Admin or NOC sidebar — opens in a new full-screen window.
  2. Connect to a device using the SSH/Telnet tab.
  3. The iPilot panel is docked at the bottom of the terminal window.
  4. 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 Google Multimodal tasks

How Plans Work

When you send a message, iPilot replies with one of:

  1. A clarifying question — if your goal is ambiguous.
  2. 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 /compact to compress old messages and free up space while preserving key findings
  • Use /context to see current token usage
  • Use /clear to 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.log under terminal_ai.chat.
  • SSRF guard. The web_search tool blocks requests to localhost, private IPs, and .internal / .local domains.

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.