鹰眼 (reg-watch) · 保险监管动态监控
一、定位(与 regulation-monitor 的差异)
regulation-monitor 是“全金融”口径(NFRA/CSRC/PBOC 通用监管动态)。本 skill 是
保险专项深挖版,针对保险监管信号做了三件事:
- 来源收窄到保险条线:总局保险条线 + 36 地监管局保险处罚/许可 + 保险行业协会/资管协会。
- 分类多出“业务价值”维度:除了标题/摘要,强制打「影响对象 / 改造动作 / 风险等级 / 业务线」,
把每条动态映射到 政策变化 → 系统改造点 → 客户风险暴露 链上,直接服务财险信息化与合规改造。 - 产物即报告:输出可直接发邮件/归档的 Markdown 简报 + Excel 友好的 CSV 索引。
二、许可证与合规(发布到 skill-hub 的前提)
- 本 skill 以 MIT 许可证发布,可商用、可上架 skill-hub。
- 不打包、不修改、不重新分发任何第三方源码(含 Firecrawl)。参考其公开仓库中已验证的
工程架构思路("URL→干净 Markdown"管线 + 速率限制/重试退避/反爬与软封禁识别/robots 礼貌节流),
使用宽松许可依赖(trafilatura/Apache-2.0、beautifulsoup4/MIT、requests/Apache-2.0)独立实现。
具体吸收的模式见references/extraction_patterns.md。 - Firecrawl 自身为 AGPL-3.0;但 AGPL 义务仅在“分发/修改 Firecrawl 源码”或“把修改版
Firecrawl 当 SaaS 提供”时触发。本 skill 不触发该义务。详见references/license_and_dependencies.md与
references/firecrawl_notes.md。 - 可选集成:用户设
FIRECRAWL_API_KEY时改调 Firecrawl 托管 API(api.firecrawl.dev),
属“用户↔Firecrawl”的 SaaS 关系,不影响本 skill 的 MIT 许可。
三、何时使用
用户提到以下任一场景时触发本 skill:
- 保险监管动态 / 保险新政 / 保险监管办法 / 保险规章
- 险企被罚 / 保险行政处罚 / 监管处罚案例 / 罚没金额
- 保险风险提示 / 保险消费提示 / 以案说险
- 保险行政许可 / 保险产品条款费率备案 / 高管任职批复
- 保险行业自律规则 / 自律公约 / 财险产品备案通报(v1.2 新增)
- 财险合规改造点 / 监管变化对系统的影响
四、工作流(agent 执行)
步骤 1 发现 : 运行发现器生成候选清单(固化 36 地局 + 总局栏目 + WebSearch 模板,降低漏抓方差):
python scripts/discover.py --days 7 --out urls_candidates.txt
用 WebSearch 执行文件中 "# websearch:" 行,把命中详情 URL 收集进 urls.txt
(发现层输入见 references/sites.json 与 references/sites.md)。
步骤 2 抽取 : 运行爬虫(带跨运行增量去重,周报不重复推送已见条目):
python scripts/crawler.py --urls urls.txt --out crawl.json --state seen_docids.json
crawler.py 已内置:固定阶梯退避+抖动、429/Retry-After 解析、单页/整体超时、
robots.txt 礼貌节流(--respect-robots)、UA 池轮换、软封禁识别与 Firecrawl 降级、
URL 去重、SSRF 防护。可选:设 FIRECRAWL_API_KEY 走 Firecrawl 云端 API 兜底;
缺失依赖时自动降级。详见 references/extraction_patterns.md。
★ 站点适配器:对 nfra.gov.cn 详情页,crawler 自动改走官方公开 JSON 接口
SelectByDocId/data_docId={docId}.json(无需鉴权),比渲染 JS 更稳更全,
并自动抽取 attachmentInfoVOList 附件与发文字号等结构化元数据。
步骤 3 分类 : 运行自动分类器产出 items.json 草稿(agent 仅复核,不必手填全部):
python scripts/classify.py --crawl crawl.json --out items.json --scope insurance
脚本按正则+关键词映射 内容类型/业务线/风险等级/影响对象/改造动作/罚没金额。
⚠ 混合条目(如总局机关处罚公示同时含银行+保险机构)须按机构类型拆分为
insurance / banking 双侧字段(见下方"三报告约定")。要点(points)留空由 agent 提炼。
步骤 4a 动作映射 : 将监管变化映射到核心系统改造动作(24 条规则,可在 references/system_action_rules.json 扩展):
python scripts/action_mapper.py --items items.json --out items_mapped.json
步骤 4b 渲染 : 运行美化生成器(推荐,产出 HTML+MD 双格式、三口径):
python scripts/report_beautified.py --items items_mapped.json \
--start 20260801 --end 20260826 --out ./out --scope insurance
--scope 可取值 insurance(默认) / banking / full / all(三份)。
轻量兜底:python scripts/report.py --items items.json --report report.md --csv index.csv
(仅 Markdown+CSV,无附件下载/无三口径拆分,用于快速索引)。
步骤 5 交付 : 默认仅产出保险业监管动态(见下方"三报告约定");如需银行/全含,显式指定 --scope。
如需归档,落盘到用户许可目录。
三报告约定(默认保险;可选银行/全含)
默认仅产出保险业监管动态。如需三口径,显式传 --scope all 可一次产出三份,顺序:保险业监管动态 → 银行业监管动态 → 全含。
- 保险业监管动态:金融去除银行(
line != "银行"),标题"保险业监管动态",
命名保险业监管动态_监控起始yyyymmdd_监控中止yyyymmdd_监控时间点yyyymmddhh24mmss。 - 银行业监管动态:金融去除保险(
line in ("银行","通用")),标题"银行业监管动态",
命名银行业监管动态_*。 - 全含报告:保持现状命名
监管动态_NFRA_*(当前成品)。
混合条目按机构类型双向归并(保险侧含险企、银行侧含银行机构);业务线=通用的跨领域条目两边均保留。
格式六则(每条动态必遵守)
- ① 命名:
监管动态_NFRA_监控起始yyyymmdd_监控中止yyyymmdd_监控时间点yyyymmddhh24mmss(三报告前缀见上)。 - ② 原文链接:每条保留原文链接(可信溯源)。
- ③ 附件:无预览;有则展示下载——PDF→PDF 下载 / Word→Word 下载 / 表格→表格下载,多附件按序号 01/02。
- ④ 七字段:HTML 展示
日期:|来源:|风险:|业务线:+影响对象:|动作:|摘要:(标签带全角冒号)。 - ⑤ MD 加图标:增强专业可读性(📋📅🏛️🎯⚙️📝⭐🔗📎 等)。
- ⑥ 顺序:HTML 中
摘要:→⭐要点:→🔗原文链接:→📎附件(要点在摘要下、原文链接上,体现"要点"图标+汉字)。
items.json 字段结构(agent 在步骤 3 填充)
[
{
"title": "国家金融监管总局关于...的通知",
"date": "2026-08-20",
"url": "https://...",
"source": "国家金融监管总局",
"content_type": "政策法规", // 政策法规 | 行政处罚 | 风险提示 | 行政许可
"affected": "财产保险公司/互联网保险业务",
"action": "保费计算引擎参数调整、条款备案",
"risk_level": "高", // 高 | 中 | 低
"line": "财险", // 财险 | 寿险 | 中介 | 资管 | 通用
"penalty_amount": "", // 仅行政处罚填写,如 "¥1,200,000"
"summary": "一句话摘要 + 对系统/客户的实质影响"
}
]
五、依赖
pip install "trafilatura>=1.12.0" "beautifulsoup4>=4.12.0" "requests>=2.31.0"
未安装依赖时,crawler.py 自动降级为「仅 Firecrawl 云端 API 模式」(需 FIRECRAWL_API_KEY)。
六、定时自动化(可选)
三套完整模板见 references/weekly_automation.md:cron / Windows 计划任务 / WorkBuddy 自动化,均含完整命令、seen_docids.json 与 weekly_state.json 状态文件及断点恢复。
快速 WorkBuddy prompt 如下(完整状态与恢复约束以模板为准):
检索近 7 天保险监管动态(总局保险条线 + 36 地监管局 + 保险行业协会),
用 reg-watch skill 的 crawler.py 抽取正文(优先 NFRA 官方 JSON 适配器)、按 taxonomy.md 分类,
最后用 report_beautified.py 产出保险业监管动态(默认;如需银行/全含,加 --scope all 一次出三份)美化报告(HTML+MD),呈现给用户。
七、目录
scripts/discover.py— 发现器:读 references/sites.json(总局栏目 + 36 地局 + 查询模板)生成 urls_candidates.txt(WebSearch 模板 + 总局栏目),把发现层脚本化、降漏抓方差scripts/crawler.py— 自研网页正文抽取(trafilatura 优先 / bs4 兜底 / 可选 Firecrawl API;
内置退避重试、Retry-After、超时分层、robots 节流、UA 轮换、软封禁降级、去重、SSRF 防护;
含 NFRA 官方 JSON 站点适配器,自动抽取附件与结构化元数据;--state跨运行增量去重)scripts/classify.py— 自动分类器:crawl.json → items.json 草稿(正则+关键词映射 内容类型/业务线/风险等级/影响对象/改造动作/罚没金额),agent 仅复核scripts/report_beautified.py— 推荐渲染器:分类条目 → 保险/银行/全含 三口径美化 HTML+MD(默认仅保险,--scope可切)
(图标工具栏、附件下载、原文链接、要点块、七字段),支持--scope/--start/--end/--out参数scripts/report.py— 轻量兜底:结构化条目 → Markdown 报告 + CSV 索引(无附件/无三口径拆分)references/sites.md— 来源站点清单(v1.1,含 36 地局固化与发现模板)references/sites.json— 发现器结构化数据源(总局栏目 + 36 地局 + 查询模板)references/sources.md— 来源清单与 WebSearch 发现查询模板references/taxonomy.md— 分类体系scripts/action_mapper.py— 监管条目 → 核心系统改造动作(v1.3 新增,纯标准库)references/system_action_rules.json— 24 条动作映射规则,覆盖费率、条款、承保、理赔、消保、偿付能力等references/weekly_automation.md— 三套周报自动化模板与断点恢复(v1.3 新增)references/firecrawl_notes.md— Firecrawl 原理参考与 AGPL 边界说明references/extraction_patterns.md— 从 Firecrawl 吸收的速率/反爬精华与对应实现映射references/license_and_dependencies.md/README.md— 许可证、第三方边界、依赖安装与声明
八、免责声明
本 skill 仅聚合公开监管信息,不构成法律意见或合规建议。监管判断以官方原文及
持证法律/合规专业人士意见为准。