sfc-news 子技能
南方财经资讯数据查询子技能,提供 资讯搜索、最新文章、股票资讯、公司公告 四种功能。
接口一览
| 功能 | 接口路径 | 关键词 | 请求头 | 优先级 |
|---|---|---|---|---|
| 股票资讯 | /rest/theme/stock/articles |
必需 (股票代码) | token |
⭐⭐⭐ 最高 |
| 公司公告 | /rest/company/notice |
必需 (证券代码) | token |
⭐⭐⭐ |
| 公告详情 | /rest/company/notice/detail |
必需 (公告 ID) | token |
⭐⭐⭐ |
| 资讯搜索 | /esSearch/searchkey/page |
必需 | token |
⭐⭐ |
| 最新文章 | /article/recent |
不需要 | Authorization: Bearer |
⭐ |
重要:
1. 当用户查询某只股票的资讯时,优先使用 stock_articles 接口,而非 search 接口
2. 权限错误(401、未登录、权限)统一报错 "Token 无效,请检查 config.json 中的 token 配置"
配置说明:
- 所有接口统一从 skills/sfc-news/config.json 读取 token
- 请求头格式:{"token": "YOUR_TOKEN"}
文件输出规则
所有本技能生成的文件统一保存到 ~/.openclaw/workspace/nancai/ 目录下。
文件命名规范:{类型}_{主题}_{日期}.md 或 {类型}_{主题}_{日期}.png
鉴权方式
Token 配置(任选其一):
-
配置文件(推荐):
sfc-news/config.json
json {"token": "your_token_here"} -
环境变量:
SFC_TOKEN
调用方式
命令行调用
# ===== 股票资讯(优先使用)=====
python call.py -a stock_articles -c "300274.SZ" -n 50
python call.py -a stock_articles -c "600519.SH" -p 1 -n 50
# ===== 公司公告(优先使用)=====
python call.py -a company_notice -c "300274" -n 50
python call.py -a company_notice -c "600519" -p 1 -n 50
# ===== 公告详情(点击查看)=====
python call.py -a notice_detail --id 828993414891
# ===== 资讯搜索(通用搜索)=====
python call.py -a search -k "捷佳伟创" -n 10
# ===== 最新文章 =====
python call.py -a recent -n 10
# ===== JSON 输出 =====
python call.py -a stock_articles -c "300274.SZ" --json
函数调用
from call import (
get_stock_articles, # 股票资讯(优先)
get_company_notice, # 公司公告(优先)
get_notice_detail, # 公告详情
search_news, # 资讯搜索
get_recent_articles # 最新文章
)
# 股票资讯(优先使用)
result = get_stock_articles("300274.SZ", page_no=1, page_size=50)
# 公司公告(优先使用)
result = get_company_notice("300274", page_no=1, page_size=50)
# 公告详情(点击查看)
result = get_notice_detail(828993414891)
# 搜索资讯
result = search_news("捷佳伟创", page_size=10)
# 最新文章
result = get_recent_articles(page_size=10)
# 快讯
result = get_flash_news(keyword="捷佳伟创", page_size=20)
返回格式
{
"ok": true,
"status_code": 200,
"data": {
"total": 50,
"code": 0,
"data": [
{
"title": "新闻标题(已清理 HTML)",
"author": "作者",
"description": "摘要",
"content": "完整内容",
"publishTime": 1234567890,
"url": "文章链接"
}
]
}
}
功能特性
- ✅ HTML 标签自动清理
- ✅ 中文关键词 URL 编码
- ✅ 超时保护(30 秒)
- ✅ 文本/JSON 双格式输出
- ✅ 统一错误处理
- ✅ 股票代码自动处理(去除.SZ/.SH 后缀)
触发关键词
| 功能 | 触发语句示例 | 优先级 |
|---|---|---|
| 股票资讯 | "300274 的资讯"、"阳光电源最新消息"、"查询股票资讯" | ⭐⭐⭐ 最高 |
| 公司公告 | "300274 公告"、"阳光电源公告"、"公司公告" | ⭐⭐⭐ 最高 |
| 资讯搜索 | "查询捷佳伟创的资讯"、"搜索 300724 新闻" | ⭐⭐ |
| 最新文章 | "查看最新消息"、"证券时报最新文章" | ⭐ |
使用场景
场景 1: 查询某只股票的资讯(最常用)
用户问题: "阳光电源 (300274) 最近有什么消息?"
操作:
# 优先使用 stock_articles 接口
python call.py -a stock_articles -c "300274.SZ" -n 50
场景 2: 查询公司公告
用户问题: "查看贵州茅台的最新公告"
操作:
# 优先使用 company_notice 接口
python call.py -a company_notice -c "600519" -n 50
# 查看公告详情(假设从列表中获得公告 ID 为 828993414891)
python call.py -a notice_detail --id 828993414891
场景 3: 搜索特定关键词的资讯
用户问题: "搜索光伏行业的最新资讯"
操作:
# 使用 search 接口
python call.py -a search -k "光伏行业" -n 20
参数说明
stock_articles(股票资讯)
| 参数 | 类型 | 必需 | 默认值 | 说明 |
|---|---|---|---|---|
| stockCode | string | 是 | - | 股票/基金代码(如 300274.SZ) |
| pageNo | int | 否 | 1 | 页码 |
| pageSize | int | 否 | 50 | 每页数量 |
| type | int | 否 | 1 | 资讯类型 |
company_notice(公司公告)
| 参数 | 类型 | 必需 | 默认值 | 说明 |
|---|---|---|---|---|
| secuCode | string | 是 | - | 证券代码(如 300274,不带市场后缀) |
| pageNo | int | 否 | 1 | 页码 |
| pageSize | int | 否 | 50 | 每页数量 |
notice_detail(公告详情)
| 参数 | 类型 | 必需 | 默认值 | 说明 |
|---|---|---|---|---|
| id | int | 是 | - | 公告 ID(从 company_notice 接口获取) |
search(资讯搜索)
| 参数 | 类型 | 必需 | 默认值 | 说明 |
|---|---|---|---|---|
| keyword | string | 是 | - | 搜索关键词 |
| pageSize | int | 否 | 10 | 返回数量 |
| category | int | 否 | 4 | 分类 |
文件结构
sfc-news/
├── SKILL.md # 本文件
├── call.py # 统一入口脚本
└── config.json # Token 配置(与主模块共用)
与其他模块的配合
结合 sfc-quote 查询行情
# 1. 查询股票资讯
python call.py -a stock_articles -c "300274.SZ" -n 10
# 2. 查询实时行情
python ../sfc-quote/query_quote.py quote 300274.SZ
结合 sfc-theme 查询主题资讯
# 1. 查询主题成分股
python ../sfc-theme/call.py -a stocks --theme-id 13010005 -n 10
# 2. 查询成分股资讯
python call.py -a stock_articles -c "000012.SZ" -n 20
注意事项
- 优先使用 stock_articles: 查询股票资讯时,优先使用
stock_articles接口,而非search - 代码格式:
-stock_articles: 需要带市场后缀(如 300274.SZ)
-company_notice: 不需要市场后缀(如 300274) - 分页处理: 大数据量时使用
pageNo参数分页 - Token 配置: 与 sfc-data 其他模块共用同一 token