FTTR Copilot

Connect OpenClaw to the FTTR Copilot cloud-control system through ConnectRPC for device lookup, alert triage, network diagnostics, and FTTR operations.

Audits

Pass

Install

openclaw skills install fttr-copilot

FTTR Copilot

Use this skill when a user asks OpenClaw to query or diagnose FTTR Copilot terminal cloud-control data.

Runtime

Run the bundled CLI from this skill directory:

node src/cli.js <tool> [json-arguments]

The CLI always prints JSON. Successful calls use:

{
  "ok": true,
  "title": "...",
  "summary": "...",
  "data": {},
  "suggestions": [],
  "trace": []
}

Failed calls use:

{
  "ok": false,
  "error": {
    "code": "...",
    "message": "...",
    "procedure": "..."
  }
}

Available Tools

Current implementation:

  • list_my_devices: List devices bound to the authenticated customer.
  • get_device_detail: Get device detail by device ID, MAC address, or alias.
  • get_device_online_status: Get online status by device ID, MAC address, or alias.
  • update_device_alias: Update a device alias. This writes to FTTRAI state.
  • list_device_alerts: List alerts for devices bound to the authenticated customer, optionally filtered by event type, event code, cursor, and limit.
  • get_network_topology: Get gateway and station topology for a master gateway.
  • get_station_stats: Get station metrics for all stations or one station.
  • get_station_metrics: Alias of get_station_stats for detailed station metrics.
  • get_network_experience: Get network score and experience trends.
  • get_station_experience: Get RSSI history for one station.
  • get_device_stats: Summarize devices bound to the authenticated customer, including online/offline and fault-code counts.
  • get_device_load: Get basic device load and profile data from device detail, including CPU, memory, reset/offline reason, and fault codes.
  • get_fault_counter: Count fault codes across devices bound to the authenticated customer.
  • get_master_gateway_info: Send a Customer-authorized real-time command to query FMU information.
  • get_slave_gateway_info: Send a Customer-authorized real-time command to query FSU information.
  • get_agent_version: Send a Customer-authorized real-time command to query Agent version.
  • diagnose_device_offline: Combine detail, online status, and customer-scope alerts for offline diagnosis.
  • diagnose_network_slow: Combine detail, topology, network experience, and station metrics for network-slow diagnosis.
  • explain_fttrai_copilot_usage: Explain available capabilities, required user inputs, and example prompts.

Usage Guidance

  • Prefer device ID, MAC address, or user-visible alias when asking follow-up questions.
  • Treat real-time command tools as device commands; they may return a sequence_id when the device has not returned a result yet.
  • Do not invent FTTR operating procedures. If live FTTRAI data is insufficient, say what is missing and ask for the next identifier or symptom.
  • Keep answers in Chinese unless the user asks otherwise.

Examples

List bound devices:

node src/cli.js list_my_devices

Equivalent explicit empty arguments:

node src/cli.js list_my_devices '{}'

Get device detail:

node src/cli.js get_device_detail '{"device_identifier":"AA:BB:CC:DD:EE:FF"}'

Update alias:

node src/cli.js update_device_alias '{"device_identifier":"AA:BB:CC:DD:EE:FF","new_alias":"客厅主网关"}'

List alerts:

node src/cli.js list_device_alerts '{"event_type":"ALARM","limit":20}'

Get topology and network experience:

node src/cli.js get_network_topology '{"device_identifier":"AA:BB:CC:DD:EE:FF"}'
node src/cli.js get_station_stats '{"device_identifier":"AA:BB:CC:DD:EE:FF","sta_mac":"11:22:33:44:55:66"}'
node src/cli.js get_network_experience '{"device_identifier":"AA:BB:CC:DD:EE:FF"}'
node src/cli.js get_station_experience '{"device_identifier":"AA:BB:CC:DD:EE:FF","sta_mac":"11:22:33:44:55:66"}'

Get customer-scope stats and run diagnostics:

node src/cli.js get_device_stats
node src/cli.js get_fault_counter
node src/cli.js get_device_load '{"device_identifier":"AA:BB:CC:DD:EE:FF"}'
node src/cli.js diagnose_device_offline '{"device_identifier":"AA:BB:CC:DD:EE:FF"}'
node src/cli.js diagnose_network_slow '{"device_identifier":"AA:BB:CC:DD:EE:FF","symptom":"卧室网慢"}'

Run real-time device commands:

node src/cli.js get_master_gateway_info '{"device_identifier":"AA:BB:CC:DD:EE:FF"}'
node src/cli.js get_slave_gateway_info '{"device_identifier":"AA:BB:CC:DD:EE:FF"}'
node src/cli.js get_agent_version '{"device_identifier":"AA:BB:CC:DD:EE:FF"}'