back
loading skill details...
加密快讯抓取与筛选技能。使用当需要:(1) 从 BlockBeats 拉取快讯数据,(2) 按关键词筛选多条资讯,(3) 输出去 HTML 标签且时间已格式化的 JSON,用于后续自动化处理。
---
name: crypto-news
description: 加密快讯抓取与筛选技能。使用当需要:(1) 从 BlockBeats 拉取快讯数据,(2) 按关键词筛选多条资讯,(3) 输出去 HTML 标签且时间已格式化的 JSON,用于后续自动化处理。
---
# Crypto News 快讯抓取技能
从 BlockBeats 官方开放接口并发抓取最新快讯,支持按关键词筛选、数量控制,输出结构化 JSON,方便在 openclaw 流程里复用。
## 能力概览
- 🔄 **并发抓取**:从 `https://api.theblockbeats.news/v1/open-api/open-flash` 分页抓取最新快讯
- 🔍 **关键词筛选**:对标题与内容做不区分大小写的关键词匹配(支持多个关键词)
- 🧹 **内容清洗**:自动移除 `content` 等字段中的 HTML 标签,只保留纯文本
- ⏱ **时间格式化**:将 `create_time` 等 Unix 秒时间戳转换为 `YYYY-MM-DD HH:mm:ss`,并保留原始值
- 📦 **JSON 输出**:只在 stdout 输出一个 JSON 数组,方便管道处理或被其他技能消费
## 快速开始
> 运行环境:Node.js 18+(内置 `fetch`),在 workspace 根目录下执行。
### 1. 直接获取最新 N 条快讯(不按关键词过滤)
```bash
node workspace/erbai/crypto-news/new.js "" 10 1000
```
- 第 1 个参数 `""`:关键字为空,表示不过滤,直接返回最新快讯
- 第 2 个参数 `10`:`limit`,最多返回 10 条
- 第 3 个参数 `1000`:`maxLimit`,最多从接口抓取 1000 条后再截断
返回结果为 JSON 数组,每一项是清洗和格式化后的快讯对象。
### 2. 按关键词筛选(单个或多个)
```bash
# 单个关键词
node workspace/erbai/crypto-news/new.js "btc" 20 1000
# 多个关键词(逗号分隔)
node workspace/erbai/crypto-news/new.js "btc,okx,eth" 50 2000
```
- 关键词不区分大小写,会在标题、内容等文本字段里做包含匹配
- 只返回最多 `limit` 条匹配结果
## 参数说明
脚本签名:
```bash
node workspace/erbai/crypto-news/new.js {keyword} {limit} {maxLimit}
```
- **`keyword`**(字符串,可选)
- 说明:关键字字符串,多个用英文逗号分隔,如 `"btc,okx,eth"`
- 行为:为空或省略时,不做关键词过滤,直接返回最新快讯
- **`limit`**(整数,可选,默认 `10`)
- 说明:最终返回的最大条数
- 示例:`10` 表示最多返回 10 条快讯
- **`maxLimit`**(整数,可选,默认 `1000`)
- 说明:从接口抓取的最大原始条数,上限控制抓取 & 计算量
- 示例:`2000` 表示最多抓 2000 条,再在其中进行筛选和截断
## 输出数据结构(示例)
```jsonc
[
{
"id": 335678,
"title": "OKX Star:有些公司打造产品,有些公司组织诉讼",
"content": "BlockBeats 消息,3 月 11 日,OKX 创始人兼 CEO Star ...", // 已去 HTML 标签
"link": "https://m.theblockbeats.info/flash/335678",
"create_time": "2026-03-13 16:28:32", // 已格式化
"create_time_raw": "1773376185" // 原始 Unix 秒时间戳
}
]
```
> 注意:字段名会随官方 API 变动而略有不同,技能保证:
> - 文本字段中的 HTML 标签会被移除
> - `create_time` / `time` / `timestamp` 等时间戳字段会尝试格式化并保留 `_raw` 原值
## 在 openclaw 中的典型用法
- **作为数据源技能**:在自动化流程里先调用本技能获取结构化快讯列表,再交给其他技能(例如摘要、翻译、推送等)继续处理。
- **与通知/推送技能组合**:
1. 使用 `crypto-news` 获取匹配某些币种的最新快讯
2. 将结果过滤重组后,推送到钉钉/飞书/Telegram 等渠道
调用本技能时,只需要让代理执行对应的 `node ...` 命令,并把 stdout 解析为 JSON 即可。 don't have the plugin yet? install it then click "run inline in claude" again.