- name
- Finloop 资讯API调用技能
- description
- 当需要调用Finloop资讯相关接口时,请参考此规范。包括市场时段资讯、资讯列表、AI热闻、股票行情等接口。
指令
- 必须直接使用 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)- 例如:120hasMore: 是否存在更多新闻(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 请求,无需请求体参数
请求说明:
- 此接口为 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-sessionCookie
- 接口路径:使用完整的接口路径,包括基础域名和接口路径
- 资讯相关接口: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- 包含场景预设和重要规则