sfc-research 子技能
南方财经研报搜索子技能,提供研报检索和下载功能。
接口说明
URL: https://terminal.sfccn.com/terminal/sfc-search/api/v1/sprite/searchReport
支持参数:
| 参数 | 说明 | 示例 |
|------|------|------|
| report_title | 报告标题关键词 | "宁德时代" |
| report_source | 研究机构 | "中信证券" |
| report_author | 分析师姓名 | "张三" |
| report_type | 报告类型 | "个股报告" |
| startDate | 开始日期 | "2024-01-01" |
| endDate | 结束日期 | "2024-12-31" |
| pageNo | 页码(从 0 开始) | 0 |
| pageSize | 每页数量 | 20 |
| sort | 排序 | 1 |
文件输出规则
所有本技能生成的文件统一保存到 ~/.openclaw/workspace/nancai/ 目录下。
文件命名规范:{类型}_{主题}_{日期}.md 或 {类型}_{主题}_{日期}.png
鉴权方式
与主技能共用 config.json 配置文件:
{"token": "your_token_here"}
调用方式
命令行调用
# 按标题搜索
python call.py -t "宁德时代" -n 10
# 按机构搜索
python call.py -s "中信证券" -n 10
# 按分析师搜索
python call.py -a "张三" -n 10
# 按日期范围搜索
python call.py -t "光伏" -S "2024-01-01" -E "2024-12-31"
# JSON 输出
python call.py --json -t "AI"
函数调用
from call import search_reports
# 搜索研报
result = search_reports(
title="宁德时代",
source="",
author="",
start_date="2024-01-01",
end_date="2024-12-31",
page_size=20
)
返回格式
{
"ok": true,
"status_code": 200,
"data": {
"total": 958849,
"code": 0,
"status": "ok",
"data": [
{
"report_title": "报告标题",
"report_source": "研究机构",
"report_author": "分析师",
"report_type": "报告类型",
"report_date": "2026-03-31T16:00:00.000Z",
"report_page": 3,
"filename": "/yanbao/xxx.pdf",
"download_url": "https://zixuntong-1301073378.cos.ap-shanghai.myqcloud.com/yanbao/xxx.pdf"
}
]
}
}
输出格式规范
统一处理流程(所有搜索统一使用)
- 清理 filename 空格 -
filename.replace(' ', '').replace('\u3000', '') - URL 编码 -
quote(clean_filename, safe='/')- 中文→%XX 格式 - 拼接 BaseURL -
COS_BASE + encoded_filename - 输出格式 - Markdown 渲染格式
- 标题:## 📄 XXX 研报(N 篇)
- 条目:**【序号】标题**
- 元信息:> 机构:XXX | 分析师:XXX | 日期:XXX | 类型:XXX | 页数:X 页
- 下载链接:[点击下载研报](url)
- 分隔符:--- - 确保 URL 无空格 -
.replace(' ', '%20')
输出示例
## 📄 最新研究报告(5 篇)
**【1】美团-W(3690.HK)2025 年四季度业绩点评:轻舟已过万重山,持续推荐**
> 机构:国联民生 | 分析师:孔蓉,杨雨辰 | 日期:2026-03-31 | 类型:港股报告 | 页数:3 页
[点击下载研报](https://zixuntong-1301073378.cos.ap-shanghai.myqcloud.com/yanbao/.../%E7%BE%8E%E5%9B%A2...pdf)
---
**提示:**
- 搜索特定公司 → `查询 宁德时代 研报`
- 按机构筛选 → `查询 中信证券 研报`
- 按日期范围 → `查询 2025 年 光伏 研报`
注意事项
- ✅ 标题清理所有空格(普通空格 + 中文全角空格)
- ✅ 字段清理首尾空格
- ✅ filename 先清理空格再 URL 编码
- ✅ URL 编码使用
quote(filename, safe='/') - ✅ Markdown 超链接格式
[点击下载研报](url) - ✅ URL 中空格替换为
%20 - ✅ 输出 Markdown 渲染格式(标题、引用、链接)
- ❌ 不输出纯文本 URL
- ❌ 不使用 HTML 标签
高级输出选项
| 参数 | 说明 | 示例 |
|---|---|---|
--brief |
简洁模式(仅标题 + 链接) | python call.py -t "AI" --brief |
--json |
JSON 格式输出 | python call.py -t "AI" --json |
--top N |
仅显示前 N 篇 | python call.py --top 5 |
功能特性
- ✅ 多条件搜索 - 支持按标题、机构、分析师、日期范围筛选
- ✅ 统一空格处理 - 所有字段清理空格,filename 先清理再编码
- ✅ URL 自动编码 - 使用
quote(filename, safe='/')编码 - ✅ UTF-8 输出 - 修复 Windows 终端编码问题,中文正常显示
- ✅ Markdown 链接 - 输出
[下载研报](url)格式 - ✅ 不显示 URL 地址 - 只输出超链接,不显示纯文本 URL
- ✅ 错误处理 - 完善的超时、网络、JSON 解析错误处理
触发关键词
研报相关触发词(自动调用本技能)
| 触发语句 | 功能 |
|---|---|
| "研报" | 触发研报搜索 |
| "研究报告" | 触发研报搜索 |
| "研究报告" | 触发研报搜索 |
| "券商报告" | 触发研报搜索 |
| "分析报告" | 触发研报搜索 |
| "查询研报" | 搜索研报 |
| "搜索研报" | 搜索研报 |
| "最新研报" | 查询最新研报 |
| "XX 公司 研报" | 按公司名搜索 |
| "XX 证券 研报" | 按机构搜索 |
| "XX 行业 研报" | 按行业搜索 |
智能识别规则
- 包含"研报"、"研究报告"、"券商报告"等关键词 → 自动调用 sfc-research
- 仅输入公司/行业名称 + "研报" → 按标题搜索该主题研报
- 仅输入机构名称 + "研报" → 按机构搜索该机构研报
- 无关键词仅查询研报 → 返回最新研报(默认 20 篇)
- 包含日期 → 自动解析日期范围(如"2025 年研报"、"近 30 天研报")
文件结构
sfc-research/
├── SKILL.md # 本文件
└── call.py # 搜索脚本