保单照妖镜 - 保单权益保障PK擂台。如果你遇到不知道该如何花钱买更适合自己的保险,看到两家保险产品不知道如何比较两份保单的好坏?选用这个工具是最基础、最简单的PK工具,让你清晰了解两个产品的好坏。 上传两张或以上意外险保单(图片/PDF),自动OCR识别+LLM结构化提取,七维度科学打分对比(含理赔口碑实时搜索...
---
name: 保单照妖镜 - 保单权益保障PK擂台
version: "1.0.0"
author: WuWenBin-BeiJing-ST
description: |
保单照妖镜 - 保单权益保障PK擂台。如果你遇到不知道该如何花钱买更适合自己的保险,看到两家保险产品不知道如何比较两份保单的好坏?选用这个工具是最基础、最简单的PK工具,让你清晰了解两个产品的好坏。
上传两张或以上意外险保单(图片/PDF),自动OCR识别+LLM结构化提取,七维度科学打分对比(含理赔口碑实时搜索),生成雷达图(专业)+体检报告(小白)双视图可视化报告。
触发场景:(1) 用户上传保单图片/PDF要求比较 (2) 用户问"帮我对比一下这两个意外险" (3) 用户提到保单比较、保险对比、意外险选择 (4) 用户要求分析保单条款差异 (5) 任何涉及意外险/意外伤害保险的比较、选择、推荐需求。
---
# 保单照妖镜 - 保单权益保障PK擂台
> 如果遇到不知道该如何花钱买更适合自己的保险,看到两家保险产品不知道如何比较两份保单的好坏?选用这个工具是最基础、最简单的PK工具,让你清晰了解两个产品的好坏。
**作者:** WuWenBin-BeiJing-ST | **版本:** V1.0.0
## 工作流程
### 1. 文档解析
接收用户上传的保单文件(图片jpg/png或PDF),提取文本:
- **PDF文本型** → PyMuPDF (`fitz`) 直接提取
- **PDF扫描型** → 转图片后 OCR
- **图片** → OCR 识别
OCR 优先使用 PaddleOCR(本地),不可用时回退到系统 tesseract。
```bash
# 检查 OCR 可用性
python3 -c "import paddleocr; print('paddleocr OK')" 2>/dev/null || echo "paddleocr not available"
tesseract --version 2>/dev/null || echo "tesseract not available"
```
若都不可用,提示用户安装:`pip install paddleocr paddlepaddle` 或 `brew install tesseract`
### 2. 信息提取
将 OCR 文本送入 LLM,按 JSON Schema 提取结构化数据。Schema 定义见 [references/schema.md](references/schema.md)。
**提取 Prompt 要点:**
- 给出完整 Schema 定义,要求输出严格符合 Schema
- 对每个字段标注"高/中/低"置信度
- 对无法确定的字段填 null,不要猜测
- 保留关键条款原文摘要到 `raw_text_excerpt`
**提取后校验:**
- 必填字段存在性
- 数值合理性(保额>0,保费50-5000元范围,免赔额0-1000元)
- 逻辑一致性(有意外医疗但免赔额为null → 标记为"未提取到")
- 低置信度字段 → 回溯原文二次提取或标记用户确认
### 3. 七维度打分比较
比较引擎对每张保单**七维度**打分(每维度满分100),加权汇总。维度配置见 [references/dimension_config.md](references/dimension_config.md)。
| 维度 | 权重 | 核心考察点 |
|------|------|-----------|
| 保障范围 | 25% | 意外身故/伤残/医疗/猝死/交通/津贴/救护车覆盖数 |
| 保额与赔付 | 18% | 各项保额绝对值 + 报销比例 + 伤残等级表 |
| 免赔与等待 | 12% | 免赔额越低越好,等待期越短越好 |
| 除外责任 | 18% | 坑越少分越高(职业限制、运动限制、地区限制) |
| 性价比 | 10% | 每万元保障成本 + 杠杆比 |
| 理赔条件 | 7% | 理赔时效 + 线上化 + 医院范围 |
| **理赔口碑** | **10%** | **实时搜索社交媒体、投诉网站、监管网站披露的理赔时效评比(未搜到则显示"需付费咨询")** |
### 4. 理赔口碑实时搜索(第七维度)
这是本工具的**核心差异化能力**——不只看条款写什么,更要看**真出事了赔不赔得到**。
**搜索流程:**
1. 提取两份保单的保险公司名称 + 产品名称
2. 对每家公司/产品执行以下搜索:
- **社交媒体搜索**:微博、小红书、知乎 → 搜索 `[保险公司名] 理赔 + 意外险/意外伤害`,关注真实用户分享的理赔经历
- **投诉网站搜索**:黑猫投诉、聚投诉 → 搜索 `[保险公司名] 理赔投诉`,统计投诉量和主要投诉类型
- **监管网站搜索**:银保监会/金融监管总局 → 搜索 `[保险公司名] 理赔时效`,查看官方披露数据
3. 综合评估:
- **理赔时效口碑**:用户平均反馈多久拿到赔款
- **理赔难度口碑**:是否频繁出现"以各种理由拒赔""拖赔"等投诉
- **投诉量/保费收入比**:相对投诉密度
4. 若搜索无果或数据不足 → 该维度标注"⚠️ 数据不足,建议付费咨询专业保险顾问获取理赔口碑详情",该维度不计入总分(其他六维度权重自动归一化)
**搜索关键词模板:**
```
"[保险公司] 意外险理赔 怎么样"
"[保险公司] 理赔投诉"
"[保险公司] 理赔时效 银保监会"
"[产品名] 理赔 真实经历"
```
### 5. 可视化报告生成
使用 assets/template.html 模板生成双视图报告:
- **📊 专业对比** — ECharts 雷达图,七维度"形状"一目了然
- **🩺 体检报告** — 白话问题标题 + 双色进度条 + 一句话点评 + 坑点高亮 + 场景化建议 + 理赔口碑模块
替换模板中的占位符:
- `{{POLICY_A_NAME}}`, `{{POLICY_B_NAME}}` — 保单名称
- `{{POLICY_A_INSURER}}`, `{{POLICY_B_INSURER}}` — 保险公司
- `{{POLICY_A_PREMIUM}}`, `{{POLICY_B_PREMIUM}}` — 年缴保费
- `{{POLICY_A_SCORE}}`, `{{POLICY_B_SCORE}}` — 综合评分
- `{{RADAR_A_VALUES}}`, `{{RADAR_B_VALUES}}` — 雷达图数据 (JSON数组,7个值)
- `{{DIMENSIONS_HTML}}` — 七维度体检报告HTML块
- `{{PITFALLS_HTML}}` — 坑点提醒HTML
- `{{RECOMMENDATIONS_HTML}}` — 购买建议HTML
- `{{CLAIM_REPUTATION_HTML}}` — 理赔口碑模块HTML(含搜索来源和数据摘要)
### 6. 输出
将生成的HTML报告保存到用户桌面,自动在浏览器中打开。
## 使用示例
```
用户: 帮我比较这两个意外险保单 [上传图片1] [上传图片2]
→ 自动解析 → 提取 → 打分 → 搜索理赔口碑 → 生成报告 → 浏览器打开
用户: 这两个意外险哪个好? [上传PDF1] [上传PDF2]
→ 同上流程
用户: 平安和太平洋的意外险理赔哪个好?
→ 触发理赔口碑搜索,对比两家公司的真实理赔口碑
```
## 注意事项
- 所有比较结果必须附免责声明:"本对比仅供参考,不构成投保建议,具体以保险合同为准"
- 理赔口碑数据来自公开搜索,可能存在样本偏差,需标注"数据来源与局限性"
- 对非专业用户,所有术语需提供白话解释(如"免赔额"→"自己掏腰包的部分")
- 提取置信度低的字段必须在报告中标注,提示用户手动确认
- 仅支持意外险(意外伤害保险),不支持寿险、重疾险、医疗险等其他险种
- 理赔口碑搜索若无结果,显示"⚠️ 数据不足,建议付费咨询"而非给出不准确评分
don't have the plugin yet? install it then click "run inline in claude" again.