---
name: chainlon-geo
description: 链龙 GEO 可见度检测。查询品牌在 AI 搜索里的真实可见度、生成关键词矩阵、输出综合诊断与行动建议。当用户问「我们品牌在 AI 里能不能搜到」「AI 会不会推荐我们」「帮我做 GEO 诊断」「生成关键词矩阵」时使用。
---

# 链龙 GEO 可见度检测

> 这是「链龙 GEO 连接器」配套的使用说明。
> 它的作用是：教 AI **什么时候该调哪个工具、参数怎么填、返回结果怎么看**。
> 它就是一组远程工具，AI 通过它们拿到**真实检索数据**（不是模型凭记忆猜的）。

---

## 一、最重要的原则（务必遵守，违反会出事）

1. **绝不编造分数、排名、结论。**
   本连接器只返回**真实检索到的内容**。当数据源未配置或检索失败时，
   返回里会带 `degraded: true`，表示「没查到真实数据」。
   此时你必须**如实转述**："当前未配置真实检索数据源，无法给出真实可见度结论。"
   **禁止**用你自己的记忆、印象、推测去补一个分数或排名。
   链龙踩过这个坑：早期整套诊断都是模型编的，差点被当成真实报告卖出去。

2. **如实标注数据来源。**
   有真实数据时，说明"数据来源：博查 AI 搜索"等；
   降级时，明确说"无真实数据"。

3. **一次回答不要重复调用同一个工具。**
   每个工具都有超时保护（25 秒），重复调用只会拖慢。

---

## 二、三个工具

### 1. `check_visibility` —— 查品牌在 AI 搜索里的可见度

**什么时候用**：用户问「XX 品牌在 AI 里能不能搜到 / 被提到 / 有没有存在感」。

| 参数 | 必填 | 默认值 | 说明 |
|---|---|---|---|
| `brand` | 是 | 无 | 品牌名，如「某某造型」 |
| `industry` | 否 | `美发` | 行业，如「美发」「美容」「口腔」 |
| `city` | 否 | `''`（空） | 城市，如「北京」。**有城市就一定要填**，本地生意的检索结果差别很大 |

**返回怎么看**：
- `degraded: false` → 有真实数据。看 `mentioned`（是否被提到）、`found_count`（几个查询命中）、`sources`（命中证据：标题+站点+链接）。
- `degraded: true` → **没查到真实数据**。此时 `mentioned`/`found_count` 一律不存在，
  你必须如实说明，不能自己补。

### 2. `keyword_matrix` —— 生成关键词矩阵

**什么时候用**：用户问「该布局哪些词」「有哪些关键词」「帮我出关键词方案」。

| 参数 | 必填 | 默认值 | 说明 |
|---|---|---|---|
| `industry` | 是 | 无 | 行业，如「美发」 |
| `city` | 是 | 无 | 城市，如「杭州」 |

**返回**：三组关键词，每组 5-8 个：
- `brand_words` 品牌词：直接搜品牌的词（看有没有公开内容资产）
- `recommend_words` 推荐词：用户问「哪家店好」的典型问法
- `demand_words` 需求词：带明确需求的问法（价格、哪家、怎么选）

**注意**：这是**检索词模板**，不是实测数据。转述时说"这是建议布局的检索词"，
不要说"这些词的排名是 X"。

### 3. `diagnose` —— 综合诊断

**什么时候用**：用户要一份完整的 GEO 诊断 / 行动建议。

| 参数 | 必填 | 默认值 | 说明 |
|---|---|---|---|
| `brand` | 是 | 无 | 品牌名 |
| `industry` | 否 | `美发` | 行业 |
| `city` | 否 | `''`（空） | 城市 |

**返回**：`visibility`（可见度结果）+ `advice`（行动建议列表）+ `data_status`（数据状态）。

**注意**：`degraded: true` 时，`advice` 是**通用行动清单**（不针对该品牌的实测结论），
转述时必须说明这一点。

---

## 三、调用示例

用户说：**"查一下某某造型在 AI 搜索里的可见度"**

→ 调 `check_visibility(brand="某某造型", industry="美发", city="北京")`

用户说：**"帮我生成一份杭州美发的关键词矩阵"**

→ 调 `keyword_matrix(industry="美发", city="杭州")`

用户说：**"给某某造型做个 GEO 综合诊断"**

→ 调 `diagnose(brand="某某造型", industry="美发", city="北京")`

---

## 四、错误处理

| 情况 | 返回特征 | 你怎么回复用户 |
|---|---|---|
| 未配置检索数据源 | `degraded: true`，`reason` 含「未配置」 | "当前未配置真实检索数据源，无法给出真实可见度。请先到链龙后台配置数据源。" |
| 检索超时（>25 秒） | `error` 含「超时」 | "这次查询超时了，请稍后重试。" 不要自己猜结果。 |
| 参数缺失 | `error` 含参数名 | 提醒用户补全参数（最常见是忘了填品牌名/城市）。 |
| 服务连不上 | 调用本身失败 | "GEO 服务暂时不可用，请稍后再试。" |

---

## 五、不要做的事

- 不要在没有真实数据时，凭印象说「这个品牌知名度较低」——这是编的。
- 不要给品牌打一个 0-100 的分数——本连接器不产出分数。
- 不要把 `keyword_matrix` 的模板词说成「已验证有效的词」。
- 不要向用户暴露任何密钥、接口地址细节。
