Daily Briefing
by @caoyachao
Generate daily morning briefings with weather, traffic limits, and news. Provides structured data collection scripts for stable, reproducible briefing genera...
clawhub install dailybriefing📖 About This Skill
name: daily-briefing description: Generate daily morning briefings with weather, traffic limits, and news. Provides structured data collection scripts for stable, reproducible briefing generation.
Daily Briefing Skill
每日晨报生成工具,提供稳定、可复现的数据获取和简报生成能力。
Features
Quick Start
# 生成今日晨报(完整版,含天气+限行,新闻由AI搜索整理)
node scripts/generate-briefing.mjs生成次日晨报
node scripts/generate-briefing.mjs --tomorrow生成简化版(天气+限行,无新闻)
node scripts/generate-briefing.mjs --simple生成无新闻版本
node scripts/generate-briefing.mjs --no-newsJSON 格式输出
node scripts/generate-briefing.mjs --json
完整晨报生成流程(推荐):
1. 执行脚本获取天气和限行:
node ~/.openclaw/skills/daily-briefing/scripts/generate-briefing.mjs --no-news
2. AI 使用 kimi_search 工具搜索新闻:
- 搜索关键词:国际新闻 {今日日期}(5条)
- 搜索关键词:科技新闻 AI {今日日期}(5条)
- 搜索关键词:互联网 产业 {今日日期}(5条)
- 搜索关键词:今日热点 社会 {今日日期}(5条)
*注:{今日日期} 格式为"2026年3月27日",根据实际日期动态替换*
3. AI 按规则整理新闻并生成完整简报
API Usage
import { generateBriefing, generateBriefingData } from './scripts/generate-briefing.mjs';// 生成完整晨报(含新闻)
const briefing = await generateBriefing({
city: 'Beijing',
dayOffset: 0, // 0=今天, 1=明天
includeNews: true
});
// 生成结构化数据
const data = await generateBriefingData({ dayOffset: 0 });
Data Sources
| 数据类型 | 来源 | 更新频率 | 方式 | |---------|------|---------|------| | 天气 | wttr.in API | 实时 | curl | | 限行 | 本地规则配置 | 按周期更新 | 代码计算 | | 新闻 | Kimi Search 实时搜索 | 实时 | 搜索+AI整理 |
新闻精选规则
简报新闻共 20条,按以下分类:
| 分类 | 条数 | 内容范围 | |------|------|---------| | 🌍 国际新闻 | 5条 | 国际政治、地缘冲突、全球经济 | | 💻 科技新闻 | 5条 | AI、航天、芯片、科研突破 | | 🌐 互联网/产业 | 5条 | 互联网大厂、AI应用、产业动态 | | 🔥 热点事件 | 5条 | 国内时事、体育、社会热点 |
过滤规则:
北京限行规则(2025.12.29-2026.03.29)
| 星期 | 限行尾号 | 时间 | 范围 | |------|---------|------|------| | 周一 | 3和8 | 07:00-20:00 | 五环路以内 | | 周二 | 4和9 | 07:00-20:00 | 五环路以内 | | 周三 | 5和0 | 07:00-20:00 | 五环路以内 | | 周四 | 1和6 | 07:00-20:00 | 五环路以内 | | 周五 | 2和7 | 07:00-20:00 | 五环路以内 | | 周末 | 不限行 | - | - |
Cron Job Integration
配合 OpenClaw Cron 使用示例:
{
"id": "daily-briefing-morning",
"agentId": "main",
"name": "每日晨报-晨间",
"schedule": {
"kind": "cron",
"expr": "0 15 7 * * *",
"tz": "Asia/Shanghai"
},
"payload": {
"kind": "agentTurn",
"message": "生成每日晨报:\n\n1. 获取天气和限行数据:\nbash\nnode /root/.openclaw/skills/daily-briefing/scripts/generate-briefing.mjs --no-news\n``\n\n2. 使用 kimi_search 搜索今日新闻(共20条):\n - 国际新闻 5条(关键词:国际新闻 全球 今日日期)\n - 科技新闻 5条(关键词:科技新闻 AI 人工智能 今日日期)\n - 互联网/产业 5条(关键词:互联网 产业 今日日期)\n - 热点事件 5条(关键词:今日热点 社会 今日日期)\n\n3. 按以下规则整理:\n - 过滤重复报道(同一事件只保留一条)\n - 每条新闻配简短摘要(80字内)\n - 按分类输出格式\n\n4. 合并天气+限行+新闻,生成完整简报"
}
}
`优势对比
| 维度 | 旧方式(纯AI生成) | 新方式(Skill+脚本) |
|------|------------------|-------------------|
| 天气准确性 | 依赖AI调用工具,可能失败 | ✅ 专用脚本,带缓存和容错 |
| 限行准确性 | AI可能记忆错误 | ✅ 代码化规则,准确计算 |
| 新闻时效性 | AI抓取可能遗漏 | ✅ 脚本化抓取,结构化分类 |
| 执行时间 | 不稳定(10-60秒) | ✅ 快速(3-10秒,有缓存) |
| 随机性 | 高 | ✅ 低(固定代码逻辑) |
| 可维护性 | 低(改提示语) | ✅ 高(改代码即可) |
Files
scripts/data-collector.mjs - 天气、限行数据获取
scripts/news-search.mjs - 新闻搜索与分类整理模块
scripts/generate-briefing.mjs - 简报生成主程序
.cache/ - 数据缓存目录(30分钟TTL)Changelog
v1.2.0 (2026-03-27)
✨ 更新新闻获取方式:搜索+AI整理(替代原网页抓取)
✨ 新增新闻精选规则:20条 = 国际5+科技5+互联网5+热点5
✨ 新增自动去重和过滤机制
🔧 优化简报格式,分类更清晰 v1.1.0 (2026-03-19)
✨ 新增新闻自动抓取功能(网易、新浪)
✨ 新闻自动分类(国际/国内/科技/财经/社会)
✨ 新增 --no-news` 参数
v1.0.0 (2026-03-19)
License
MIT
💡 Examples
# 生成今日晨报(完整版,含天气+限行,新闻由AI搜索整理)
node scripts/generate-briefing.mjs生成次日晨报
node scripts/generate-briefing.mjs --tomorrow生成简化版(天气+限行,无新闻)
node scripts/generate-briefing.mjs --simple生成无新闻版本
node scripts/generate-briefing.mjs --no-newsJSON 格式输出
node scripts/generate-briefing.mjs --json
完整晨报生成流程(推荐):
1. 执行脚本获取天气和限行:
node ~/.openclaw/skills/daily-briefing/scripts/generate-briefing.mjs --no-news
2. AI 使用 kimi_search 工具搜索新闻:
- 搜索关键词:国际新闻 {今日日期}(5条)
- 搜索关键词:科技新闻 AI {今日日期}(5条)
- 搜索关键词:互联网 产业 {今日日期}(5条)
- 搜索关键词:今日热点 社会 {今日日期}(5条)
*注:{今日日期} 格式为"2026年3月27日",根据实际日期动态替换*
3. AI 按规则整理新闻并生成完整简报