返回 Skill 列表
extension
分类: 数据与分析无需 API Key

住建政策情报采集分析助手

住建政策情报采集分析助手。面向省级住建部门,从住房和城乡建设部、江苏省住建厅、浙江省住建厅三个固定官网采集政策动态,下载政策附件,生成交互式网页周报(含主题分析、省际对标、政策线索),全程可追溯。触发词:采集政策、政策周报、住建动态、政策情报、对标分析、开始采集。

person作者: user_5aaffaf2hubcommunity

住建政策情报采集分析助手

面向省级住建部门业务人员,验证完整业务闭环:

选择日期范围 → 采集三个官网 → 查看采集日志 → 筛选主题/地区 → 下载政策附件 → 生成交互式网页周报 → 查看分析结论与证据来源。

三个固定信息源(站点结构见 references/site_schema.md):

| 层级 | 来源 | |---|---| | 国家层面 | 住房和城乡建设部 https://www.mohurd.gov.cn/index.html | | 本省 | 江苏省住建厅 http://jsszfhcxjst.jiangsu.gov.cn/ | | 对标省 | 浙江省住建厅 https://jst.zj.gov.cn/index.html |

运行环境

  • 采集脚本用 WorkBuddy 内置 Python 运行时:C:/Users/shaoyuanhang/.workbuddy/binaries/python/envs/default/Scripts/python.exe
  • 依赖:httpx、beautifulsoup4、lxml(已安装于该 venv)
  • 数据目录:C:/Users/shaoyuanhang/WorkBuddy/Claw/data/(SQLite + 附件 + 日志 + 快照)
  • 产物目录:C:/Users/shaoyuanhang/WorkBuddy/Claw/output/(search.html + report.html)
  • 图表库:assets/echarts.min.js(本地 bundle,无需外网)

执行流程(6 个工作流单元)

单元 1:采集任务初始化

  1. 与用户确认:起止日期、采集站点(默认三站全选)、主题筛选(默认全部)。
  2. 若用户未给日期,默认「最近 7 天」(今天往前 7 天)。
  3. date 命令获取今天日期,计算起止(不要手算)。

单元 2:站点采集(scripts/collect.py)

cd "C:/Users/shaoyuanhang/WorkBuddy/Claw/.workbuddy/skills/housing-policy-intelligence/scripts"
"C:/Users/shaoyuanhang/.workbuddy/binaries/python/envs/default/Scripts/python.exe" collect.py \
  --start <YYYY-MM-DD> --end <YYYY-MM-DD> \
  --sites mohurd,jiangsu,zhejiang \
  --db "C:/Users/shaoyuanhang/WorkBuddy/Claw/data/policy.db" \
  --data-dir "C:/Users/shaoyuanhang/WorkBuddy/Claw/data" \
  --snapshot-fallback
  • 逐站抓列表 → 日期过滤 → 抓详情 → 结构化 → 去重 → 入库 → 下载附件 → 保存快照。
  • 单站失败不阻塞;任务状态:成功 / 部分成功 / 失败。
  • 失败时自动加载 data/snapshot/articles.json(最近成功快照)。

单元 3:内容结构化(scripts/structure.py)

  • 标题、时间、来源、栏目、正文、主题、摘要、指纹、重要度。
  • 主题按 references/topics.md 词表分类,WorkBuddy 可补充标签。

单元 4:附件处理(scripts/download_attachments.py)

  • 类型白名单 pdf/doc/docx/wps/ofd;单文件 ≤ 20MB;单站 ≤ 20 个;sha256 去重;失败可单独重试。

单元 5:知识库入库(scripts/store.py)

  • 文章正文入库 SQLite;保留原始 URL、抓取时间、任务 ID。

单元 6:周报生成

  1. 数据聚合 + 组装网页:scripts/generate.py 一键完成(内部调用 build_data + build_html,并复制 echarts)。
  2. WorkBuddy 读取 report_data.json 里的文章,用自身 LLM 生成分析(见下),写入 data/analysis.json
  3. 用 preview_url 展示生成的 output/report.html

网页模板已固化在 assets/report.htmlassets/search.html,只需注入数据与分析,无需重写页面。

AI 分析产出规范(写入 data/analysis.json)

{
  "key_conclusions": [{"title": "", "content": "", "article_ids": [..]}],
  "compare": {"national": "", "jiangsu": "", "zhejiang": "", "diff": ""},
  "topic_analysis": [{"topic": "", "overview": "", "policy_summary": "", "layer_compare": "", "judgement": "", "article_ids": [..]}],
  "clues": [{"title": "", "regions": [], "topics": [], "clue_type": "新政策|试点|资金|监管|改革", "importance": 0, "ai_basis": "", "action": "", "article_ids": [..]}]
}
  • 每个主题至少生成四类分析:数据概览、政策摘要、层级对照(住建部要求 vs 江苏/浙江落实差异)、业务研判(对本省参考意义/待关注/潜在行动)。
  • 政策线索含:标题、地区、主题、类型、重要度、AI 判断依据、建议动作、支撑文章 ID。
  • 可编辑边界:结论、摘要、线索可编辑;原文、来源、时间、附件不可改写。
  • 所有结论必须带支撑 article_id(结论 → 文章 → 原文/附件可追溯)。

组装 HTML(generate.py 一键)

python scripts/generate.py --db data/policy.db --data-dir data --out-dir output \
    --start <YYYY-MM-DD> --end <YYYY-MM-DD> --analysis data/analysis.json

内部:build_data.py 聚合 → build_html.py__REPORT_DATA__/__ANALYSIS__ 占位符替换为 JSON → 复制 echarts.min.js → 输出 output/report.html + search.html。然后用 preview_url 打开 report.html。

数据标识约定

  • 实时数据 = 本次真实采集;缓存数据 = 失败时加载的快照;AI 草稿 = 模型生成待审核。
  • 页面统一区分三类标识;采集失败记录在周报「采集说明」区块展示。

重试与兜底

  • 附件重试:直接重跑 collect.py(指纹去重保证文章不重复入库,失败附件会重新下载);或调用 download_attachments.py 中的 retry_one(att, dir) 函数对单个附件重试。
  • 单站失败重跑:python collect.py ... --sites <失败站>(仅重采失败站点)。
  • 断网演示:直接加载 data/seed/ 种子数据(python seed.py --db ... --data-dir ... 已生成的离线快照)。