@ikuaidev/ikuai-cli
ACLI for managing iKuai routers via local v4.0 API. Use when the user asks to check router status, configure network/DNS/DHCP/VPN/firewall, manage users, view logs, or automate any iKuai router operation.
Install
agr install @ikuaidev/ikuai-cli --target claudeWrites 13 files into .claude/skills/, pinned to git-6f947f3f.
- .claude/skills/ikuai-cli/.gitignore
- .claude/skills/ikuai-cli/.golangci.yml
- .claude/skills/ikuai-cli/.goreleaser.yml
- .claude/skills/ikuai-cli/CODE_OF_CONDUCT.md
- .claude/skills/ikuai-cli/CONTRIBUTING.md
- .claude/skills/ikuai-cli/LICENSE
- .claude/skills/ikuai-cli/Makefile
- .claude/skills/ikuai-cli/README.md
- .claude/skills/ikuai-cli/README_CN.md
- .claude/skills/ikuai-cli/SECURITY.md
- .claude/skills/ikuai-cli/SKILL.md
- .claude/skills/ikuai-cli/go.mod
- .claude/skills/ikuai-cli/go.sum
Document
name: ikuai-cli description: | CLI for managing iKuai routers via local v4.0 API. Use when the user asks to check router status, configure network/DNS/DHCP/VPN/firewall, manage users, view logs, or automate any iKuai router operation.
ikuai-cli — AI Agent Skill
Go CLI for managing iKuai routers through the local v4.0 HTTP API.
When to Use
- Router status, CPU, memory, uptime, traffic
- Network: DNS, DHCP, VLAN, NAT, PPPoE, VPN
- Users: online sessions, kick, auth accounts
- Security: ACL, MAC filter, URL filter, domain blacklist
- System: logs, schedules, remote access, VRRP
Prerequisites
# Session (persistent)
ikuai-cli auth set-url https://192.168.1.1
ikuai-cli auth set-token <TOKEN>
# OR environment variables (ephemeral)
export IKUAI_CLI_BASE_URL=https://192.168.1.1
export IKUAI_CLI_TOKEN=<TOKEN>
# Verify
ikuai-cli auth status --format json
Priority: Session file > Environment variables > None.
Output Modes
| Flag | Mode | Use case |
|---|---|---|
| (default) | table (TTY) / JSON (pipe) | human / script auto-detect |
--format json | compact JSON | agent parsing, pipe to jq |
--format yaml | YAML | token-efficient for LLM |
--raw | full API envelope | debug |
--human-time | timestamp → local time | log reading |
--dry-run | preview, no execute | safety check |
Domain Skills
| Skill | File | Scope |
|---|---|---|
| Monitor | monitor.md | CPU, memory, traffic, clients |
| Network | network.md | DNS, DHCP, VLAN, NAT, WAN/LAN, PPPoE |
| Security | security.md | ACL, MAC, L7, URL, domain blacklist, peerconn |
| VPN | vpn.md | PPTP, L2TP, OpenVPN, IKEv2, IPSec, WireGuard |
| Users | users.md | Online users, accounts, packages |
| System | system.md | Config, schedules, remote access, VRRP, ALG, kernel |
| Auth | auth.md | Login, PPPoE auth accounts |
| Auth Server | auth-server.md | Web portal auth config |
| Log | log.md | System/DHCP/PPPoE/auth/ARP logs |
| Objects | objects.md | IP/IPv6/MAC/port/protocol/domain/time objects |
| QoS | qos.md | IP/MAC bandwidth control |
| Routing | routing.md | Static routes, stream shunting |
| Wireless | wireless.md | Blacklist, VLAN, AC management |
| Advanced | advanced.md | FTP, HTTP, Samba, SNMPD |
| Batch | batch.md | Multi-command workflows |
Command Shape
ikuai-cli <resource> <action> [args] [flags]
- Read:
ikuai-cli monitor system --format json - List:
ikuai-cli network dhcp list --page 1 --page-size 50 - Write:
ikuai-cli network dhcp create --name "Office" --interface lan1 --addr-pool 192.168.1.100-200 - Write (escape hatch):
ikuai-cli network dns set --data '{"key":"value"}' - REPL:
ikuai-cli(interactive shell)
Error Handling
{"code": 3007, "message": "Invalid token"}
| Code | Meaning | Fix |
|---|---|---|
| 3007 | Invalid/expired token | auth set-token <TOKEN> |
| 1008 | Session expired | auth set-token <TOKEN> |
| 10014 | Permission denied | Check user permissions |
Trustgrade A
- passBody integrity
Whether the stored document is plausibly the kind of file the artifact declares, rather than something fetched by mistake.
- passType matchnot applicable to this artifact type
Whether the artifact is really the kind of thing its metadata claims it is.
- passFreshness
How long since the source repository was last pushed to.
- passPrompt injection
Scans the artifact's own text for instructions aimed at your agent rather than at you.
- passLicense
Whether the source repository declares an SPDX license permissive enough to redistribute.
How the grade is calculated
Each check contributes 0 points when it passes, 1 when it warns, and 2 when it fails. The total maps to a letter:
- Aevery check passed
- Bone warning
- Ctwo warnings
- Dprompt injection or body integrity failed, or three warnings
- Fone of those failed, and something else is wrong
These are automated hygiene checks, not a security audit, and not a dependency or vulnerability scan. A grade of A means nothing was flagged — not that the artifact is safe.
Versions
git-6f947f3f4e572026-07-31