> **前置条件** — 执行以下任何命令前，请先确认已完成认证。如未认证，参见 [`../../shb-shared/SKILL.md`](../../shb-shared/SKILL.md)。

# shb-cli customer linkman

查询客户联系人（Linkman）列表。可按客户 ID、关键字、姓名、手机号、是否主联系人筛选，分页返回。**所有筛选条件都是可选的**——`--customer-id` 不是必填，不传则在当前用户权限范围内按其它条件搜索（不限客户）。

## 基础用法

```bash
# 不限客户，按关键字/姓名搜索联系人（customer-id 可不传）
shb-cli customer linkman search --keyword "张三"

# 查询指定客户的全部联系人
shb-cli customer linkman search --customer-id <customerId>

# 只看主联系人
shb-cli customer linkman search --customer-id <customerId> --is-main 1

# 关键字搜索
shb-cli customer linkman search --customer-id <customerId> --keyword "张三"

# 表格展示
shb-cli customer linkman search --customer-id <customerId> -o table
```

## 完整 Flags

| Flag | 说明 | 默认值 |
|------|------|--------|
| `--customer-id` | 客户 ID（用于筛选该客户的联系人） | — |
| `--keyword` | 关键字搜索 | — |
| `--name` | 联系人姓名精确搜索 | — |
| `--phone` | 手机号搜索 | — |
| `--is-main` | 是否主联系人（1=是） | 0（不过滤） |
| `--page` | 页码（从 1 开始） | 1 |
| `--page-size` | 每页条数 | 10 |
| `--data` | 完整 JSON body | — |
| `--file` | JSON body 文件路径（最后选择，仅本地已有文件时用） | — |

## 返回字段（表格模式）

| 列 | 说明 |
|----|------|
| ID | 联系人唯一标识（UUID）。**仅供你内部串联后续调用，展示给用户时必须去掉此列，绝不输出这串 UUID** |
| 联系人名称 | 姓名 |
| 电话 | 手机号 |
| 部门 | 所在部门 |
| 邮箱 | 邮箱地址 |
| 是否为主联系人 | 1=主联系人 |
| 创建时间 | 记录创建时间 |

> ⚠️ 工具的表格/JSON 输出里带 `ID`（UUID）列，但这是给你内部用的。**给用户的回复要把 ID 列剔除**，只呈现姓名、电话、邮箱等可读信息；不要原样把含 UUID 的表格贴给用户。

## 注意

- **`--customer-id` 仅在用户明确指定"查某个客户的联系人"时才传**；用户只是泛查联系人（按姓名/电话/关键字）时不要传，传了反而会把范围错误地限定到某个客户。不传时查询范围为该用户权限内的全部联系人（可能数据量大）。
- **报数量只用真实数字，不要预告计划**：回复里说的条数必须是工具**本次实际返回的条数**或响应里的**总数**，绝不要说"数据量可能较大、先展示前 N 条"这类预设话术——更不能出现与实际不符的数字（如说"前 50 条"实际只返回 6 条）。本次只返回了部分（总数大于本页条数）时，如实告知"共 X 位联系人，当前展示前 N 位，还有更多"。
- 数据来自 Elasticsearch，近实时。
- 当工单创建需要联系人信息时，先通过 `customer list` 获取客户 `id`，再用此命令查联系人。
