# Wireless Energy Saving

> 分析无线节能工单系统的全能助手。包含柱状图统计分析（fetch_engblacklist_barchart）和白名单小区列表详情查询（fetch_whitelist_cell_list）两大核心功能。该工具通过 CDP 寄生技术直接连接用户浏览器获取鉴权 Token。

- Skill: `valkryhx/wireless-energy-saving` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add valkryhx/wireless-energy-saving`
- Raw SKILL.md: https://api.skillmd.com/api/skills/valkryhx/wireless-energy-saving/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: valkryhx (https://skillmd.com/u/valkryhx)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/valkryhx/wireless-energy-saving

---


## 核心工作原理

本 Skill 采用 **“人机协同 (Human-in-the-loop) + CDP 寄生”** 架构，解决复杂的企业级系统鉴权问题：
1. **身份认证托管**：所有的登录、滑块、验证码操作完全由人类用户在日常浏览器中完成。
2. **状态就地取材**：Agent 通过 Playwright 访问本机的 9222 调试端口，直接提取浏览器 SessionStorage 中的有效 Token。
3. **动态业务请求**：构造真实的 Header 和 Payload 发起 API 请求，随后自动断开连接，对用户的正常浏览无干扰。

## 前置环境要求 (Prerequisites)

在调用本工具内包含的所有函数前，必须满足：
1. **开启 Debug 端口**：Chrome 必须带有 `--remote-debugging-port=9222` 参数启动。
2. **保持登录状态**：浏览器必须有至少一个存活的标签页并成功登录目标工单系统 (`http://192.168.188.1:8080/`)。

---

## 工具列表 (Tools)

### 1. 柱状图统计查询 (`fetch_engblacklist_barchart`)
**功能描述**：用于快速获取某天特定网络类型下，各个地市的工单数量统计图表数据。
**适用场景**："看看今天的柱状图"、“LTE类型各地市有多少单”。

| 参数名    | 类型   | 必填 | 描述与规范                                                   |
| :-------- | :----- | :--- | :----------------------------------------------------------- |
| `date`    | String | 是   | 目标查询日期，必须符合 `YYYY-MM-DD` 格式。例如："2026-03-03" |
| `network` | String | 是   | 目标网络类型，系统目前支持的枚举值："LTE" 或 "NR"            |

**响应结构示例**：
```json
{
    "code": 0,
    "data": [
        {"date": "2026-03-03", "count": 1, "distName": "新乡市"},
        {"date": "2026-03-03", "count": 10, "distName": "武汉市"}
    ]
}
```

### 2. 白名单小区列表查询 (`fetch_whitelist_cell_list`)
**功能描述**：用于获取工单的详细列表信息。大模型必须推断和填充任意它已知的业务参数。
**适用场景**："帮我查武汉市华为的单子"、"24号到2号符号关断的详情"。
**Agent交互建议**：如果有用户意图模糊（例如没指定时间），Agent 应当主动补全默认时间周期（如最近一周），以防止查询失败。在拿到全量结果后，Agent 应当总结汇报（共多少行、核心厂商/地市分布等），避免输出生硬、超长 JSON。

| 参数名        | 类型    | 必填 | 描述与规范                                     |
| :------------ | :------ | :--- | :--------------------------------------------- |
| `startTime`   | String  | 是   | 查询开始日期。格式: `YYYY-MM-DD`               |
| `endTime`     | String  | 是   | 查询结束日期。格式: `YYYY-MM-DD`               |
| `distName`    | String  | 否   | 地市名称。示例："武汉市"                       |
| `neName`      | String  | 否   | 网元名称/ID。示例："123"或"BTS001"             |
| `networkName` | String  | 否   | 网络制式。默认空字符串(查全部)。可传"LTE","NR" |
| `vendorName`  | String  | 否   | 厂家名称。示例："华为", "中兴"                 |
| `jdType`      | String  | 否   | 故障/节点类型。示例："符号关断", "通道关断"    |
| `page`        | Integer | 否   | 分页页码，默认 `1`                             |
| `limit`       | Integer | 否   | 单页数据量，默认 `20`                          |

**响应结构示例**：
```json
{
    "code": 0,
    "data": {
        "total": 150,
        "pageNum": 1,
        "pageSize": 20,
        "list": [
            {
                "distName": "武汉市", 
                "networkName": "LTE", 
                "vendorName": "华为",
                "jdType": "符号关断",
                "...": "..." 
            }
        ]
    }
}
```

---

## 异常定位指南 (Error Debugging)

调用本工具如果返回附带 `error` 字段的信息：
- `Failed to fetch... Connection refused`  说明未检测到开启 9222 端口的浏览器。请提醒用户检查启动参数。
- `未找到包含 192.168.188.1 的标签页`  说明目标网页被关闭。请提醒用户重新打开目标系统页面。
- `Session中未找到... / Token 解析失败`  说明未登录或已过期。请提醒用户在保持页面开启的情况下完成系统登录操作。

