← 返回 Skills 市场
rtaylorgraham

Asus Router

作者 rtaylorgraham · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ 安全检测通过
206
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install asus-router
功能描述
Monitor and manage Asus routers running AsusWRT firmware. Supports status checks, device listing, presence detection, AiMesh mesh topology, WAN diagnostics,...
使用说明 (SKILL.md)

Asus Router Management

Manage Asus routers via the asusrouter Python library. Works with any Asus router running stock AsusWRT or Merlin firmware.

Setup

1. Install dependencies

pip install asusrouter aiohttp

2. Create config file

Copy config.example.yaml to config.yaml and fill in your router details:

cp skills/asus-router/config.example.yaml skills/asus-router/config.yaml

Edit config.yaml with your router's IP, username, and password.

3. Verify connection

python3 skills/asus-router/router.py status

Supported Routers

Any Asus router with the AsusWRT web interface:

  • ZenWiFi (XT8, XT12, XD6, etc.) — full AiMesh support
  • RT-AX series (RT-AX86U, RT-AX88U, etc.)
  • GT-AX gaming series
  • Merlin firmware variants
  • AiMesh nodes (RP-AX56, RP-AX58, etc.)

Commands

All commands use router.py. Activate your venv first if using one.

Quick Status

python3 router.py status          # WAN, CPU, RAM, mesh nodes, client count
python3 router.py status --json   # Machine-readable output

List Connected Devices

python3 router.py clients              # All devices
python3 router.py clients --online     # Online only
python3 router.py clients --filter "iphone"   # Search by name/IP/MAC
python3 router.py clients --json       # JSON output

Who's Home (Presence Detection)

python3 router.py who

Checks for known devices defined in config.yaml to determine who's home.

WAN Details

python3 router.py wan          # IP, gateway, DNS, lease, dual-WAN
python3 router.py wan --json

AiMesh Topology

python3 router.py mesh         # Which clients connect to which node
python3 router.py mesh --json

Find a Device

python3 router.py find "samsung"
python3 router.py find "192.168.1.100"
python3 router.py find "AA:BB:CC:DD:EE:FF"

Network Latency Check

python3 router.py ping

Pings targets defined in config.yaml (default: gateway + Cloudflare + Google).

Reboot Router

python3 router.py reboot --confirm

⚠️ Requires --confirm flag. Causes 2-3 min downtime.

Common Tasks

"Is the internet down?"

  1. status — check WAN link state
  2. ping — check latency to external IPs
  3. wan — check DHCP lease and DNS

"What's using bandwidth?"

clients --online --json — check rx_speed/tx_speed fields

"Who's home?"

who — checks for devices listed in config.yaml under known_devices

"Why is WiFi slow?"

  1. mesh — check client distribution across nodes
  2. status — check CPU/RAM (high CPU = overloaded)
  3. find \x3Cdevice> — check signal strength (rssi)

Configuration

All settings live in config.yaml. See config.example.yaml for the full template.

Key settings:

  • router.host — Router IP address
  • router.username — Admin username
  • router.password — Admin password
  • router.ssl — Use HTTPS (default: false)
  • known_devices — Devices for presence detection
  • ping_targets — Custom ping targets for latency checks

JSON Output

Add --json to any command for machine-readable output. Useful for cron jobs, heartbeat checks, and alerting.

Integration with Home Assistant

For persistent monitoring, also install ha-asusrouter via HACS: https://github.com/Vaskivskyi/ha-asusrouter

安全使用建议
This skill is coherent with its stated purpose, but take these precautions before installing: - You must provide router admin credentials (config.yaml or the environment variables ASUS_ROUTER_HOST / ASUS_ROUTER_USER / ASUS_ROUTER_PASS). Do not commit config.yaml to source control. - The SKILL.md asks you to pip install asusrouter and aiohttp; also install PyYAML if you intend to use a YAML config (router.py attempts to import yaml). Consider installing in a virtual environment. - Review the third-party asusrouter library (and its dependencies) before installing to ensure you trust it, since it will communicate directly with your router. - Run the tool locally on a trusted machine or in an isolated environment if you are concerned about exposing router credentials. - Keep the router firmware and any client libraries up to date. If you need the skill to run autonomously or on a server, ensure credentials are stored securely (not in public repos) and use least-privilege accounts if possible.
功能分析
Type: OpenClaw Skill Name: asus-router Version: 1.0.0 The asus-router skill is a legitimate management tool for AsusWRT-based routers, utilizing the 'asusrouter' Python library. The code in router.py implements standard administrative functions such as status monitoring, client listing, and rebooting (with confirmation), and it handles configuration securely using yaml.safe_load and environment variables. No evidence of malicious intent, data exfiltration, or prompt injection was found.
能力评估
Purpose & Capability
Name/description align with the code and instructions: the skill uses the asusrouter library and aiohttp to query/manage an AsusWRT router, reads a local config, and optionally uses the system ping binary for latency checks — all expected for a router management tool.
Instruction Scope
SKILL.md stays on-task (install deps, create config.yaml with router credentials, run router.py commands). The runtime code reads config.yaml (and fallback env vars), connects to the router over HTTP(S), and prints results — no evidence of reading unrelated system files or posting data to third-party endpoints. Note: SKILL.md does not mention the environment variables the script will accept as fallbacks (ASUS_ROUTER_HOST, ASUS_ROUTER_USER, ASUS_ROUTER_PASS).
Install Mechanism
This is an instruction-only skill (no install spec) and asks users to pip install asusrouter and aiohttp, which is proportional. Minor omission: router.py attempts to import yaml (PyYAML) to parse config.yaml and falls back to JSON if PyYAML is missing, but SKILL.md does not mention installing PyYAML; users editing YAML should install PyYAML or provide JSON config.
Credentials
The skill does not declare required env vars, but router.py supports fallback environment variables (ASUS_ROUTER_HOST, ASUS_ROUTER_USER, ASUS_ROUTER_PASS) for router credentials. Requesting/storeing router admin credentials is expected for this functionality, but users should be aware credentials are required and can be provided either in config.yaml or via those environment variables.
Persistence & Privilege
The skill does not request always-on inclusion and does not modify other skills or system-wide settings. It runs on-demand and only connects to the router specified in local config or env vars.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install asus-router
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /asus-router 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Initial release: status, clients, who (presence), wan, mesh, find, ping, reboot commands. Config-driven via YAML/JSON/env vars.
元数据
Slug asus-router
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

Asus Router 是什么?

Monitor and manage Asus routers running AsusWRT firmware. Supports status checks, device listing, presence detection, AiMesh mesh topology, WAN diagnostics,... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 206 次。

如何安装 Asus Router?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install asus-router」即可一键安装,无需额外配置。

Asus Router 是免费的吗?

是的,Asus Router 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Asus Router 支持哪些平台?

Asus Router 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Asus Router?

由 rtaylorgraham(@rtaylorgraham)开发并维护,当前版本 v1.0.0。

💬 留言讨论