上市公司首次覆盖报告 / 深度研究报告生成
概述
本技能用于生成上市公司的首次覆盖报告或深度研究报告。通过调用统一脚本 scripts/generate_deep_research_report.py,
一次性完成实体识别、市场校验、报告生成及结果返回。
环境变量
| 变量名 | 说明 | 默认 |
|---|---|---|
EM_API_KEY |
接口鉴权密钥(必填) | 无 |
INITIATION_OF_COVERAGE_OR_DEEP_DIVE_OUTPUT_DIR |
附件输出目录 | ./miaoxiang/initiation_of_coverage_or_deep_dive(相对当前工作目录) |
前提条件
1. 配置 EM_API_KEY
# macOS / Linux
export EM_API_KEY="your_api_key_here"
# Windows PowerShell
$env:EM_API_KEY="your_api_key_here"
2. 安装依赖
pip3 install httpx --user
完整工作流程
第一步:调用报告生成脚本
调用 scripts/generate_deep_research_report.py 脚本,将用户的原始问句作为参数传入。该脚本内部自动完成以下全部流程:
实体识别与市场校验:调用实体识别接口,从用户问句中识别沪深京港美实体,返回标准化信息(
secuCode、marketChar、classCode、secuName);多个实体时优先取第一个;未识别到支持的实体则直接返回错误提示。报告生成:将校验通过的实体信息作为参数,调用首次覆盖写作接口生成完整报告。
调用方式:
python3 {baseDir}/scripts/generate_deep_research_report.py --query "用户原始问句"
脚本输出(JSON 格式):
成功时:返回报告全文及附件地址等完整结果,包含报告标题、各章节内容、附件地址、分享链接等。
实体识别为空时:返回错误信息
"目前仅支持沪深京港美实体进行首次覆盖。您提供的实体不在支持范围内,请确认后重新输入。"入参不合法时:返回
"入参不支持,请重新检查实体类型和报告期。"接口调用失败/超时时:返回
"报告生成服务暂时不可用,请稍后重试。"
处理逻辑:
脚本返回成功 → 进入第二步,进行结构化输出
脚本返回错误提示 → 将错误提示原样返回给用户,流程终止
注意:禁止调用 任何「后台执行、稍后汇报」的方式跑本脚本,只能在当前会话中同步等待到命令完成,拿到 stdout 的结果后再继续,否则会导致本 Skill 失败。
第二步:结构化输出
脚本返回报告全文后,按照以下固定结构进行响应输出。
输出格式规范
接口返回后,必须严格按以下模板输出,不得增删标题、不得改变顺序、不得添加额外章节:
标题
直接使用接口返回的 title 字段,单独成行,一般格式为"XXX公司首次覆盖报告:XXXXXX"。
正文
如果接口返回的 content 字段有相关行业报告信息,则原文透传;
否则读取接口返回的附件文件内容,总结相关报告信息返回,记住保证返回的正文内容非空。
附件
接口返回 pdf 以及 docx 格式文件的保存路径。
分享链接
直接使用接口返回的 shareUrl 字段,单独成行。
文案必须按以下固定格式输出:
{title}
{content}
---
**附件:**
- 📄 **PDF版完整报告地址**:{pdf_file_path}
- 📝 **Word版完整报告地址**:{word_file_path}
**分享链接:**
{shareUrl}
字段映射规则:
{title}= 脚本返回的title{content}= 脚本返回的content{pdf_file_path}= 脚本返回的pdf_file_path{word_file_path}= 脚本返回的word_file_path{shareUrl}= 脚本返回的shareUrl
当附件缺失时:
若仅有一种格式,仅输出存在的那一行(PDF 或 DOCX)。
若两种都不存在,输出:
完整报告:暂无可用附件
格式要求
响应事件流中的数学公式格式规范:
行内公式:使用
\(...\)格式(不使用$...$)行间公式:统一使用
\[...\]格式行间公式块内部内容保持不变
语言与标点规范
如果用户使用中文提问,全程使用中文回复,并使用规范中文标点(,。、;:""''!?)
如果用户使用英文或其他语言提问,使用对应语言回复
专有名词(如公司英文名、财务术语缩写)可保留原文
边界与异常处理
| 场景 | 处理方式 |
|---|---|
| 用户未提供公司名/代码 | 礼貌询问:"请提供您想覆盖的上市公司名称或股票代码。" |
| 脚本返回实体识别为空 | 原样返回:"目前仅支持沪深京港美实体进行首次覆盖。您提供的实体不在支持范围内,请确认后重新输入。" |
| 脚本返回入参不合法 | 原样返回:"入参不支持,请重新检查实体类型和报告期。" |
| 脚本返回接口调用失败/超时 | 原样返回:"报告生成服务暂时不可用,请稍后重试。" |
| 接口返回数据缺少总结章节 | 在总结位置标注:"(总结章节数据暂缺,请参阅附件完整报告)" |
| 用户要求看完整正文 | 引导用户下载附件:"完整正文内容请查看附件中的PDF或Word版报告。" |
与其他技能的区分
首次覆盖/深度研究报告(本技能):针对一家公司做全面、系统性的首次覆盖或深度研究,产出完整报告
业绩点评:针对某次财报发布做简要点评,不是本技能的范围
事件点评:针对某一突发事件对公司影响做点评,不是本技能的范围
行业报告:针对某一行业做研究,不是本技能的范围
如果用户的需求属于业绩点评、事件点评或行业报告,应引导至对应技能,不在本技能内处理。
脚本/文件说明
| 脚本/文件 | 功能 |
|---|---|
scripts/generate_deep_research_report.py |
统一脚本:实体识别、市场校验、调用首次覆盖写作接口生成报告,一步完成 |