# get_duplicate_nodes()

仅查询指定槽位中名称重复的节点。对应右键菜单 **Duplicate Nodes**。

### 签名
```python
api.get_duplicate_nodes(slot, select=0) -> dict
```

### 参数

| 名称 | 类型 | 必填 | 说明 |
| --- | --- | --- | --- |
| `slot` | `int` | 是 | 槽位号（0–9）。bool/str/float → `TypeError` |
| `select` | `int` (0/1) 或 `bool` | 否（默认 `0`） | `0`=仅查询，`1`=查询后在场景中选择 |

### 返回值
```python
{
    "success": bool,
    "slot": int,
    "category": "duplicate_nodes",
    "count": int,
    "handles": list,               # list[int]，仅有效节点
    "names": list,                 # list[str]，与 handles 1:1
    "selected": int,               # 规范化 select（0 或 1）
    "selected_count": int,
    "duplicate_names": list,       # list[str] duplicate name strings
    "message": str,
}
```

### 示例
```python
from os_fast_ref.api import FastRefAPI

api = FastRefAPI()

# 仅查询（管线校验 — 不选择场景）
dup = api.get_duplicate_nodes(slot=0)
if dup["duplicate_names"]:
    print("duplicates:", dup["duplicate_names"])
    print("nodes:", dup["names"])
else:
    print("no duplicates")

# 查询 + 场景选择（与右键菜单相同）
api.get_duplicate_nodes(slot=0, select=1)
```

### 说明
- 空结果（`count=0`）不是错误。
- 非法的 `slot`/`select` 会立即抛出异常（`TypeError` / `ValueError`）。
- 公共约定与异常表请参见 Get Nodes 概览页。
- 额外返回 `duplicate_names`（重复名称字符串列表）。无重复时为空列表。