加密货币日报 Skill
触发词
"出日报" / "生成日报" / "加密日报" / "日报" / "发日报"
输出目标
Telegram 加密新闻 Topic(threadId: 182747,chatId: 680162114)
分三条消息发送(见【排版规范】)
静默执行原则(重要)
- - 执行过程中不向用户输出任何中间状态文字,包括:
- "开始采集数据"、"并行启动所有数据源"
- "数据采集完成,开始组装日报"
- "三条消息字符数均在限制内,开始发送"
- "日报已发送完毕"
- 任何执行进度说明、重点提示、分析总结
- - 三条消息发送完毕后,主会话回复仅用 NO_REPLY,不追加任何内容
执行流程
Step 1:并行数据采集(全部同时发起)
快讯网站(主力,用 web_fetch):
- - BlockBeats: INLINECODE0
- Odaily: INLINECODE1
- PANews: INLINECODE2
- CoinDesk: INLINECODE3
价格数据:
CODEBLOCK0
Meme 趋势:
CODEBLOCK1
DeFi 生息:
CODEBLOCK2
RootData 热榜(内部权重,不对外展示标签):
CODEBLOCK3
OpenNews 高分补漏(score≥75):
TOKEN=$(grep OPENNEWS_TOKEN ~/.openclaw/.env | cut -d'=' -f2)
curl -s -X POST "https://ai.6551.io/open/news_search" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"minScore": 75, "limit": 20, "page": 1}'
Step 2:融资信息补全(重要)
RootData 融资列表拿到后,逐个去 BlockBeats 搜索项目名补充机构信息:
https://www.theblockbeats.info/search?q=<项目名>
- - 找到对应快讯后用 web_fetch 读取原文
- 从原文提取:领投机构、参投机构(≤3个)
- ⚠️ 禁止用 Tavily 猜测机构名,必须从快讯原文获取
- ⚠️ 每个项目必须有独立链接,禁止将 A 项目的链接用在 B 项目上
- 若 BlockBeats 搜索无结果,尝试 Odaily 或 PANews,仍无则标注"参投机构未披露"
Step 3:内容处理与脱水
处理原则:
- - 去重:同一事件只在最相关板块出现一次
- 脱水:每条新闻提炼核心信息,1-2句话
- 重要性过滤:优先 OpenNews 高分(≥75)、快讯头条、RootData 今日新上榜项目
- 时效过滤:只展示当日新闻;融资动态只展示最近一周
Step 4:按板块组装
板块结构
① 头条新闻
② 融资动态
- - 最近一周,≤5条
- 每条:项目名、业务介绍(1句)、金额/轮次、参与机构(≤3个)、一条链接
③ 重大更新
- - ≤5条,涵盖:产品上线、主网/测试网、重要公告、大事件
- 大额代币解锁仅最重要的一条作为更新展示
④ Alpha 前线
- - 飙升 Meme 速递(GeckoTerminal 实时数据)
- 社区热议 Alpha 项目(3-4条,RootData热榜 + opentwitter 结合)
- 热门赛道叙事(1段,当日最强叙事)
⑤ 链上与 DeFi
- - 链上数据:CEX 净流入/流出(Coinglass)、鲸鱼动向,不展示爆仓金额
- 生息机会:DeFiLlama yields API 数据,展示协议/资产/链/APY/TVL
⑥ 观点洞见
- - 精选 ≤3条,来源:KOL推文、机构报告、研报
⑦ 交易数据
- - 现货:BTC / ETH / SOL / HYPE
- ETF 资金流向
- 期货/衍生品(简洁1-2句)
- 市场判断(2-3句)
⑧ 宏观与政策
- - 加密监管:≤1条
- 宏观经济数据(简洁,含近期重要数据发布提醒)
Step 5:排版与发送
分三条消息发送,格式如下:
消息一:头条 + 融资
CODEBLOCK6
消息二:重大更新 + Alpha 前线 + 链上DeFi
CODEBLOCK7
消息三:观点 + 交易数据 + 宏观
CODEBLOCK8
错误处理与降级策略
数据源故障处理
| 数据源 | 故障类型 | 降级策略 |
|---|
| BlockBeats/Odaily/PANews | 超时/403 | 跳过该站,其余三站补全;所有站均失败则标注 [快讯暂时不可用] |
| CoinDesk |
超时 | 跳过,不影响其他板块 |
| Binance 现货 API | 超时/限流 | 重试2次(间隔1.5s),仍失败输出 [DATA UNAVAILABLE] |
| Binance 合约 API(HYPE) | 超时 | 同上,标注 HYPE: [DATA UNAVAILABLE] |
| GeckoTerminal(Meme) | 403/超时 | 自动降级到 DEXScreener token-boosts;两者均失败则标注"今日 Meme 数据暂不可用" |
| DeFiLlama yields | 超时 | 重试2次,仍失败输出 "[DATA UNAVAILABLE] 请访问 defillama.com/yields" |
| RootData | 超时/限额 | 跳过融资/热榜板块,标注 [RootData 暂不可用] |
| OpenNews API | 超时/401 | 跳过补漏步骤,仅用快讯网站内容 |
| BlockBeats 搜索(融资机构) | 无结果 | 依次尝试 Odaily → PANews;仍无则标注"参投机构未披露" |
重试规范
- - 脚本内置重试:最多2次,指数退避(1s, 2s)
- 整体采集超时:单个数据源超过15s视为失败,跳过,不阻塞其他板块
- 绝不因单点失败中断整个日报
标记规范
- -
[DATA UNAVAILABLE] — 数据源无响应 - INLINECODE5 — 来源可信度存疑
- INLINECODE6 — 使用了备用数据源
字数控制规范
Telegram 单条消息上限:4096 字符(UTF-16 code units)
建议每条不超过 3800 字符(留 ~200 字符余量)
发送前检查
每条消息组装完成后,用以下方式估算字符数:
# 快速估算:中文字符按1.5倍计,emoji 按2倍计
def estimate_chars(text):
count = 0
for ch in text:
cp = ord(ch)
if cp > 0xFFFF: count += 2 # emoji
elif cp > 0x4E00: count += 1 # 中文等 BMP 字符
else: count += 1
return count
或用脚本: INLINECODE7
各消息字数预算
| 消息 | 内容 | 建议上限 |
|---|
| 消息一 | 头条 + 融资 | 1500 字符 |
| 消息二 |
重大更新 + Alpha + DeFi | 3000 字符 |
| 消息三 | 观点 + 交易 + 宏观 | 1800 字符 |
超出时的压缩优先级
- 1. 压缩"热门赛道叙事"段落(最长,最可压缩)
- Alpha 项目描述缩减到1句
- Meme 速递减少条目(5条→3条)
- 观点洞见减少到2条
- 生息机会减少到3条
全局规范
- - 禁止表格(Telegram 不渲染)
- 禁止二级缩进
- 每条内容只保留一个链接
- 禁止展示 RootData 内部权重标签
- 反幻觉:所有数据必须来自本次会话实际查询,不确定的标注 [未验证]
- 时效:快讯只用当日内容;价格数据记录抓取时间
脚本位置
CODEBLOCK10
数据源速查
| 数据 | 来源 | 方式 |
|---|
| 快讯 | BlockBeats/Odaily/PANews/CoinDesk | webfetch |
| 价格 |
Binance API | fetchprices.py |
| Meme | GeckoTerminal | fetch
memetrending.py |
| DeFi yield | DeFiLlama | fetch
defiyields.py |
| 融资/热榜 | RootData | rootdata.py |
| 高分新闻 | OpenNews 6551 API | curl POST |
| Alpha KOL | OpenTwitter 6551 API | curl POST |
| 融资机构详情 | BlockBeats 搜索 | web_fetch 原文 |
| ETF 数据 | CoinDesk / Coinglass | web_fetch |
| 链上数据 | Coinglass | web_fetch |
加密货币日报 Skill
触发词
出日报 / 生成日报 / 加密日报 / 日报 / 发日报
输出目标
Telegram 加密新闻 Topic(threadId: 182747,chatId: 680162114)
分三条消息发送(见【排版规范】)
静默执行原则(重要)
- - 执行过程中不向用户输出任何中间状态文字,包括:
- 开始采集数据、并行启动所有数据源
- 数据采集完成,开始组装日报
- 三条消息字符数均在限制内,开始发送
- 日报已发送完毕
- 任何执行进度说明、重点提示、分析总结
- - 三条消息发送完毕后,主会话回复仅用 NO_REPLY,不追加任何内容
执行流程
Step 1:并行数据采集(全部同时发起)
快讯网站(主力,用 web_fetch):
- - BlockBeats: https://www.theblockbeats.info/newsflash
- Odaily: https://www.odaily.news/zh-CN/newsflash
- PANews: https://www.panewslab.com/zh/newsflash
- CoinDesk: https://www.coindesk.com/latest-crypto-news
价格数据:
bash
python3 skills/crypto-daily-report/scripts/fetch_prices.py
Meme 趋势:
bash
python3 skills/crypto-daily-report/scripts/fetchmemetrending.py
DeFi 生息:
bash
python3 skills/crypto-daily-report/scripts/fetchdefiyields.py 5
RootData 热榜(内部权重,不对外展示标签):
bash
python3 skills/rootdata/scripts/rootdata.py hot --limit 20
python3 skills/rootdata/scripts/rootdata.py funding --limit 10
OpenNews 高分补漏(score≥75):
bash
TOKEN=$(grep OPENNEWS_TOKEN ~/.openclaw/.env | cut -d= -f2)
curl -s -X POST https://ai.6551.io/open/news_search \
-H Authorization: Bearer $TOKEN \
-H Content-Type: application/json \
-d {minScore: 75, limit: 20, page: 1}
Step 2:融资信息补全(重要)
RootData 融资列表拿到后,逐个去 BlockBeats 搜索项目名补充机构信息:
https://www.theblockbeats.info/search?q=<项目名>
- - 找到对应快讯后用 web_fetch 读取原文
- 从原文提取:领投机构、参投机构(≤3个)
- ⚠️ 禁止用 Tavily 猜测机构名,必须从快讯原文获取
- ⚠️ 每个项目必须有独立链接,禁止将 A 项目的链接用在 B 项目上
- 若 BlockBeats 搜索无结果,尝试 Odaily 或 PANews,仍无则标注参投机构未披露
Step 3:内容处理与脱水
处理原则:
- - 去重:同一事件只在最相关板块出现一次
- 脱水:每条新闻提炼核心信息,1-2句话
- 重要性过滤:优先 OpenNews 高分(≥75)、快讯头条、RootData 今日新上榜项目
- 时效过滤:只展示当日新闻;融资动态只展示最近一周
Step 4:按板块组装
板块结构
① 头条新闻
② 融资动态
- - 最近一周,≤5条
- 每条:项目名、业务介绍(1句)、金额/轮次、参与机构(≤3个)、一条链接
③ 重大更新
- - ≤5条,涵盖:产品上线、主网/测试网、重要公告、大事件
- 大额代币解锁仅最重要的一条作为更新展示
④ Alpha 前线
- - 飙升 Meme 速递(GeckoTerminal 实时数据)
- 社区热议 Alpha 项目(3-4条,RootData热榜 + opentwitter 结合)
- 热门赛道叙事(1段,当日最强叙事)
⑤ 链上与 DeFi
- - 链上数据:CEX 净流入/流出(Coinglass)、鲸鱼动向,不展示爆仓金额
- 生息机会:DeFiLlama yields API 数据,展示协议/资产/链/APY/TVL
⑥ 观点洞见
- - 精选 ≤3条,来源:KOL推文、机构报告、研报
⑦ 交易数据
- - 现货:BTC / ETH / SOL / HYPE
- ETF 资金流向
- 期货/衍生品(简洁1-2句)
- 市场判断(2-3句)
⑧ 宏观与政策
- - 加密监管:≤1条
- 宏观经济数据(简洁,含近期重要数据发布提醒)
Step 5:排版与发送
分三条消息发送,格式如下:
消息一:头条 + 融资
📰 加密货币日报 · YYYY年M月D日
来源:BlockBeats · Odaily · PANews · CoinDesk · Binance 实时
━━━━━ 🔴 头条 ━━━━━
[标题]
[1-2句正文]
→ [来源链接]
━━━━━ 💰 融资动态 ━━━━━
▪ 项目名 · 金额 轮次
业务介绍(1句)
机构1、机构2、机构3参投 · 日期
→ [链接]
消息二:重大更新 + Alpha 前线 + 链上DeFi
━━━━━ 🚀 重大更新 ━━━━━
▪ 项目名(代币)事件标题
1-2句描述
→ [链接]
━━━━━ 🎯 Alpha 前线 ━━━━━
飙升 Meme 速递(GeckoTerminal Solana 实时)
代币名 · +X% · 量 $XM · FDV $XM
→ [DEX链接]
社区热议 Alpha 项目
▪ 项目名 — 1句描述,热度说明
→ [链接]
热门赛道叙事
[1段文字]
━━━━━ 📊 链上与 DeFi ━━━━━
链上数据
[CEX流向等]
生息机会(DeFiLlama 实时)
协议 · 资产 · 链 · APY X% · TVL $XM
→ [链接]
消息三:观点 + 交易数据 + 宏观
━━━━━ 💬 观点洞见 ━━━━━
▪ 来源名称:内容(1-2句)
→ [链接]
━━━━━ 📈 交易数据 ━━━━━
现货价格(Binance,HH:MM BJ)
BTC $XX,XXX · +X.XX%
ETH $X,XXX · +X.XX%
SOL $XX.XX · +X.XX%
HYPE $XX.XX · +X.XX%(合约)
ETF:[一句话]
→ [链接]
期货:[一句话爆仓数据]
判断:[2-3句]
━━━━━ 🌐 宏观与政策 ━━━━━
[宏观数据 + 近期重要发布提醒]
→ [CME FedWatch链接]
监管:[1句]
→ [链接]
错误处理与降级策略
数据源故障处理
| 数据源 | 故障类型 | 降级策略 |
|---|
| BlockBeats/Odaily/PANews | 超时/403 | 跳过该站,其余三站补全;所有站均失败则标注 [快讯暂时不可用] |
| CoinDesk |
超时 | 跳过,不影响其他板块 |
| Binance 现货 API | 超时/限流 | 重试2次(间隔1.5s),仍失败输出 [DATA UNAVAILABLE] |
| Binance 合约 API(HYPE) | 超时 | 同上,标注 HYPE: [DATA UNAVAILABLE] |
| GeckoTerminal(Meme) | 403/超时 | 自动降级到 DEXScreener token-boosts;两者均失败则标注今日 Meme 数据暂不可用 |
| DeFiLlama yields | 超时 | 重试2次,仍失败输出 [DATA UNAVAILABLE] 请访问 defillama.com/yields |
| RootData | 超时/限额 | 跳过融资/热榜板块,标注 [RootData 暂不可用] |
| OpenNews API | 超时/401 | 跳过补漏步骤,仅用快讯网站内容 |
| BlockBeats 搜索(融资机构) | 无结果 |