投研文章结构化摘要生成
工作流程
- 接收材料:用户输入一篇或多篇投研材料(文本、链接、文件)
- 格式转换:非Markdown/纯文本文件自动转换为Markdown格式
- 去重检测:调用去重脚本,逐级检测新文章与已有摘要的重复关系
- 逐篇提炼:仅对去重后的唯一文章按Markdown模板生成结构化摘要文件
- 生成汇总表:所有材料处理完后,调用脚本生成Excel汇总表
- 生成HTML网页:调用脚本生成可视化HTML网页"投研观点集思录"
Markdown输出模板
对每篇材料生成一个 .md 文件,严格按以下格式:
### 原文标题
[提取原文标题]
### 发布日期
[提取该篇内容的发布日期]
### 发布作者
[提取发布作者]
### 原文链接
[提取原文链接]
### 核心观点
1. [观点1,≤20字]。[论据1,≤30字]
2. [观点2,≤20字]。[论据2,≤30字]
3. [观点3,≤20字]。[论据3,≤30字]
### 投资建议
[投资建议,40-50字,必须包含方向性表述,提示风险,禁止绝对化表述]
### 判断方向
[🔴强看多 / 🟠偏多 / ⚪中性 / 🔵偏空 / 🟢强看空]
### 分析逻辑
[仅从以下6个中选取,可多选用 `/` 分隔:基本面驱动 / 资金面驱动 / 政策驱动 / 技术面驱动 / 事件驱动 / 产业链驱动]
### 关联标签
[标签1(看多),标签2(看空),标签3,...](至少3个、最多10个,看多→看空→无观点排序,逗号分隔)
### 关注标的
[提取文中提到的具体可交易标的,如股票名称、基金名称等,最多10个,逗号分隔。无明确标的填"无"]
### 时效性
[仅从以下3个中单选:短期(1-5日) / 中期(1-4周) / 长期(1月以上)]
### 原文摘要
[150-200字原文核心段落摘要,保留关键数据和专有名词]
提炼规则
- 核心观点:3条,每条格式为"观点≤20字。论据≤30字",一条总字数至少30字,论据必须从原文提炼,严禁编造
- 投资建议:40-50字,包含方向性表述,提示风险,禁止绝对化表述(如"必涨""一定""稳赚")
- 判断方向:严格按分级标准选择,无明确方向时填⚪中性
- 分析逻辑:只能从【基本面驱动/资金面驱动/政策驱动/技术面驱动/事件驱动/产业链驱动】中选取,可多选用
/分隔,不得自创关键词 - 关联标签:优先使用备选项,至少3个、最多10个,看多→看空→无观点排序,逗号分隔。每个标签后可附(看多)/(看空),仅限原文有明确多空观点时
- 时效性:只能从【短期(1-5日)/中期(1-4周)/长期(1月以上)】中单选,必须使用完整格式
- 关注标的:提取具体可交易标的(股票、基金等),最多10个,逗号分隔。排除笼统概念如"科技股""黄金"等。无明确标的填"无"
- 原文摘要:150-200字,保留关键数据和专有名词
详细分级标准和备选项参见 references/standards.md。
格式转换
在提炼前,将非Markdown/纯文本文件自动转换为Markdown格式,确保后续处理统一。
支持格式
| 格式 | 扩展名 | 说明 | |------|--------|------| | 已支持 | .md, .txt, .markdown | 直接跳过,无需转换 | | 文档 | .pdf, .docx, .pptx | Word/PDF/PPT | | 表格 | .xlsx, .xls | Excel | | 数据 | .html, .csv, .json, .xml | 网页/结构化数据 | | 其他 | .epub, .rtf | 电子书/富文本 |
环境依赖
脚本自动检测并使用可用的转换工具(按优先级):
python -m markitdown(推荐,需pip install markitdown[all],完整格式支持)uvx markitdown(需安装 uv,可能缺少部分可选依赖)- 无可用工具时自动尝试
pip install markitdown[all]安装
调用方式
$env:PYTHONIOENCODING="utf-8"; python scripts/convert_to_md.py <file1> [file2] ...
.md/.txt文件自动跳过- 转换后的文件保存在
output/YYYYMMDD/<原文件名>_raw.md - 输出格式:
# CONVERTED_FILES/# SKIPPED/# ERRORS三个段落
脚本路径:scripts/convert_to_md.py(相对于本Skill目录)
去重检测
在提炼前,对新文章与已有摘要进行逐级去重,避免重复处理:
去重规则(三级递进)
| 级别 | 依据 | 说明 | |------|------|------| | L1 | 原文链接精确匹配 | 去除UTM等追踪参数后比较,最可靠 | | L2 | 标题归一化精确匹配 | 去除空格、标点、大小写后比较 | | L3 | 标题相似度 ≥ 0.85 | 使用编辑距离算法,阈值默认0.85 |
- 默认扫描
output/下所有日期目录的已有MD文件 - 支持
--date参数限制扫描范围 - 多篇新文章之间也会互相去重(后到的与先判为唯一的比较)
- 被判为重复的文章会报告匹配级别和已存在的文章标题
调用方式
# 方式1:直接传入文章文本
$env:PYTHONIOENCODING="utf-8"; python scripts/dedup_articles.py --new "文章标题1" "文章标题2"
# 方式2:传入文件路径
$env:PYTHONIOENCODING="utf-8"; python scripts/dedup_articles.py --files <f1> [f2] ...
# 限制扫描日期范围
$env:PYTHONIOENCODING="utf-8"; python scripts/dedup_articles.py --new "标题" --date 20260609 20260610
# 输出JSON格式
$env:PYTHONIOENCODING="utf-8"; python scripts/dedup_articles.py --new "标题" --json
# 调整相似度阈值
$env:PYTHONIOENCODING="utf-8"; python scripts/dedup_articles.py --new "标题" --threshold 0.9
脚本路径:scripts/dedup_articles.py(相对于本Skill目录)
生成Excel汇总表
所有Markdown文件生成后,运行脚本生成汇总Excel:
$env:PYTHONIOENCODING="utf-8"; python scripts/create_summary_xlsx.py <md1> [md2] ...
<md1> [md2] ...:所有生成的Markdown摘要文件路径- 输出自动保存到
output/YYYYMMDD/汇总_YYYYMMDD.xlsx(同日内多次处理自动追加)
脚本路径:scripts/create_summary_xlsx.py(相对于本Skill目录)
生成HTML可视化网页
Excel生成后,运行脚本生成"投研观点集思录"HTML网页。支持三种调用方式:
方式1:默认当日(扫描当天日期目录)
$env:PYTHONIOENCODING="utf-8"; python scripts/create_summary_html.py
自动扫描 output/当天YYYYMMDD/ 目录中的 .md 文件,仅包含当日文章。
方式2:指定日期
$env:PYTHONIOENCODING="utf-8"; python scripts/create_summary_html.py --date 20260610
只包含指定日期目录下的文章。也可指定日期范围(含两端):
$env:PYTHONIOENCODING="utf-8"; python scripts/create_summary_html.py --date 20260609 20260610
方式3:显式指定MD文件(兼容旧模式)
$env:PYTHONIOENCODING="utf-8"; python scripts/create_summary_html.py <md1> [md2] ...
- 输出自动保存到
output/YYYYMMDD/投研观点集思录.html(YYYYMMDD为运行当日)
脚本路径:scripts/create_summary_html.py(相对于本Skill目录)
HTML网页设计规范(固定,不可修改)
- 主题:浅色暖白基底(#F6F5F1),白色卡片
- 标题:Noto Serif SC 字体,"投研观点集思录" + 英文副标题
- 统计栏:收录文章 / 来源作者 / 文章标签(三维度动态统计)
- 筛选栏:"全部"黑色重置按钮 + 4个筛选入口 + 搜索框
- 📅日期:单选下拉
- 🧭方向:多选下拉(5档+确定按钮),按钮仅显示指南针+名称(无彩色圆点),≤2项全展示,>2项省略+hover tooltip
- ✍️作者:多选下拉+确定按钮,≤3项全展示,>3项省略+hover tooltip
- 🏷️标签:多选下拉+确定按钮(可滚动),≤3项全展示,>3项省略+hover tooltip
- 卡片:双列网格(480px起),方向徽章(52x52) + 标题/作者/日期/链接 + 标签行(关联标签仅显示3个按多空着色:看多浅红/看空浅绿/无观点蓝灰,时效性琥珀,分析逻辑灰) + 3条核心观点(红圆点) + 投资建议块 + 关注标的(每个标的独立气泡框) + 可展开原文摘要
- 方向徽章颜色:强看多=红/偏多=橘/中性=灰/偏空=蓝/强看空=青
- 卡片排序:同作者按日期降序
- 底部:免责声明 + 风险提示 + 数据截至日期(等距排列)
- 筛选交互:多选不自动关闭下拉,底部"确定"按钮关闭并筛选;搜索框实时筛选
- 详情参见:
references/html_design_spec.md
Excel表格结构
| 列 | 类型 | 说明 | |----|------|------| | ID | 自动编号 | 序号 | | 原文标题 | 文本 | 文章标题 | | 发布日期 | 日期(YYYY-MM-DD) | 发布日期 | | 发布作者 | 文本 | 发布作者 | | 原文链接 | 超链接文本 | 原文链接 | | 核心观点 | 文本 | 核心观点 | | 投资建议 | 文本 | 投资建议 | | 判断方向 | 单选 | 🔴强看多 / 🟠偏多 / ⚪中性 / 🔵偏空 / 🟢强看空 | | 分析逻辑 | 多选 | 基本面驱动/资金面驱动/政策驱动/技术面驱动/事件驱动/产业链驱动 | | 关联标签 | 文本 | 逗号分隔,可附(看多)/(看空) | | 关注标的 | 文本 | 具体可交易标的,逗号分隔,最多10个 | | 时效性 | 单选 | 短期(1-5日)/中期(1-4周)/长期(1月以上) | | 原文摘要 | 文本 | 原文摘要 |
输出文件命名
- 输出目录:
output/YYYYMMDD/- Markdown:
output/YYYYMMDD/YYYYMMDD_N_作者.md - Excel:
output/YYYYMMDD/汇总_YYYYMMDD.xlsx(同日内多次处理自动追加) - HTML:
output/YYYYMMDD/投研观点集思录.html
- Markdown:
注意事项
- 多篇材料时,先转换格式,再去重,再逐篇生成Markdown,最后统一生成Excel
- 如果原文信息缺失(如无作者、无链接),对应字段填"未提供"
- 论据严禁凭空编造,必须从原文提炼
- 输出文件保存到 Skill 目录下的
output/YYYYMMDD/子目录中,按日期组织,支持同日内多次追加 - 同一日期的所有输出(Markdown + Excel + HTML)放在同一文件夹下,便于管理
- HTML网页格式严格遵循设计规范,确保每次生成风格统一
- 去重检测在提炼前执行,重复文章不会进入提炼流程,节省处理资源
- 格式转换使用 markitdown,首次使用需联网安装依赖,后续离线可用
Scan to join WeChat group