File contents 指令
必须直接使用 HTTP 请求调用接口 :使用 fetch、axios、curl 或其他 HTTP 客户端直接调用接口,禁止创建任何封装函数或 JS 文件
禁止创建封装函数 :不要创建任何 .js、.ts 文件来封装接口调用,必须直接使用 HTTP 请求
接口基础域名 :
资讯相关接口:https://ai-uat.finloopfintech.com
股票行情接口:https://papi-uat.finloopg.com
请求头 :Content-Type: application/json
响应格式 :接口返回的数据结构为 { code: 200, data: {...} },需要从响应中提取 data 字段
错误处理 :需要检查响应状态码和错误信息,进行适当的错误处理
接口列表
1. 市场时段资讯接口
接口信息:
接口地址:/flp-news-api/v1/news-agent/financeBreakfast
请求方法:POST
完整路径:https://ai-uat.finloopfintech.com/flp-news-api/v1/news-agent/financeBreakfast
参数:
此接口为 POST 请求,请求体参数根据实际业务需求确定
时间逻辑说明:
此接口会根据当前时间自动返回不同类型的内容:
财经早餐 :通常在早晨时段返回(tag: 1)
港股午盘 :通常在中午时段返回(tag: 3)
港股收盘 :通常在收盘时段返回(tag: 2,也称为"收盘汇")
接口会根据服务器当前时间自动判断应该返回哪种类型的内容
无需在请求中指定时间或类型,接口会自动返回对应时段的内容
响应参数:
title: 标题(string)- 根据时间返回"财经早餐"、"港股午盘"或"港股收盘"等
keyword: 关键词(Array)- 例如:["加密货币", "产业趋势"]
publish_time: 发布时间(string)
summary: 摘要(string)
newsCount: 过去一天资讯数量(number)
sentiment: 市场情绪(string)- 枚举值
title_original: 原始title(string)
tag: 类型标识(int)
1: 财经早餐
2: 港股收盘(收盘汇)
3: 港股午盘
使用说明:
此接口用于获取首页市场时段资讯(财经早餐、港股午盘或港股收盘)
接口会根据当前时间自动返回对应时段的内容,无需指定时间参数
返回数据包含关键词、摘要、市场情绪等综合信息
2. 资讯列表接口
接口信息:
接口地址:/flp-news-api/v1/news-agent/informationList
请求方法:POST
完整路径示例:https://ai-uat.finloopfintech.com/flp-news-api/v1/news-agent/informationList
请求参数:
必填参数:
category: 新闻分类(string),可选值:"discover", "subscribe", "ai", "rwa", "macro", "industry", "market", "company", "viewpoint", "fund", "bond", "bill", "stock"
page_size: 每页加载条数(number,注意:参数名使用下划线 page_size,不是驼峰 pageSize)
可选参数:
keyword: 关键词检索(string)
news_id: 分页游标,最后一条新闻的ID(用于分页加载)
user_id: 用户ID(string,订阅分类时必填)
请求说明:
基础调用:POST 请求,请求体包含 category 和 page_size
带分页:在请求体中添加 news_id 参数
带搜索关键词:在请求体中添加 keyword 参数
响应参数:
information_list: 资讯列表数组(注意:字段名使用下划线)
total: 总条数(number)- 例如:120
hasMore: 是否存在更多新闻(Boolean)
informationList 子参数:
每个资讯对象包含:
newId: 资讯ID(string)- 例如:"AICL000001"
tags: 资讯标签(Array)- 例如:["AI 热闻"]
title: 资讯标题(string)
summary: 资讯摘要(string)
imgUrl: 资讯封面图(string)
publishTime: 发布时间(string)
wordCount: 正文字数(number)
readTime: 预计阅读时间(分钟)(number)
influence: 影响力(string)- 枚举值
influenceScore: 影响力得分(string)- 枚举值
marketTrends: 市场趋势列表(List)
marketTrends 子参数:
每个市场趋势对象包含:
ticker: 挂钩标的(string)- 例如:"AAPL"
changeRate: 标的涨势(string)- 例如:"-0.05"
使用说明:
此接口用于获取指定分类下的资讯列表数据
适用于信息流或列表页展示
支持关键词检索和分页加载
个性化分类需要传入 user_id 参数
注意:参数名使用下划线 page_size,不是驼峰 pageSize
3. AI热闻列表接口
接口信息:
接口地址:/flp-news-api/v1/news-agent/banner/list
请求方法:GET
完整路径示例:https://ai-uat.finloopfintech.com/flp-news-api/v1/news-agent/banner/list
注意:此接口可能需要 Cookie 认证(sl-session)
参数:
请求说明:
此接口为 GET 请求,无需请求体参数
需要在请求头中携带 Cookie 认证信息(如 sl-session)
返回数据:
banner_list: AI热闻列表数组,每个热闻包含:
news_id: 新闻ID
xcf_id: XCF资讯ID
tag: 标签数组
title: 标题
summary: 摘要
img_url: 图片URL(可能为null)
4. AI热闻详情接口
接口信息:
接口地址:/flp-news-api/v1/news-agent/bannerDetail
请求方法:POST
完整路径示例:https://ai-uat.finloopfintech.com/flp-news-api/v1/news-agent/bannerDetail
参数:
必填参数:
id: XCF资讯ID(来自AI热闻列表的 xcf_id 字段),类型为字符串
请求说明:
POST 请求,请求体包含 id 字段(XCF资讯ID,来自AI热闻列表的 xcf_id 字段)
请求体格式:{ "id": "21640" }
返回数据:
返回 XcfDetail 类型的数据,包含AI热闻的详细信息
5. 股票行情接口
接口信息:
接口地址:/flp-mktdata-hub/v1/stock/quote
请求方法:POST
完整路径:https://papi-uat.finloopg.com/flp-mktdata-hub/v1/stock/quote
请求头:
Content-Type: application/json(必填)
请求参数:
必填参数:
tickers: 股票代码列表(list,必填),每个元素按照"代码.市场"格式
支持的市场代码:
港股:.HK
美股:.US
A股:.SZ(深交所)、.SH(上交所)、.BJ(北交所)
指数:支持部分指数行情(见下方支持的指数列表)
支持的指数代码:
市场代码
名称
DJI.US
道琼斯指数
IXIC.US
纳斯达克综合指数
INX.US
标普500指数
HSI.HK
香港恒生指数
HSTECH.HK
香港恒生科技指数
000001.SH
上证综合指数
399001.SZ
深证成份指数
399006.SZ
创业板指数
000688.SH
科创50
请求说明:
POST 请求,请求体包含 tickers 字段
请求体格式:{ "tickers": ["HSI.HK"] }
支持同时查询多只股票/指数,例如:{ "tickers": ["HSI.HK", "BABA.US", "AAPL.US"] }
响应参数:
result: 行情数据列表(Array),每个元素包含以下字段:
字段 (Field)
名称 (Description)
quoteTime
行情时间
price
当前价格
chgVal
涨跌额
chgPct
涨跌幅 (%)
prevClose
昨日收盘价
open
开盘价
high
最高价
low
最低价
vol
成交量 (股)
turnover
成交额
amp
振幅 (%)
turnoverRate
换手率 (%)
mktCap
总市值
floatMktCap
流通市值
pb
市净率
delay
是否延迟行情
mkt
市场标识 (如 "us"、"hk"、"sh"、"sz" 等)
rawSymbol
证券代码
name
证券名称
currency
币种
使用说明:
此接口用于查询股票或指数的实时行情数据
支持查询单只股票/指数,也支持批量查询多只股票/指数
输出时必须包含所有返回的字段信息
如果用户提到股票名称或指数名称,需要依靠 skill 来主动转换为对应的股票代码(ISIN格式),无法提供全面的转换规则或枚举
AI热闻查询自动化流程(内置操作)
重要:当需要查询AI热闻详情时,必须使用此自动化流程。
自动化流程说明
当调用AI热闻查询时,系统会自动执行以下步骤:
自动查询AI热闻列表
调用 GET /flp-news-api/v1/news-agent/banner/list 获取所有AI热闻
自动提取所有xcf_id
从返回的 banner_list 中提取所有的 xcf_id
通常返回3个AI热闻,每个热闻都有一个 xcf_id
自动批量查询详情
使用提取的所有 xcf_id,分别调用 POST /flp-news-api/v1/news-agent/bannerDetail 接口
获取每个AI热闻的完整详情信息
执行步骤说明
步骤1:获取AI热闻列表
调用 GET /flp-news-api/v1/news-agent/banner/list 接口
从响应的 data.banner_list 中获取所有AI热闻
步骤2:提取所有xcf_id
遍历 banner_list,提取每个AI热闻的 xcf_id 字段
过滤掉为 null 或 undefined 的 xcf_id
步骤3:批量查询详情
对每个 xcf_id,直接使用 HTTP POST 请求调用 /flp-news-api/v1/news-agent/bannerDetail 接口
请求体格式:{ "id": "xcf_id值" }
建议使用并行请求(如 Promise.all)提高效率
如果某个详情查询失败,记录错误但继续处理其他AI热闻
注意 :必须直接使用 HTTP 请求,不要创建封装函数
执行规则
必须遵循以下规则:
查询AI热闻详情时,必须先查询AI热闻列表
必须提取列表中的所有 xcf_id(不能只查询部分)
必须使用所有提取的 xcf_id 分别调用详情接口
如果某个详情查询失败,应该记录错误但继续处理其他AI热闻
建议使用 Promise.all() 并行查询以提高效率
场景预设
场景1:用户询问"给我十条资讯"或"给我十条XX方面的资讯"
触发条件:
当用户询问"给我十条资讯"、"给我十条新闻"、"给我十条XX方面的资讯"等类似问题时,必须执行以下流程。
分类映射规则:
如果用户未指定分类或只问"给我十条资讯",使用 category: 'discover'(发现分类)
如果用户明确指定分类,按以下映射:
"AI方面的资讯"、"AI资讯"、"人工智能资讯" → category: 'ai'
"RWA方面的资讯"、"RWA资讯" → category: 'rwa'
"宏观方面的资讯"、"宏观资讯" → category: 'macro'
"行业方面的资讯"、"行业资讯" → category: 'industry'
"市场方面的资讯"、"市场资讯" → category: 'market'
"公司方面的资讯"、"公司资讯" → category: 'company'
"观点方面的资讯"、"观点资讯" → category: 'viewpoint'
"基金方面的资讯"、"基金资讯" → category: 'fund'
"债券方面的资讯"、"债券资讯" → category: 'bond'
"票据方面的资讯"、"票据资讯" → category: 'bill'
"股票方面的资讯"、"股票资讯" → category: 'stock'
执行流程:
确定分类
根据用户询问内容,确定对应的 category 参数
如果未指定分类,默认使用 'discover'
查询资讯列表
调用 POST /flp-news-api/v1/news-agent/informationList 接口
请求体参数:category 为确定的分类,page_size: 10
返回10条对应分类的资讯
重要提示:
✅ 当用户询问"给我十条资讯"时,默认查询 discover 分类
✅ 当用户询问"给我十条XX方面的资讯"时,根据XX映射到对应的分类
✅ 必须使用资讯列表接口 /flp-news-api/v1/news-agent/informationList,不是AI热闻接口
✅ page_size 参数名使用下划线,不是驼峰命名
❌ 不要使用AI热闻相关接口,这是资讯列表查询场景
场景2:用户询问"今日的AI热闻"
触发条件:
当用户询问"今日的AI热闻"或类似问题时(如"今天的AI热点"、"AI热门新闻"等),必须执行以下流程。
执行流程:
查询AI热闻列表
调用 GET /flp-news-api/v1/news-agent/banner/list 获取所有AI热闻
AI热闻列表通常包含今日最热门的AI相关资讯
查询AI热闻详情
从AI热闻列表中提取所有 xcf_id
使用所有 xcf_id 分别调用 POST /flp-news-api/v1/news-agent/bannerDetail 获取每个AI热闻的完整详情
请求体格式:{ "id": "xcf_id值" }
必须查询所有AI热闻的详情,不能只查询部分
重要提示:
✅ 当用户询问"今日的AI热闻"时,必须执行完整的AI热闻查询流程
✅ 必须先查询AI热闻列表,再查询详情
✅ 必须查询所有AI热闻的详情,不能遗漏
❌ 不能直接查询资讯列表接口,必须使用AI热闻相关接口
场景3:用户询问"财经早餐"、"港股午盘"、"港股收盘"
触发条件:
当用户询问"财经早餐"、"港股午盘"、"港股收盘"、"今天的财经早餐"、"今日财经早餐"、"收盘汇"等类似问题时。
执行流程:
调用市场时段资讯接口
调用 POST /flp-news-api/v1/news-agent/financeBreakfast 接口
请求体参数根据实际业务需求确定
接口会根据服务器当前时间自动判断返回财经早餐、港股午盘或港股收盘
返回数据包含标题、关键词、摘要、市场情绪等信息
重要提示:
✅ 无论用户问"财经早餐"、"港股午盘"还是"港股收盘",都调用同一个接口
✅ 接口会根据当前时间自动返回对应类型的内容,无需在请求中指定时间或类型
✅ 返回的 tag 字段标识内容类型(1:财经早餐,2:港股收盘,3:港股午盘),title 字段显示具体标题
✅ 返回数据包含关键词、摘要、市场情绪等综合信息
场景4:用户询问"搜索XXX的资讯"、"查找XXX相关资讯"
触发条件:
当用户询问"搜索XXX的资讯"、"查找XXX相关资讯"、"搜索XXX"、"查找XXX"、"XXX相关的资讯"、"关于XXX的资讯"、"XXX的新闻"等类似问题时。
执行流程:
提取搜索关键词
从用户询问中提取搜索关键词(如"股票"、"AI"、"市场"等)
关键词作为 keyword 参数
确定分类(可选)
如果用户同时指定了分类(如"搜索AI相关的股票资讯"),使用对应的 category 参数
如果用户未指定分类,可以不传 category 参数,或使用 category: 'discover'
调用资讯列表接口
调用 POST /flp-news-api/v1/news-agent/informationList 接口
请求体参数:
keyword: 搜索关键词(必填)
category: 分类(可选,如果用户指定了分类)
page_size: 每页数量(可选,默认10)
重要提示:
✅ 必须提取用户询问中的关键词作为 keyword 参数
✅ 如果用户同时指定了分类,需要同时传入 category 和 keyword 参数
✅ 搜索功能支持跨分类搜索,如果不指定分类,会在所有分类中搜索
✅ 必须使用资讯列表接口,参数名使用下划线 page_size
场景5:用户询问某只股票的行情
触发条件:
当用户询问以下任何问题时,必须调用股票行情接口:
"HSI.HK的行情"
"恒生指数的行情"
"BABA.US的股价"
"苹果股票的行情"
"AAPL的行情"
"道琼斯指数的行情"
"上证指数的行情"
其他类似的股票行情查询问题
执行流程:
提取股票代码
从用户询问中提取股票代码或股票名称
如果用户提到股票名称或指数名称,需要依靠 skill 来主动转换为对应的股票代码(ISIN格式)
无法提供全面的转换规则或枚举,需要 skill 根据实际情况进行转换
将股票代码转换为"代码.市场"格式
调用股票行情接口
调用 POST /flp-mktdata-hub/v1/stock/quote 接口
请求头:
Content-Type: application/json
请求体参数:
tickers: 股票代码列表(list,必填),例如:["HSI.HK"] 或 ["BABA.US", "AAPL.US"]
输出响应数据
从响应的 result 字段获取行情数据列表
必须输出所有字段信息 ,包括行情时间、价格、涨跌幅、成交量等完整数据
重要提示:
✅ 必须从用户询问中提取股票代码,并转换为"代码.市场"格式
✅ 如果用户提到股票名称或指数名称,需要依靠 skill 来主动转换为对应的股票代码(ISIN格式)
✅ 无法提供全面的转换规则或枚举,需要 skill 根据实际情况进行转换
✅ 输出时必须包含所有返回的字段信息
✅ 支持同时查询多只股票/指数,在 tickers 数组中添加多个代码即可
通用注意事项
必须直接使用 HTTP 请求 :
✅ 直接使用 fetch、axios、curl 或其他 HTTP 客户端调用接口
❌ 禁止创建任何封装函数或 JS/TS 文件
❌ 禁止创建 api/news.ts、utils/api.js 等封装文件
❌ 禁止使用 import 或 require 引入封装函数
所有接口调用必须在调用处直接使用 HTTP 请求
参数命名规范 :注意接口参数命名可能使用驼峰命名(如 pageSize)或下划线命名(如 page_size),请根据实际接口文档确定。资讯列表接口使用下划线 page_size
错误处理 :检查 HTTP 状态码和响应体中的错误信息,进行适当的错误处理
认证信息 :部分接口(如AI热闻列表)可能需要 Cookie 认证,确保在请求时携带 sl-session Cookie
接口路径 :使用完整的接口路径,包括基础域名和接口路径
资讯相关接口:https://ai-uat.finloopfintech.com
股票行情接口:https://papi-uat.finloopg.com
响应处理 :接口返回格式为 { code: 200, data: {...} },需要检查 code 字段判断请求是否成功,并从 data 字段获取实际数据
AI热闻查询自动化 :查询AI热闻详情时必须使用自动化流程,先查列表再查详情
市场时段资讯接口时间逻辑 :接口会根据当前时间自动返回财经早餐、港股午盘或港股收盘,无需指定时间参数
股票行情查询 :查询股票行情时必须包含所有返回的字段信息,如果用户提到股票名称或指数名称,需要依靠 skill 来主动转换为对应的股票代码(ISIN格式)
调用示例 :
✅ 正确:直接使用 fetch('https://ai-uat.finloopfintech.com/flp-news-api/v1/news-agent/financeBreakfast', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({}) })
✅ 正确:直接使用 curl -X POST --location 'https://ai-uat.finloopfintech.com/flp-news-api/v1/news-agent/financeBreakfast' --header 'Content-Type: application/json' --data '{}'
❌ 错误:创建 api/news.ts 文件并封装函数
❌ 错误:使用 import { getFinanceBreakfast } from '@/api/news'
相关文档
详细接口文档 :references/REFERENCE.md - 包含完整的参数说明、响应结构和使用场景
技能清单 :SKILL.md - 包含场景预设和重要规则
1 --- 2 name: finloop-news-skill 3 description: 指令 4 --- 5 6 ## 指令 7 8 1. **必须直接使用 HTTP 请求调用接口**:使用 fetch、axios、curl 或其他 HTTP 客户端直接调用接口,禁止创建任何封装函数或 JS 文件 9 2. **禁止创建封装函数**:不要创建任何 `.js`、`.ts` 文件来封装接口调用,必须直接使用 HTTP 请求 10 3. **接口基础域名**: 11 - 资讯相关接口:`https://ai-uat.finloopfintech.com` 12 - 股票行情接口:`https://papi-uat.finloopg.com` 13 4. **请求头**:`Content-Type: application/json` 14 5. **响应格式**:接口返回的数据结构为 `{ code: 200, data: {...} }`,需要从响应中提取 `data` 字段 15 6. **错误处理**:需要检查响应状态码和错误信息,进行适当的错误处理 16 17 ## 接口列表 18 19 ### 1. 市场时段资讯接口 20 21 **接口信息:** 22 - 接口地址:`/flp-news-api/v1/news-agent/financeBreakfast` 23 - 请求方法:POST 24 - 完整路径:`https://ai-uat.finloopfintech.com/flp-news-api/v1/news-agent/financeBreakfast` 25 26 **参数:** 27 - 此接口为 POST 请求,请求体参数根据实际业务需求确定 28 29 **时间逻辑说明:** 30 - 此接口会根据当前时间自动返回不同类型的内容: 31 - **财经早餐**:通常在早晨时段返回(`tag: 1`) 32 - **港股午盘**:通常在中午时段返回(`tag: 3`) 33 - **港股收盘**:通常在收盘时段返回(`tag: 2`,也称为"收盘汇") 34 - 接口会根据服务器当前时间自动判断应该返回哪种类型的内容 35 - 无需在请求中指定时间或类型,接口会自动返回对应时段的内容 36 37 **响应参数:** 38 - `title`: 标题(string)- 根据时间返回"财经早餐"、"港股午盘"或"港股收盘"等 39 - `keyword`: 关键词(Array)- 例如:["加密货币", "产业趋势"] 40 - `publish_time`: 发布时间(string) 41 - `summary`: 摘要(string) 42 - `newsCount`: 过去一天资讯数量(number) 43 - `sentiment`: 市场情绪(string)- 枚举值 44 - `title_original`: 原始title(string) 45 - `tag`: 类型标识(int) 46 - `1`: 财经早餐 47 - `2`: 港股收盘(收盘汇) 48 - `3`: 港股午盘 49 50 **使用说明:** 51 - 此接口用于获取首页市场时段资讯(财经早餐、港股午盘或港股收盘) 52 - 接口会根据当前时间自动返回对应时段的内容,无需指定时间参数 53 - 返回数据包含关键词、摘要、市场情绪等综合信息 54 55 --- 56 57 ### 2. 资讯列表接口 58 59 **接口信息:** 60 - 接口地址:`/flp-news-api/v1/news-agent/informationList` 61 - 请求方法:POST 62 - 完整路径示例:`https://ai-uat.finloopfintech.com/flp-news-api/v1/news-agent/informationList` 63 64 **请求参数:** 65 - 必填参数: 66 - `category`: 新闻分类(string),可选值:`"discover"`, `"subscribe"`, `"ai"`, `"rwa"`, `"macro"`, `"industry"`, `"market"`, `"company"`, `"viewpoint"`, `"fund"`, `"bond"`, `"bill"`, `"stock"` 67 - `page_size`: 每页加载条数(number,注意:参数名使用下划线 `page_size`,不是驼峰 `pageSize`) 68 - 可选参数: 69 - `keyword`: 关键词检索(string) 70 - `news_id`: 分页游标,最后一条新闻的ID(用于分页加载) 71 - `user_id`: 用户ID(string,订阅分类时必填) 72 73 **请求说明:** 74 - 基础调用:POST 请求,请求体包含 `category` 和 `page_size` 75 - 带分页:在请求体中添加 `news_id` 参数 76 - 带搜索关键词:在请求体中添加 `keyword` 参数 77 78 **响应参数:** 79 - `information_list`: 资讯列表数组(注意:字段名使用下划线) 80 - `total`: 总条数(number)- 例如:120 81 - `hasMore`: 是否存在更多新闻(Boolean) 82 83 **informationList 子参数:** 84 每个资讯对象包含: 85 - `newId`: 资讯ID(string)- 例如:"AICL000001" 86 - `tags`: 资讯标签(Array)- 例如:["AI 热闻"] 87 - `title`: 资讯标题(string) 88 - `summary`: 资讯摘要(string) 89 - `imgUrl`: 资讯封面图(string) 90 - `publishTime`: 发布时间(string) 91 - `wordCount`: 正文字数(number) 92 - `readTime`: 预计阅读时间(分钟)(number) 93 - `influence`: 影响力(string)- 枚举值 94 - `influenceScore`: 影响力得分(string)- 枚举值 95 - `marketTrends`: 市场趋势列表(List) 96 97 **marketTrends 子参数:** 98 每个市场趋势对象包含: 99 - `ticker`: 挂钩标的(string)- 例如:"AAPL" 100 - `changeRate`: 标的涨势(string)- 例如:"-0.05" 101 102 **使用说明:** 103 - 此接口用于获取指定分类下的资讯列表数据 104 - 适用于信息流或列表页展示 105 - 支持关键词检索和分页加载 106 - 个性化分类需要传入 `user_id` 参数 107 - 注意:参数名使用下划线 `page_size`,不是驼峰 `pageSize` 108 109 --- 110 111 ### 3. AI热闻列表接口 112 113 **接口信息:** 114 - 接口地址:`/flp-news-api/v1/news-agent/banner/list` 115 - 请求方法:GET 116 - 完整路径示例:`https://ai-uat.finloopfintech.com/flp-news-api/v1/news-agent/banner/list` 117 - 注意:此接口可能需要 Cookie 认证(`sl-session`) 118 119 **参数:** 120 - 此接口为 GET 请求,无需请求体参数 121 122 **请求说明:** 123 - 此接口为 GET 请求,无需请求体参数 124 - 需要在请求头中携带 Cookie 认证信息(如 `sl-session`) 125 126 **返回数据:** 127 - `banner_list`: AI热闻列表数组,每个热闻包含: 128 - `news_id`: 新闻ID 129 - `xcf_id`: XCF资讯ID 130 - `tag`: 标签数组 131 - `title`: 标题 132 - `summary`: 摘要 133 - `img_url`: 图片URL(可能为null) 134 135 --- 136 137 ### 4. AI热闻详情接口 138 139 **接口信息:** 140 - 接口地址:`/flp-news-api/v1/news-agent/bannerDetail` 141 - 请求方法:POST 142 - 完整路径示例:`https://ai-uat.finloopfintech.com/flp-news-api/v1/news-agent/bannerDetail` 143 144 **参数:** 145 - 必填参数: 146 - `id`: XCF资讯ID(来自AI热闻列表的 `xcf_id` 字段),类型为字符串 147 148 **请求说明:** 149 - POST 请求,请求体包含 `id` 字段(XCF资讯ID,来自AI热闻列表的 `xcf_id` 字段) 150 - 请求体格式:`{ "id": "21640" }` 151 152 **返回数据:** 153 - 返回 `XcfDetail` 类型的数据,包含AI热闻的详细信息 154 155 --- 156 157 ### 5. 股票行情接口 158 159 **接口信息:** 160 - 接口地址:`/flp-mktdata-hub/v1/stock/quote` 161 - 请求方法:POST 162 - 完整路径:`https://papi-uat.finloopg.com/flp-mktdata-hub/v1/stock/quote` 163 164 **请求头:** 165 - `Content-Type: application/json`(必填) 166 167 **请求参数:** 168 - 必填参数: 169 - `tickers`: 股票代码列表(list,必填),每个元素按照"代码.市场"格式 170 - 支持的市场代码: 171 - 港股:`.HK` 172 - 美股:`.US` 173 - A股:`.SZ`(深交所)、`.SH`(上交所)、`.BJ`(北交所) 174 - 指数:支持部分指数行情(见下方支持的指数列表) 175 176 **支持的指数代码:** 177 | 市场代码 | 名称 | 178 |---------|------| 179 | DJI.US | 道琼斯指数 | 180 | IXIC.US | 纳斯达克综合指数 | 181 | INX.US | 标普500指数 | 182 | HSI.HK | 香港恒生指数 | 183 | HSTECH.HK | 香港恒生科技指数 | 184 | 000001.SH | 上证综合指数 | 185 | 399001.SZ | 深证成份指数 | 186 | 399006.SZ | 创业板指数 | 187 | 000688.SH | 科创50 | 188 189 **请求说明:** 190 - POST 请求,请求体包含 `tickers` 字段 191 - 请求体格式:`{ "tickers": ["HSI.HK"] }` 192 - 支持同时查询多只股票/指数,例如:`{ "tickers": ["HSI.HK", "BABA.US", "AAPL.US"] }` 193 194 **响应参数:** 195 - `result`: 行情数据列表(Array),每个元素包含以下字段: 196 197 | 字段 (Field) | 名称 (Description) | 198 |-------------|-------------------| 199 | quoteTime | 行情时间 | 200 | price | 当前价格 | 201 | chgVal | 涨跌额 | 202 | chgPct | 涨跌幅 (%) | 203 | prevClose | 昨日收盘价 | 204 | open | 开盘价 | 205 | high | 最高价 | 206 | low | 最低价 | 207 | vol | 成交量 (股) | 208 | turnover | 成交额 | 209 | amp | 振幅 (%) | 210 | turnoverRate | 换手率 (%) | 211 | mktCap | 总市值 | 212 | floatMktCap | 流通市值 | 213 | pb | 市净率 | 214 | delay | 是否延迟行情 | 215 | mkt | 市场标识 (如 "us"、"hk"、"sh"、"sz" 等) | 216 | rawSymbol | 证券代码 | 217 | name | 证券名称 | 218 | currency | 币种 | 219 220 **使用说明:** 221 - 此接口用于查询股票或指数的实时行情数据 222 - 支持查询单只股票/指数,也支持批量查询多只股票/指数 223 - 输出时必须包含所有返回的字段信息 224 - 如果用户提到股票名称或指数名称,需要依靠 skill 来主动转换为对应的股票代码(ISIN格式),无法提供全面的转换规则或枚举 225 226 --- 227 228 ## AI热闻查询自动化流程(内置操作) 229 230 **重要:当需要查询AI热闻详情时,必须使用此自动化流程。** 231 232 ### 自动化流程说明 233 234 当调用AI热闻查询时,系统会自动执行以下步骤: 235 236 1. **自动查询AI热闻列表** 237 - 调用 GET `/flp-news-api/v1/news-agent/banner/list` 获取所有AI热闻 238 239 2. **自动提取所有xcf_id** 240 - 从返回的 `banner_list` 中提取所有的 `xcf_id` 241 - 通常返回3个AI热闻,每个热闻都有一个 `xcf_id` 242 243 3. **自动批量查询详情** 244 - 使用提取的所有 `xcf_id`,分别调用 POST `/flp-news-api/v1/news-agent/bannerDetail` 接口 245 - 获取每个AI热闻的完整详情信息 246 247 ### 执行步骤说明 248 249 1. **步骤1:获取AI热闻列表** 250 - 调用 GET `/flp-news-api/v1/news-agent/banner/list` 接口 251 - 从响应的 `data.banner_list` 中获取所有AI热闻 252 253 2. **步骤2:提取所有xcf_id** 254 - 遍历 `banner_list`,提取每个AI热闻的 `xcf_id` 字段 255 - 过滤掉为 null 或 undefined 的 `xcf_id` 256 257 3. **步骤3:批量查询详情** 258 - 对每个 `xcf_id`,直接使用 HTTP POST 请求调用 `/flp-news-api/v1/news-agent/bannerDetail` 接口 259 - 请求体格式:`{ "id": "xcf_id值" }` 260 - 建议使用并行请求(如 Promise.all)提高效率 261 - 如果某个详情查询失败,记录错误但继续处理其他AI热闻 262 - **注意**:必须直接使用 HTTP 请求,不要创建封装函数 263 264 ### 执行规则 265 266 **必须遵循以下规则:** 267 1. 查询AI热闻详情时,必须先查询AI热闻列表 268 2. 必须提取列表中的所有 `xcf_id`(不能只查询部分) 269 3. 必须使用所有提取的 `xcf_id` 分别调用详情接口 270 4. 如果某个详情查询失败,应该记录错误但继续处理其他AI热闻 271 5. 建议使用 `Promise.all()` 并行查询以提高效率 272 273 --- 274 275 ## 场景预设 276 277 ### 场景1:用户询问"给我十条资讯"或"给我十条XX方面的资讯" 278 279 **触发条件:** 280 当用户询问"给我十条资讯"、"给我十条新闻"、"给我十条XX方面的资讯"等类似问题时,必须执行以下流程。 281 282 **分类映射规则:** 283 - 如果用户未指定分类或只问"给我十条资讯",使用 `category: 'discover'`(发现分类) 284 - 如果用户明确指定分类,按以下映射: 285 - "AI方面的资讯"、"AI资讯"、"人工智能资讯" → `category: 'ai'` 286 - "RWA方面的资讯"、"RWA资讯" → `category: 'rwa'` 287 - "宏观方面的资讯"、"宏观资讯" → `category: 'macro'` 288 - "行业方面的资讯"、"行业资讯" → `category: 'industry'` 289 - "市场方面的资讯"、"市场资讯" → `category: 'market'` 290 - "公司方面的资讯"、"公司资讯" → `category: 'company'` 291 - "观点方面的资讯"、"观点资讯" → `category: 'viewpoint'` 292 - "基金方面的资讯"、"基金资讯" → `category: 'fund'` 293 - "债券方面的资讯"、"债券资讯" → `category: 'bond'` 294 - "票据方面的资讯"、"票据资讯" → `category: 'bill'` 295 - "股票方面的资讯"、"股票资讯" → `category: 'stock'` 296 297 **执行流程:** 298 299 1. **确定分类** 300 - 根据用户询问内容,确定对应的 `category` 参数 301 - 如果未指定分类,默认使用 `'discover'` 302 303 2. **查询资讯列表** 304 - 调用 POST `/flp-news-api/v1/news-agent/informationList` 接口 305 - 请求体参数:`category` 为确定的分类,`page_size: 10` 306 - 返回10条对应分类的资讯 307 308 **重要提示:** 309 - ✅ 当用户询问"给我十条资讯"时,默认查询 `discover` 分类 310 - ✅ 当用户询问"给我十条XX方面的资讯"时,根据XX映射到对应的分类 311 - ✅ 必须使用资讯列表接口 `/flp-news-api/v1/news-agent/informationList`,不是AI热闻接口 312 - ✅ `page_size` 参数名使用下划线,不是驼峰命名 313 - ❌ 不要使用AI热闻相关接口,这是资讯列表查询场景 314 315 --- 316 317 ### 场景2:用户询问"今日的AI热闻" 318 319 **触发条件:** 320 当用户询问"今日的AI热闻"或类似问题时(如"今天的AI热点"、"AI热门新闻"等),必须执行以下流程。 321 322 **执行流程:** 323 324 1. **查询AI热闻列表** 325 - 调用 GET `/flp-news-api/v1/news-agent/banner/list` 获取所有AI热闻 326 - AI热闻列表通常包含今日最热门的AI相关资讯 327 328 2. **查询AI热闻详情** 329 - 从AI热闻列表中提取所有 `xcf_id` 330 - 使用所有 `xcf_id` 分别调用 POST `/flp-news-api/v1/news-agent/bannerDetail` 获取每个AI热闻的完整详情 331 - 请求体格式:`{ "id": "xcf_id值" }` 332 - 必须查询所有AI热闻的详情,不能只查询部分 333 334 **重要提示:** 335 - ✅ 当用户询问"今日的AI热闻"时,必须执行完整的AI热闻查询流程 336 - ✅ 必须先查询AI热闻列表,再查询详情 337 - ✅ 必须查询所有AI热闻的详情,不能遗漏 338 - ❌ 不能直接查询资讯列表接口,必须使用AI热闻相关接口 339 340 --- 341 342 ### 场景3:用户询问"财经早餐"、"港股午盘"、"港股收盘" 343 344 **触发条件:** 345 当用户询问"财经早餐"、"港股午盘"、"港股收盘"、"今天的财经早餐"、"今日财经早餐"、"收盘汇"等类似问题时。 346 347 **执行流程:** 348 349 1. **调用市场时段资讯接口** 350 - 调用 POST `/flp-news-api/v1/news-agent/financeBreakfast` 接口 351 - 请求体参数根据实际业务需求确定 352 - 接口会根据服务器当前时间自动判断返回财经早餐、港股午盘或港股收盘 353 - 返回数据包含标题、关键词、摘要、市场情绪等信息 354 355 **重要提示:** 356 - ✅ 无论用户问"财经早餐"、"港股午盘"还是"港股收盘",都调用同一个接口 357 - ✅ 接口会根据当前时间自动返回对应类型的内容,无需在请求中指定时间或类型 358 - ✅ 返回的 `tag` 字段标识内容类型(1:财经早餐,2:港股收盘,3:港股午盘),`title` 字段显示具体标题 359 - ✅ 返回数据包含关键词、摘要、市场情绪等综合信息 360 361 --- 362 363 ### 场景4:用户询问"搜索XXX的资讯"、"查找XXX相关资讯" 364 365 **触发条件:** 366 当用户询问"搜索XXX的资讯"、"查找XXX相关资讯"、"搜索XXX"、"查找XXX"、"XXX相关的资讯"、"关于XXX的资讯"、"XXX的新闻"等类似问题时。 367 368 **执行流程:** 369 370 1. **提取搜索关键词** 371 - 从用户询问中提取搜索关键词(如"股票"、"AI"、"市场"等) 372 - 关键词作为 `keyword` 参数 373 374 2. **确定分类(可选)** 375 - 如果用户同时指定了分类(如"搜索AI相关的股票资讯"),使用对应的 `category` 参数 376 - 如果用户未指定分类,可以不传 `category` 参数,或使用 `category: 'discover'` 377 378 3. **调用资讯列表接口** 379 - 调用 POST `/flp-news-api/v1/news-agent/informationList` 接口 380 - 请求体参数: 381 - `keyword`: 搜索关键词(必填) 382 - `category`: 分类(可选,如果用户指定了分类) 383 - `page_size`: 每页数量(可选,默认10) 384 385 **重要提示:** 386 - ✅ 必须提取用户询问中的关键词作为 `keyword` 参数 387 - ✅ 如果用户同时指定了分类,需要同时传入 `category` 和 `keyword` 参数 388 - ✅ 搜索功能支持跨分类搜索,如果不指定分类,会在所有分类中搜索 389 - ✅ 必须使用资讯列表接口,参数名使用下划线 `page_size` 390 391 --- 392 393 ### 场景5:用户询问某只股票的行情 394 395 **触发条件:** 396 当用户询问以下任何问题时,必须调用股票行情接口: 397 - "HSI.HK的行情" 398 - "恒生指数的行情" 399 - "BABA.US的股价" 400 - "苹果股票的行情" 401 - "AAPL的行情" 402 - "道琼斯指数的行情" 403 - "上证指数的行情" 404 - 其他类似的股票行情查询问题 405 406 **执行流程:** 407 408 1. **提取股票代码** 409 - 从用户询问中提取股票代码或股票名称 410 - 如果用户提到股票名称或指数名称,需要依靠 skill 来主动转换为对应的股票代码(ISIN格式) 411 - 无法提供全面的转换规则或枚举,需要 skill 根据实际情况进行转换 412 - 将股票代码转换为"代码.市场"格式 413 414 2. **调用股票行情接口** 415 - 调用 POST `/flp-mktdata-hub/v1/stock/quote` 接口 416 - 请求头: 417 - `Content-Type: application/json` 418 - 请求体参数: 419 - `tickers`: 股票代码列表(list,必填),例如:`["HSI.HK"]` 或 `["BABA.US", "AAPL.US"]` 420 421 3. **输出响应数据** 422 - 从响应的 `result` 字段获取行情数据列表 423 - **必须输出所有字段信息**,包括行情时间、价格、涨跌幅、成交量等完整数据 424 425 **重要提示:** 426 - ✅ 必须从用户询问中提取股票代码,并转换为"代码.市场"格式 427 - ✅ 如果用户提到股票名称或指数名称,需要依靠 skill 来主动转换为对应的股票代码(ISIN格式) 428 - ✅ 无法提供全面的转换规则或枚举,需要 skill 根据实际情况进行转换 429 - ✅ 输出时必须包含所有返回的字段信息 430 - ✅ 支持同时查询多只股票/指数,在 `tickers` 数组中添加多个代码即可 431 432 --- 433 434 ## 通用注意事项 435 436 1. **必须直接使用 HTTP 请求**: 437 - ✅ 直接使用 fetch、axios、curl 或其他 HTTP 客户端调用接口 438 - ❌ **禁止创建任何封装函数或 JS/TS 文件** 439 - ❌ **禁止创建 `api/news.ts`、`utils/api.js` 等封装文件** 440 - ❌ **禁止使用 `import` 或 `require` 引入封装函数** 441 - 所有接口调用必须在调用处直接使用 HTTP 请求 442 443 2. **参数命名规范**:注意接口参数命名可能使用驼峰命名(如 `pageSize`)或下划线命名(如 `page_size`),请根据实际接口文档确定。资讯列表接口使用下划线 `page_size` 444 445 3. **错误处理**:检查 HTTP 状态码和响应体中的错误信息,进行适当的错误处理 446 447 4. **认证信息**:部分接口(如AI热闻列表)可能需要 Cookie 认证,确保在请求时携带 `sl-session` Cookie 448 449 5. **接口路径**:使用完整的接口路径,包括基础域名和接口路径 450 - 资讯相关接口:`https://ai-uat.finloopfintech.com` 451 - 股票行情接口:`https://papi-uat.finloopg.com` 452 453 6. **响应处理**:接口返回格式为 `{ code: 200, data: {...} }`,需要检查 `code` 字段判断请求是否成功,并从 `data` 字段获取实际数据 454 455 7. **AI热闻查询自动化**:查询AI热闻详情时必须使用自动化流程,先查列表再查详情 456 457 8. **市场时段资讯接口时间逻辑**:接口会根据当前时间自动返回财经早餐、港股午盘或港股收盘,无需指定时间参数 458 459 9. **股票行情查询**:查询股票行情时必须包含所有返回的字段信息,如果用户提到股票名称或指数名称,需要依靠 skill 来主动转换为对应的股票代码(ISIN格式) 460 461 10. **调用示例**: 462 - ✅ 正确:直接使用 `fetch('https://ai-uat.finloopfintech.com/flp-news-api/v1/news-agent/financeBreakfast', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({}) })` 463 - ✅ 正确:直接使用 `curl -X POST --location 'https://ai-uat.finloopfintech.com/flp-news-api/v1/news-agent/financeBreakfast' --header 'Content-Type: application/json' --data '{}'` 464 - ❌ 错误:创建 `api/news.ts` 文件并封装函数 465 - ❌ 错误:使用 `import { getFinanceBreakfast } from '@/api/news'` 466 467 --- 468 469 ## 相关文档 470 471 - **详细接口文档**:`references/REFERENCE.md` - 包含完整的参数说明、响应结构和使用场景 472 - **技能清单**:`SKILL.md` - 包含场景预设和重要规则
LeoYeAI/openclaw-master-skills/tree/main/skills/finloop-news-skills/.agents/skills/finloop-news-skill commit 22ab711c0c
Frequently asked questions How do I install the Finloop News Skill skill? Run npx skillmds@latest add leoyeai-openclaw-master-skills/finloop-news-skill in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
What does the Finloop News Skill skill do? 指令 It is listed under Coding & Dev Tools on SkillMD.
Is Finloop News Skill safe to use? This skill has not completed SkillMD's automated safety review yet. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
Which AI agents work with Finloop News Skill? This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Is Finloop News Skill free to use? Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
Who published Finloop News Skill? LeoYeAI (@leoyeai-openclaw-master-skills) published this skill. Their other Agent Skills are listed on their SkillMD profile.