Earnings Review Agent
依托东方财富数据库,面向沪深京港美五大市场的上市公司/股票,生成业绩点评类输出(含财报分析、业绩解读)。 当用户明确提出业绩点评、财报分析、业绩解读需求,或出现「业绩点评」「财报点评」「业绩分析」「季报/半年报/年报点评」「财务分析」「盈利分析」「业绩解读」等表述时,应触发本 Skill。 用户点名具体公司/股票...
依托东方财富数据库,面向沪深京港美五大市场的上市公司/股票,生成业绩点评类输出(含财报分析、业绩解读)。 当用户明确提出业绩点评、财报分析、业绩解读需求,或出现「业绩点评」「财报点评」「业绩分析」「季报/半年报/年报点评」「财务分析」「盈利分析」「业绩解读」等表述时,应触发本 Skill。 用户点名具体公司/股票...
Real data. Real impact.
Emerging
Developers
Per week
Open source
Skills give you superpowers. Install in 30 seconds.
通过用户问句完成实体识别 → 报告期匹配 → 业绩点评接口生成,并在本地保存 PDF/Word 附件(base64 解码保存)。
JSON 过程日志仅在 debug 模式落盘。最终对用户返回标题、接口 content 文本整理结果、附件本地路径、溯源说明与分享链接。
EM_API_KEY(请求头 em_api_key)。EM_API_KEY 由东方财富妙想相关服务签发,用于接口鉴权;使用前请确认来源、范围与有效期。本 skill 采用分步骤调用:由大模型按流程依次调用
scripts/validate_entity.py 获得实体scripts/normalize_report_period.py 获得报告期候选reportDatescripts/call_review_api.py 生成点评并保存附件无论采用哪种方式,禁止仅由大模型凭知识库「编造」业绩点评全文并冒充 skill 结果。
与
mx_macro_data 相同约定:默认根目录为当前工作目录下的 miaoxiang/stock-earnings-review/(无需手动创建,脚本会自动 mkdir)。
每次执行会在该根目录下再创建一次运行子目录(
run_id,含时间戳与短 UUID),结构如下:
| 路径(相对本次 run 根目录) | 说明 |
|---|---|
| 实体识别结果(仅 ) |
| 报告期列表与匹配结果(仅 ) |
| 业绩点评接口原始响应(仅 ) |
| 解析后的点评结果与章节信息(仅 ) |
| 汇总与 (仅 ) |
| 接口返回 解码后的文件(若接口有返回) |
| 接口返回 解码后的文件(若接口有返回) |
说明:若接口未返回对应 base64,则不会生成对应文件。非
debug 模式不会生成 01~05.json,但附件仍会保存。
| 变量名 | 说明 | 默认 |
|---|---|---|
| 接口鉴权密钥(必填) | 无 |
| 日志与附件的根目录(其下仍按每次 run 分子目录) | (相对当前工作目录) |
| 与上一项同义,兼容旧配置 | 同上 |
EM_API_KEY# macOS / Linux export EM_API_KEY="your_api_key_here"
# Windows PowerShell $env:EM_API_KEY="your_api_key_here"
pip3 install httpx --user
# 第一步:实体识别 python3 {baseDir}/stock-earnings-review/scripts/validate_entity.py --query "东方财富 业绩点评"第二步:获取报告期候选
python3 {baseDir}/stock-earnings-review/scripts/normalize_report_period.py
--secu-code 300059 --market-char SZ --class-code 002001第三步:外层大模型选择 reportDate 后调用点评
python3 {baseDir}/stock-earnings-review/scripts/call_review_api.py
--secu-code 300059 --market-char SZ --class-code 002001
--report-date 2025-12-31 --secu-name 东方财富
可选参数:
| 参数 | 说明 | 必填 |
|---|---|---|
| 用户原始问句(需含公司/股票信息) | ✅ |
| 可选,由上层模型已决策时传入;传入值须在候选列表中 | 否 |
| 附件保存目录;不传则默认为 | 否 |
| 输出完整中间字段并落盘调试日志 | 否 |
注意:禁止调用 任何「后台执行、稍后汇报」的方式跑本脚本,只能在当前会话中同步等待到命令完成,拿到 stdout 的结果后再继续,否则会导致本 Skill 失败。
整体流程分为三步:实体识别与市场校验 → 报告期匹配 → 生成点评并落盘。
调用
scripts/validate_entity.py,将用户原始问句传入实体识别接口,返回 secuCode、marketChar、classCode、secuName 等;多个实体时取第一个。
调用
scripts/normalize_report_period.py 获取报告期列表;由上层模型根据用户意图选择 reportDate(或通过 --report-date 传入)。若用户未指定报告期,默认取列表中最新一期(以脚本实现为准)。
/assistant/write/choice/reportList 接口返回的是该实体已发布的报告期列表,不包含未发布报告期。
例如请求 {"emCode":"NVDA.O"} 时,返回结果即为英伟达已发布报告期集合。
调用
scripts/call_review_api.py,请求业绩点评接口,解析标题与正文 content,将 PDF/Word base64 写入 attachments/。各阶段 JSON 日志仅在 debug 模式写入。
content 文本进行整理后输出。shareUrl。files.pdf / files.word / files.dataSheet(若生成)。第三步
call_review_api.py 输出仅使用以下字段:title、content、shareUrl、files。
# {title}{content}
如需查看详细信息,请查看附件 PDF 或 DOC.......
附件:{files}
分享链接:{shareUrl}
review.pdf / review.doc 的文件内容。call_review_api.py 返回的结构化字段(尤其是 summary/content)整理并回复用户。selected_report_date 不在候选列表(strict 模式)。ok=false 或返回体中存在 message 字段时,必须原样输出 message,不得改写或替换。响应中的数学公式格式:
\(...\) 格式(不使用 $...$)\[...\] 格式| 错误场景 | 处理方式 |
|---|---|
| 问句中无实体 | 向用户确认需要点评的公司名称 |
| 实体识别失败 | 提示用户确认公司名称或股票代码 |
| 实体不在支持市场 | 返回「目前仅支持沪深京港美实体进行业绩点评」 |
| 报告期列表为空 | 提示「暂无该实体的可用报告期数据」 |
| 报告期接口调用失败 | 提示「暂时无法获取报告期信息,请稍后重试」 |
| 业绩点评接口调用失败 | 提示「业绩点评生成失败,请稍后重试」 |
| 用户要求看完整正文 | 直接返回接口 文本;如需原文件可提示附件路径,但不读取附件内容 |
| 脚本/文件 | 功能 |
|---|---|
| 实体识别 |
| 报告期列表与匹配 |
| 业绩点评接口与附件落盘 |
| 业务逻辑详版:前置检查、报告期 A 股/港美股规则、交付模板、完整错误表、与脚本 模式说明 |
编排层实现完整规则时请同时阅读
BUSINESS_LOGIC.md。No automatic installation available. Please visit the source repository for installation instructions.
View Installation Instructions1,500+ AI skills, agents & workflows. Install in 30 seconds. Part of the Torly.ai family.
© 2026 Torly.ai. All rights reserved.