Skip to content

Commit 867ed6e

Browse files
docs: update README for v0.7.0
- Fix ARIA setup section (license key via netcopilot.app, not direct API key) - Remove obsolete "Block" approval mode (now Ask/Auto + always-on blacklist) - Remove model selector reference (backend-controlled) - Add new ARIA features: per-platform playbooks, batch commands, structured context, auto device detection, smart retry, conversation compression - Add terminal overlays, tags filter, context menu, SOCKS proxy, resize handle - Update certifications to match expanded system prompt - Update security table with command blacklist layer - Add ? shortcut to keyboard shortcuts table
1 parent 069d5e4 commit 867ed6e

1 file changed

Lines changed: 84 additions & 40 deletions

File tree

README.md

Lines changed: 84 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -66,14 +66,13 @@ Output files will be in the `dist/` folder.
6666
6767
### ARIA Setup (Required for AI features)
6868

69-
ARIA requires an [Anthropic API key](https://console.anthropic.com/):
69+
ARIA requires a license key from [netcopilot.app](https://netcopilot.app/register):
7070

7171
1. Open the app → Settings → ARIA
72-
2. Paste your API key
73-
3. Click **Test Connection** to verify
74-
4. Choose your preferred model (Sonnet, Opus, or Haiku)
72+
2. Paste your license key
73+
3. ARIA is ready — all AI requests are routed through the NetCopilot API
7574

76-
Your API key is stored in the **OS keychain** — never on disk or in any file.
75+
Your license key is stored in the **OS keychain** — never on disk or in any file.
7776

7877
---
7978

@@ -104,6 +103,42 @@ ARIA:
104103
MTU mismatch detected on Gi0/0/1. Recommended fix: ...
105104
```
106105

106+
### Per-Platform Mastery
107+
108+
ARIA carries deep, vendor-specific knowledge for every supported platform — not generic advice. Each device type has a dedicated playbook with:
109+
110+
- **Signature commands** — the exact commands a senior engineer would run first
111+
- **Common root causes** — the failure modes that actually happen in production
112+
- **Diagnostic flow** — the correct order to isolate the failing layer
113+
114+
For example: on a Cisco ASA, ARIA starts with `packet-tracer` (the fastest way to identify why traffic is blocked). On FortiGate, it uses `diagnose debug flow`. On Palo Alto, `test security-policy-match`. These are not generic — they are the expert moves.
115+
116+
### Batch Command Execution
117+
118+
ARIA can execute 2-5 independent commands in a single round-trip using the `run_commands` tool. Instead of sending `show ip bgp summary`, waiting, then `show ip route`, waiting, then `show interfaces brief`, ARIA batches them all together — faster diagnosis, fewer round-trips.
119+
120+
### Structured Terminal Context
121+
122+
Every message to ARIA includes parsed terminal context — not raw text dumps:
123+
124+
- **Detected hostname** from the terminal prompt
125+
- **Current prompt line** (Router#, user@host:~$, etc.)
126+
- **Last 5 commands and their outputs** — structured and labeled
127+
128+
This means ARIA always knows exactly what you just ran and what the device responded.
129+
130+
### Auto Device Detection
131+
132+
When a connection is set to **Auto-detect**, ARIA analyzes the live terminal output to identify the device type before responding. This ensures the correct playbook is used from the very first message — no manual selection needed.
133+
134+
### Smart Retry
135+
136+
When a command returns empty or minimal output, ARIA automatically receives a hint about possible causes (wrong syntax for this device type, pager ate the output, etc.) and can retry with a vendor-appropriate variant.
137+
138+
### Conversation Compression
139+
140+
Long conversations are compressed intelligently — older messages are summarized into a compact block while preserving the original intent and recent context. This replaces naive message trimming and keeps ARIA's memory coherent across extended troubleshooting sessions.
141+
107142
### L4 Planning Mode
108143

109144
For complex problems, ARIA generates a **visual investigation plan card** showing:
@@ -124,16 +159,12 @@ ARIA is aware of **all open terminal sessions simultaneously**:
124159
- Command blocks display a device badge so you always know where each command ran (→ SW1-Core)
125160
- Terminal context from both sessions is included in every analysis
126161

127-
### Context-Aware from the Start
128-
129-
Every ARIA conversation includes full session context: device type, hostname, IP, protocol, and all open sessions. ARIA's commands and recommendations are device-specific from the first message — no configuration needed.
130-
131162
### Permission Modes
132163

133164
| Mode | What ARIA Can Do |
134165
|---|---|
135-
| **Troubleshoot** | Read-only diagnostics only — `show`, `display`, `ping`, `traceroute`, `ls`, `df`, etc. No config changes |
136-
| **Full Access** | Any command including configuration and remediation actions |
166+
| **Troubleshoot** | Read-only diagnostics only — `show`, `display`, `ping`, `traceroute`, `ls`, `df`, etc. No config changes. ARIA decides which commands are safe based on its knowledge of each platform. |
167+
| **Full Access** | Any command including configuration and remediation. ARIA warns before destructive operations and always provides the exact rollback command. |
137168

138169
Mode is set globally in Settings and can be overridden **per conversation** from the chat toolbar.
139170

@@ -143,20 +174,21 @@ Mode is set globally in Settings and can be overridden **per conversation** from
143174
|---|---|
144175
| **Ask** | ARIA shows every command and waits for your approval before running |
145176
| **Auto** | ARIA executes all commands immediately and uninterrupted |
146-
| **Block** | Auto-approves everything except patterns on your custom blacklist |
147-
148-
### Auto Watch
149-
150-
When enabled, ARIA silently monitors your terminal output in real time. If it detects errors, misconfigurations, anomalies, or warnings, it alerts you immediately — without interrupting your work. Smart deduplication prevents repeated alerts for the same output.
151177

152-
### Built-in Safety
178+
### Blocked Command Patterns (Always-On Safety)
153179

154180
NetCopilot ships with a default blacklist of dangerous commands: `reload`, `shutdown`, `rm -rf`, `format`, `write erase`, `delete flash`, and others. The blacklist is:
155181

182+
- **Always enforced** — regardless of permission mode or approval setting
156183
- Stored persistently in the encrypted database
157-
- Customizable per conversation from the chat toolbar
184+
- Customizable from the chat toolbar "Patterns" button
158185
- Resettable to defaults in one click
159-
- Always enforced — regardless of permission mode or approval setting
186+
187+
When ARIA attempts a blocked command, the code **prevents execution entirely** and informs ARIA the command was blocked. This is a hard safety layer independent of AI judgment.
188+
189+
### Auto Watch
190+
191+
When enabled, ARIA silently monitors your terminal output in real time. If it detects errors, misconfigurations, anomalies, or warnings, it alerts you immediately — without interrupting your work. Smart deduplication prevents repeated alerts for the same output.
160192

161193
### ARIA Interface
162194

@@ -174,33 +206,34 @@ NetCopilot ships with a default blacklist of dangerous commands: `reload`, `shut
174206
| **Session summary** | When closing a tab, ARIA delivers a recap of all commands it ran |
175207
| **Quick suggestions** | Device-aware command suggestions, blended with your personal command history |
176208
| **Smart History** | ARIA learns which commands you use most per device type and surfaces them first — highlighted in amber |
177-
| **Model selector** | Choose between Claude Sonnet, Opus, or Haiku from Settings → ARIA |
178209
| **Sequential execution** | Auto mode runs multiple commands one by one — no race conditions |
179210

180211
### ARIA Persona
181212

182-
ARIA is built as a **specialized infrastructure expert**, not a general-purpose AI:
213+
ARIA is built as a **principal-grade infrastructure expert**, not a general-purpose AI:
183214

184-
- Deep expertise in Cisco, Juniper, Arista, Palo Alto, FortiGate, MikroTik, Huawei, and more
215+
- 25+ years of multi-vendor operations experience across Tier-1 ISPs, hyperscale data centers, and enterprise networks
216+
- Deep expertise in Cisco, Juniper, Arista, Palo Alto, FortiGate, MikroTik, Nokia, Huawei, F5, and more
217+
- RFC-level protocol fluency (BGP extensions, MPLS/SRv6, EVPN, IKEv2, QUIC, TLS 1.3)
185218
- Strict operational scope — ARIA only handles network and infrastructure topics
186219
- Responds in the same language the engineer writes in (English, Arabic, or other)
187-
- API key stored in the OS keychain — never on disk or in any config file
188220

189221
### Certifications ARIA Masters
190222

191-
Working with ARIA is like having a senior engineer with all of these certifications on your team:
223+
Working with ARIA is like having a principal engineer with all of these certifications on your team:
192224

193225
| Vendor | Certifications |
194226
|--------|---------------|
195-
| **Cisco** | CCNA · CCNP (Enterprise, Security, Data Center, Service Provider) · CCIE (Enterprise Infrastructure, Security, Data Center, Service Provider, Wireless) |
196-
| **Juniper** | JNCIA · JNCIS · JNCIP · JNCIE (ENT, SP, SEC, DC) |
197-
| **Nokia** | NRS I · NRS II · SRA · SRX (Service Routing Expert) |
198-
| **Arista** | ACE-A · ACE-L2 · ACE-L3 · ACE-O |
199-
| **Palo Alto** | PCNSA · PCNSE |
200-
| **Fortinet** | NSE 4 · NSE 5 · NSE 6 · NSE 7 · NSE 8 |
201-
| **F5** | 101 · 201 · 301A · 301B (BIG-IP Administrator & Developer) |
202-
| **Linux / Cloud** | RHCE · LFCS · LFCE · AWS Solutions Architect · GCP Network Engineer · Azure Network Engineer |
203-
| **General** | CompTIA Network+ · Security+ · CASP+ · Wireshark WCNA |
227+
| **Cisco** | CCIE (Routing & Switching, Service Provider, Data Center, Security) · CCNP Enterprise · DevNet Pro |
228+
| **Juniper** | JNCIE-SP · JNCIE-ENT · JNCIE-DC · JNCIE-SEC |
229+
| **Nokia** | NRS II (SRA) · MPLS Expert |
230+
| **Arista** | ACE-Level 4 (highest) · CloudVision Expert |
231+
| **Palo Alto** | PCNSE · PCNSC · Prisma Cloud Specialist |
232+
| **Fortinet** | NSE 8 (highest) · FCSS Network Security |
233+
| **F5** | F5-CTS LTM · GTM · ASM · APM |
234+
| **Linux / Cloud** | RHCA · LFCE · AWS Solutions Architect Pro + Networking Specialty · Azure Network Engineer Expert · GCP Professional Network Engineer |
235+
| **Security** | CISSP · OSCP · GIAC GPEN · GCIH |
236+
| **DevOps** | CKA · CKAD · CKS · HashiCorp Terraform · Ansible Automation Platform |
204237

205238
> ARIA combines the knowledge of all these certifications into one assistant — available instantly, in any language, at any hour.
206239
@@ -236,6 +269,7 @@ New connections default to **Auto-detect** mode. After logging in, NetCopilot au
236269
2. **Probe fallback** — if the banner is ambiguous, sends `show version` and analyses the response
237270
3. **Auto-save** — updates the connection's device type permanently in the local database
238271
4. **Instant adaptation** — ARIA suggestions, syntax highlighting, and paging-disable commands all adjust automatically
272+
5. **ARIA integration** — when device type is "auto", ARIA also detects from live terminal output to select the correct platform playbook
239273

240274
> Toast notification confirms detection: **"Device detected: Cisco IOS XE — 10.0.0.1"**
241275
@@ -251,11 +285,13 @@ ARIA learns from your sessions:
251285
### Terminal Features
252286

253287
- In-terminal search with regex and case-sensitivity (⌘F)
288+
- Right-click context menu (Copy, Paste, Search, Clear)
254289
- Configurable font family, size, line height, cursor style, and scrollback buffer
255290
- Session logging — manual or auto-log on connect, with ANSI stripping and optional timestamps
256291
- Split view — two sessions side by side with independent terminals
257292
- Auto-reconnect on session drop — global default or per-connection override
258-
- Session reconnect button appears automatically when a connection drops
293+
- **Connection overlays** — visual spinner while connecting, disconnect overlay with reconnect button, error overlay with retry
294+
- Draggable sidebar with visual resize handle
259295

260296
### Port Forwarding (SSH Tunnels)
261297

@@ -266,6 +302,10 @@ Create local port forwarding rules per connection — forward any local port to
266302
- Live status badge in the tab bar shows number of active tunnels
267303
- Example: `localhost:5432 → db.internal:5432` through your SSH server
268304

305+
### SOCKS Proxy (Dynamic Port Forwarding)
306+
307+
Route traffic through your SSH connection as a SOCKS4/SOCKS5 proxy — useful for accessing internal networks, web interfaces, and services behind firewalls.
308+
269309
### Jump Host / Bastion Server
270310

271311
Connect to devices that are not directly reachable from your machine:
@@ -278,6 +318,7 @@ Connect to devices that are not directly reachable from your machine:
278318
### Connection Management
279319

280320
- Organized library with groups, colors, tags, and notes
321+
- **Tags filter** — filter connections by tag from the HomeScreen pills bar
281322
- **Quick Connect** (⌘K) — type `user@host:port` for an instant session without saving
282323
- Startup commands that run automatically after connecting
283324
- SSH key manager — store and reuse named keys across connections
@@ -295,12 +336,14 @@ Connect to devices that are not directly reachable from your machine:
295336
| `⌘⇧A` | Toggle ARIA panel |
296337
| `⌘1–9` | Switch to tab N |
297338
| `⌘F` | Search in terminal |
339+
| `?` | Help & Keyboard Shortcuts |
298340

299341
### Home Screen Dashboard
300342

301-
- Visual grid of saved connections with device-type color coding
343+
- Visual grid of saved connections with device-type color coding and accent bars
302344
- Group cards with connection count and live session indicator
303345
- Real-time live sessions pill showing active device count
346+
- **Tags filter pills** — click any tag to filter, click again to clear
304347
- Device color system: Cisco → blue, Linux → green, Firewalls → orange, Junos/Arista → purple, Serial → amber
305348

306349
---
@@ -310,8 +353,9 @@ Connect to devices that are not directly reachable from your machine:
310353
| Layer | Protects | Technology |
311354
|---|---|---|
312355
| **Encrypted Database** | All connections, settings, and configuration | SQLCipher (AES-256) |
313-
| **OS Keychain** | Passwords, SSH keys, API keys, and the DB encryption key | Electron safeStorage |
356+
| **OS Keychain** | Passwords, SSH keys, license keys, and the DB encryption key | Electron safeStorage |
314357
| **Master Password** | App-level lock on startup | scrypt + timing-safe comparison |
358+
| **Command Blacklist** | Prevents dangerous commands from executing | Code-level enforcement, always-on |
315359

316360
Credentials are never stored in plaintext. The database encryption key is generated on first launch, stored in the OS keychain, and never written to disk directly.
317361

@@ -355,10 +399,10 @@ Contributions are welcome! Please open an issue first to discuss what you'd like
355399
This project is licensed under the **GNU Affero General Public License v3.0 (AGPL-3.0)**.
356400

357401
This means:
358-
- Free to use, modify, and distribute
359-
- Commercial use allowed
360-
- ⚠️ Any modification or service built on top of this code **must also be open-sourced** under AGPL-3.0
361-
- ⚠️ Network use counts as distribution — SaaS products built on this must share their source
402+
- Free to use, modify, and distribute
403+
- Commercial use allowed
404+
- Any modification or service built on top of this code **must also be open-sourced** under AGPL-3.0
405+
- Network use counts as distribution — SaaS products built on this must share their source
362406

363407
The author retains the right to offer commercial licenses for organizations that cannot comply with AGPL terms.
364408

0 commit comments

Comments
 (0)