182 lines
15 KiB
Markdown
182 lines
15 KiB
Markdown
---
|
||
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、保存目录用本次参数,不要留示例值。
|