182 lines
15 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
name: l1-geo-html-screen-diff
description: >-
Compare an L1 project GEO HTML report with the haoxian/hisense geo-monitor page
(level=project) by on-screen names, percentages, copy, and source-title
order, then write a numbered test report. Supports Katechi and Hisense KPI
profiles, one URL pair or a JSON batch of project_id, html_url, and url. Use
when the user asks for an L1 or 项目级 diff of HTML vs 平台, geo-monitor,
海信, 卡泰驰, 露出率, 前三率, 中正面率, 分平台, 露出排行, AI 认知词云,
信源内容类型, 信源发布时间, 媒体类型, 媒体名称, 关联信源, 引用信源榜,
画面值, 批量, diagnosis, or a project-level numerical test report.
---
# L1 HTML 与平台画面对照
对照 L1 项目监测 HTML 与监测页。只比映射板块上写出来的名称、百分比和指定文案。除第 12 项外,不比位置、颜色、条形图还是方块。
计算、接口、排序细则见 [reference.md](reference.md)。示例只说明参数怎么传,见 [examples.md](examples.md)。示例 JSON 见 [batch.example.json](batch.example.json)。不要把示例里的地址、日期、目录和 JSON 当成默认值。
## 企业口径
不同企业监测 KPI 字段与画面规则不同。先按本次 `platform_url` / 登录企业判定口径,再跑 12 项。不要把卡泰驰的字段假设套到海信上。
| 判定 | 卡泰驰(默认) | 海信集团 |
|---|---|---|
| 识别 | `haoxian.cemeta.cn`,产线含卡泰驰等 | `geo.hisense.com`,或产线/line 含「海信」,或认证企业「海信」 |
| 常见 `reportType` | `monitor` | `diagnosis``monitor`(以 URL 为准) |
| 第 3 / 4 项 KPI | 3 卡:露出率、前三率、正面率 | **固定 5 卡**(见下「海信 L1 KPI 五卡」);第 4 项与第 3 项同五项、分平台。`diagnosis` 无多期趋势时用各平台 `self` 最新点 |
| 第 5 项排行 | 综合榜 = 本品 `summary.avg_exposure_rate` + `core_competitors` | 默认比 **品牌级**(有「品牌级/产品级」时)。平台 competitor 只取 `kind=brand`,禁止把 `kind=product` 机型行挤进 Top 10。HTML 按画面 `_buildLeaderboardRows`(本品 + `core_competitors``groupByBrand` 取最大露出率)。**并列露出率名次对调不算第 5.2 失败**,表里注明并列即可 |
| 第 9 项媒体类型 | HTML 去「其他/未知」后按剩余重算占比 | HTML `media_category.value` 常为**次数**(正值和 ≫100。占比分母用**全部正值之和(含「其他」)**,再与平台已印百分数比;「其他」仍不进入 HTML 前 10 名单 |
| 批次号 | 从 batch 接口 `l1CrawlBatchIds` 解析 | batch 列表可能为空;可按 `HISENSE-HIST-{project}-{YYYYMMDD}-D`(电视诊断)等已验证模式解析,仍以接口返回为准 |
### 海信 L1 KPI 五卡
海信集团 L1 **都会有品牌露出率**。第 3、4 项按这五张卡比,不要只比卡泰驰的三项。文案约定(写法不同不算失败):
| # | 平台画面 | HTML 画面(常见) | HTML `DATA`(综合) | 平台 snapshot |
|---|---|---|---|---|
| 1 | 品牌露出率 | 品牌露出率(或 DATA 有值;模板未印卡时仍比数值) | `brand.overall.brand_level_exposure_rate`;分平台 `platforms.*.self.brand_exposure_rate` | `brand_exposure_rate` |
| 2 | 指定露出词露出率 | **露出率** | `brand.summary.avg_exposure_rate`;分平台 `self.exposure_rate` | `exposure_rate` |
| 3 | 首位率 / 前三率 / 前五率(产线不同) | 同左,由 `meta.position_metric` 决定 | `first``avg_first_position_rate``top3``avg_top3_rate``top5``avg_top5_rate`;分平台对应 `first_position_rate` / `top3_rate` / `top5_rate` | 同名字段;`first` 可用 `top1_rate` |
| 4 | 中正面率 | **中正面提及率** | `brand.summary.avg_positive_mention_rate`;分平台 `self.positive_mention_rate` | `positive_rate` |
| 5 | 商品链接露出率 | 商品链接露出率 | `brand.summary.product_link``!= null` 才出卡;有值必比) | `product_link_rate` |
**品牌露出率圆整(海信)**走「海信画面百分比」规则1 位小数相等或差 0.1)。若画面印整数,按整数四舍五入后相等也通过。
**海信画面百分比(含 AI 露出情况监测 KPI 等)**:平台看板显示 **1 位小数**;与 HTML 数值先各自四舍五入到 1 位小数再比——**相等,或相差 0.1 个百分点,判定一致**。不要用更严的 0.05 去卡海信。卡泰驰仍按下文通用 0.05。
**指定露出词露出率 = HTML「露出率」= `avg_exposure_rate`**,不要和品牌露出率对倒。品牌露出率只用 `brand_level_exposure_rate` / `brand_exposure_rate`
海信细则与接口字段见 [reference.md](reference.md)「海信集团」。卡泰驰示例见 [examples.md](examples.md);海信批量示例用 `batch_海信电视0905诊断.json`,不要把其中项目号当默认值。
## 参数
两种入口。共享参数缺了就停下来问。不要沿用上次对话、示例或本文件里的地址、日期和目录。用户同时给了单条地址和 JSON 时,以 JSON 为准,按数组逐项做,不要只做消息里那一条。
### 单条
| 参数 | 用户怎么叫 | 用途 |
|---|---|---|
| `platform_url` | url地址 | 监测页完整 URL`batchDate``level=project``project` |
| `html_url` | html地址 | 历史 HTML 完整 URL有版本参数时原样使用 |
| `platform_period` | url日期 | 平台监测周期,如 `9月w38`。只核对页面日期文案 |
| `html_monitor_date` | html日期 | HTML 监测日期,如 `2026-09-15`。只核对页面日期文案 |
| `report_dir` | 测试报告目录 | 绝对路径。报告只写在这个目录下 |
### 批量
用户给 JSON 数组,或给 JSON 文件路径。没给地址、也没给 JSON就停下来问。数组为空也停下来问。
每一项三个字段:
| 字段 | 用途 |
|---|---|
| `project_id` | 项目 id。必须等于该项 `url` 查询参数 `project` |
| `html_url` | 该项历史 HTML当作 `html_url` |
| `url` | 该项监测页,当作 `platform_url` |
`platform_period``html_monitor_date``report_dir` 仍由用户本次给出,整批共用。不要从示例 JSON 补这三个。
`project_id``url` 里的 `project` 不一致时,停下来问,不要改 URL 去凑。按数组顺序逐项做完 12 项。一项失败不跳过其余项。每项单独编号、单独报告。
用户给定的日期对应关系不是差异。不要因为一边是日期、一边是周次就判失败。
`batchDate`、公司、批次号、`project` 从本次 `platform_url` 和当次登录会话解析。不要写死批次号、公司号、手机号或密码,也不要把凭据写进报告。
## 板块对应
用户原文,按这个对照,不要改映射:
**卡泰驰(默认 3 卡)**
- 露出率HTML「平均露出率」= 平台「指定露出词露出率」
- 前三率HTML「平均前三率」= 平台「前三率」
- 正面提及率HTML「平均正面提及率」= 平台「中正面率」
- HTML「各平台核心指标趋势」露出率 = 平台「指定露出词露出率 · 分平台」
- HTML「各平台核心指标趋势」前三率 = 平台「前三率 · 分平台」
- HTML「各平台核心指标趋势」正面提及率 = 平台「中正面率 · 分平台」
**海信(固定 5 卡,见「海信 L1 KPI 五卡」)**
- 品牌露出率HTML `brand_level_exposure_rate` / 分平台 `brand_exposure_rate` = 平台「品牌露出率」1 位小数四舍五入后相等或差 0.1 即通过;整数展示另按整数圆整)
- 指定露出词露出率HTML「露出率」`avg_exposure_rate` = 平台「指定露出词露出率」
- 首位率/前三率/前五率:按 `meta.position_metric` = 平台同名卡
- 中正面率HTML「中正面提及率」= 平台「中正面率」
- 商品链接露出率HTML「商品链接露出率」= 平台「商品链接露出率」
**共用板块**
- HTML「行业露出率排行榜」= 平台「露出排行 · 各平台明细」
- HTML「AI 回答关键词」= 平台「AI 认知词云」
- HTML「AI 回答正面关键词」= 平台「AI 认知词云」下的正面词
- HTML「AI 回答负面关键词」= 平台「AI 认知词云」下的负面词
- HTML「信源内容类型分布」= 平台「TMC 信源分析」下的信源内容类型
- HTML「信源发布时间分布」= 平台「TMC 信源分析」下的信源发布时间
- HTML「媒体类型」= 平台「媒体类型」
- HTML「媒体名称」= 平台「媒体名称」
- HTML「关联信源」= 平台「该问题的引用信源榜」
- HTML 标题 = 平台信源标题
- HTML 信源 = 平台渠道
- HTML 占比这一列的对照口径 = 平台被引次数。不要把占比百分数和次数当成同一个画面字段
HTML「综合」= 平台「全平台」。这是约定,不算第 2 项失败。
平台选项综合、DeepSeek、豆包、通义、元宝、文心、Kimi。接口值`ALL``deepseek``doubao``qwen``yuanbao``baidu_wenxin``kimi`
## 测试范围
12 项都要做。每一项标题写成 `测试通过✅``测试失败❌`,不要只写相同或不同。
1. 确认两个 URL 能否打开,截图进报告。
2. 七个 AI 平台选项是否相同。HTML 里面综合 = 全平台,通义 = 通义千问,元宝 = 腾讯元宝,文心 = 百度文心
3. 各选项的 KPI 卡是否相同。**卡泰驰**:露出率、前三率、正面率。**海信**五卡品牌露出率、指定露出词露出率↔HTML露出率、首位/前三/前五、中正面率↔中正面提及率、商品链接露出率),见「海信 L1 KPI 五卡」。
4. 各选项上,分平台 KPI 是否等于平台分平台对应项。卡泰驰为趋势最后一点的三项;海信为与第 3 项相同的五卡(`diagnosis` 无多期时用 `self` 最新点)。
5. HTML「行业露出率排行榜」= 平台「露出排行 · 各平台明细」。平台这一张表同时列出各选项,不要切换平台选项。只比各自 Top 10。三步都要做任一步不同则该项测试失败❌。海信默认品牌级平台只比 `kind=brand`(见「企业口径」)。
1. 综合的平均露出率 = 平台全平台列的平均露出率(**按 Top 10 同名比**,不要只按下标对齐)。
2. HTML 综合排名品牌 Top 10 = 平台全平台排名品牌 Top 10。名次和品牌名都要相同名称逐字相同。第 11 名及以后不比。**两边都按平均露出率从高到低取 Top 10不要用接口 `rank` 当名次**`rank` 可能是灌数防撞号,画面实际按露出率排)。**海信:露出率并列时名次对调不算本步失败**。
3. 这 10 个品牌在 HTML 的 DeepSeek、豆包、通义、元宝、文心、Kimi 上的平均露出率,等于平台同一张表里对应列。列对应为通义=通义千问,元宝=腾讯元宝,文心=百度文心。未露出时 HTML 为空、平台为「-」,不算不同。卡泰驰差超过 0.05 算不同;**海信按 1 位小数四舍五入后相等或差 0.1 算相同**。
6. 正面关键词、负面关键词。词云不随 AI 平台切换,七个选项同一套。下面三组文案是约定,写法不同不算失败:
1. HTML「AI 回答关键词」= 平台「AI 认知词云」
2. HTML「AI 回答正面关键词」= 平台「正面词」
3. HTML「未监测到负面词」= 平台「中正面率100%,暂无负面词」
正面词还要比图片素材HTML 词云图画出来的词,和平台正面词图画出来的词,词条相同才算相同。不比词的大小、颜色和摆放位置。有负面词时比词条,不比空态文案。
7. 各选项的信源内容类型是否相同。占比优先用接口/HTML 已印的百分数字段;仅当 `value` 明显是次数时才按正值之和重算。不要把已是百分比的 `value` 再除一次(会造 0.1 点假失败)。
8. 各选项的信源发布时间是否相同。占比口径与第 7 项相同。
9. 各选项的媒体类型:占比和展示名称,只取前 10。海信 HTML 为次数时,分母含「其他」(见「企业口径」)。
10. 各选项的媒体名称:占比和展示名称,只取前 10。
11. 各选项的关联信源:标题、渠道、被引次数,只取前 30。不比序号。
12. 各选项的关联信源:标题内容,以及序号上展示的标题是否相同。只取前 30。
数据不同时给出平台和 HTML 的对比。每个平台都要输出同名但百分比不同的名称、HTML 画面值、平台画面值。没有这种差异的平台写「画面上同名占比无差异」,不要省略该平台。露出率若同名百分比相同,写条数,不要把相同行展开成差异表。第 5 项只比 Top 10名次或品牌名不同要展开不能只写条数。第 11 名及以后不报。
差超过 0.05 个点才算不同(**卡泰驰**。0.05 是百分点,不是相对误差。两边按 1 位小数比,最小能看出来的差别是 0.1。13.80% 和 13.8% 差是 0判相同。
**海信**:平台看板为 1 位小数时,与 HTML 四舍五入到 1 位后**相等或相差 0.1** 判定一致(例如 12.3 与 12.4 通过12.3 与 12.5 不通过)。详见「海信画面百分比」。
## 只在一边展示
不要写成两张互不对照的「仅 HTML / 仅平台」名单。改成对照表,写清原因。
- 同一条、只是名称写法不同、百分比相同:一行写 HTML 画面名、平台画面名、百分比。例如 HTML「车」、平台「车300」。第 5 项不适用这条例外,品牌名必须逐字相同。
- 一边因为 Top 10 或 Top 30 没印出来:写「前 10 之外,未印」或「前 30 之外,未印」,不要说成数值算错。第 5 项只比 Top 10第 11 名及以后不报。
- HTML 不画「其他」,平台前 10 有「其他」:单独一张表写各平台的平台画面值。若没有把 HTML 的名称挤出前 10写明没有「仅 HTML」的类型。
- 选项文案不同(通义 / 通义千问,元宝 / 腾讯元宝,文心 / 百度文心):放进第 2 项对照表。综合 = 全平台不记失败。其余写法不同则第 2 项为测试失败❌。
- 平台多出来、且没有出现在本次对照画面里的字段,不报。
媒体类型、媒体名称只在前 10 条里判缺失。第 11 条及以后不报。
## 报告文件
目录不存在就创建。
项目 id 取本次该项 `platform_url``project` 参数,记为 `project`。批量时每一项各自取,不要共用上一项的 id。
`report_dir` 里找已有的 `测试报告-N-{project}.md`,只计本次这个 `project`。下一个编号是这些文件里最大 N 加 1。该项目还没有则从 1 开始。`测试报告.md``测试报告-N.md` 和其他项目 id 的文件不算本次编号。批量里各项互不影响编号。
写成 `{report_dir}/测试报告-{id}-{project}.md`。截图放在 `{report_dir}/shots-{id}-{project}/`,报告里用相对路径 `shots-{id}-{project}/文件名`。不要覆盖已有报告,不要写到 `report_dir` 以外。
文件开头先给结论:一致,或不完全一致。然后是 12 项结论表,每项一个结果:`测试通过✅``测试失败❌`
写完后在回复里给出报告的绝对路径。批量时按 JSON 顺序逐项给结论和绝对路径。对话里只保留结论和路径同名差异表以该文件为准。文件里的日期、URL、保存目录用本次参数不要留示例值。