finloop-news-skills-.agents-finloop-news-skill
安装 / 下载方式
TotalClaw CLI推荐
totalclaw install clawskills:clawskills~finloop-news-skills-.agents-finloop-news-skillcURL直接下载,无需登录
curl -fsSL https://skills.taituai.com/api/skills/clawskills%3Aclawskills~finloop-news-skills-.agents-finloop-news-skill/file -o finloop-news-skills-.agents-finloop-news-skill.md---
请为我安装如下skill
## name:
finloop_news (Finloop资讯skill)
## description:
本 Skill 基于 Finloop 权威数据源,提供金融资讯检索与实时行情查询能力。支持市场时段资讯、分类资讯查询、AI热闻追踪、实时股票行情等功能,用于获取涉及时效性信息或特定事件信息的任务,包括新闻、公告、研报、政策、市场动态、股票行情等。避免AI在搜索金融场景信息时,参考到非权威、及过时的信息。
## 安装方式
### 通过 npm/npx 安装(推荐)
```bash
# 安装到本地项目
npx finloop-news-skills install finloop-news-skill
```
name: Finloop 资讯API调用技能
description: 当需要调用Finloop资讯相关接口时,请参考此规范。包括市场时段资讯、资讯列表、AI热闻、股票行情等接口。
---
## 指令
1. **必须直接使用 HTTP 请求调用接口**:使用 fetch、axios、curl 或其他 HTTP 客户端直接调用接口,禁止创建任何封装函数或 JS 文件
2. **禁止创建封装函数**:不要创建任何 `.js`、`.ts` 文件来封装接口调用,必须直接使用 HTTP 请求
3. **接口基础域名**:
- 资讯相关接口:`https://ai-uat.finloopfintech.com`
- 股票行情接口:`https://papi-uat.finloopg.com`
4. **请求头**:`Content-Type: application/json`
5. **响应格式**:接口返回的数据结构为 `{ code: 200, data: {...} }`,需要从响应中提取 `data` 字段
6. **错误处理**:需要检查响应状态码和错误信息,进行适当的错误处理
## 接口列表
### 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 请求,无需请求体参数
**请求说明:**
- 此接口为 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热闻查询时,系统会自动执行以下步骤:
1. **自动查询AI热闻列表**
- 调用 GET `/flp-news-api/v1/news-agent/banner/list` 获取所有AI热闻
2. **自动提取所有xcf_id**
- 从返回的 `banner_list` 中提取所有的 `xcf_id`
- 通常返回3个AI热闻,每个热闻都有一个 `xcf_id`
3. **自动批量查询详情**
- 使用提取的所有 `xcf_id`,分别调用 POST `/flp-news-api/v1/news-agent/bannerDetail` 接口
- 获取每个AI热闻的完整详情信息
### 执行步骤说明
1. **步骤1:获取AI热闻列表**
- 调用 GET `/flp-news-api/v1/news-agent/banner/list` 接口
- 从响应的 `data.banner_list` 中获取所有AI热闻
2. **步骤2:提取所有xcf_id**
- 遍历 `banner_list`,提取每个AI热闻的 `xcf_id` 字段
- 过滤掉为 null 或 undefined 的 `xcf_id`
3. **步骤3:批量查询详情**
- 对每个 `xcf_id`,直接使用 HTTP POST 请求调用 `/flp-news-api/v1/news-agent/bannerDetail` 接口
- 请求体格式:`{ "id": "xcf_id值" }`
- 建议使用并行请求(如 Promise.all)提高效率
- 如果某个详情查询失败,记录错误但继续处理其他AI热闻
- **注意**:必须直接使用 HTTP 请求,不要创建封装函数
### 执行规则
**必须遵循以下规则:**
1. 查询AI热闻详情时,必须先查询AI热闻列表
2. 必须提取列表中的所有 `xcf_id`(不能只查询部分)
3. 必须使用所有提取的 `xcf_id` 分别调用详情接口
4. 如果某个详情查询失败,应该记录错误但继续处理其他AI热闻
5. 建议使用 `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'`
**执行流程:**
1. **确定分类**
- 根据用户询问内容,确定对应的 `category` 参数
- 如果未指定分类,默认使用 `'discover'`
2. **查询资讯列表**
- 调用 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热闻"
**触发条件:**
当用户询问"今