{"skill":{"slug":"daily-weather-news","displayName":"Daily Weather News","summary":"每日天气和新闻推送技能，使用Open-Meteo API获取精确天气信息、中文国际新闻搜索、智能穿衣建议和飞书消息推送功能。适用于需要每日自动推送天气和新闻到飞书聊天场景，支持定时推送和手动查询两种模式。","description":"---\nname: daily-weather-news\ndescription: 每日天气和新闻推送技能，使用Open-Meteo API获取精确天气信息、中文国际新闻搜索、智能穿衣建议和飞书消息推送功能。适用于需要每日自动推送天气和新闻到飞书聊天场景，支持定时推送和手动查询两种模式。\n---\n\n# 每日天气新闻推送\n\n## 概述\n这个技能提供了完整的每日天气和新闻推送功能，包括天气信息获取、中文新闻搜索、智能穿衣建议和飞书消息推送。支持定时自动推送和手动查询两种模式。\n\n## 快速开始\n\n### 基本用法\n```bash\n# 测试模式（预览推送内容）\n./scripts/daily_push.sh --test\n\n# 正常执行（获取天气和新闻并推送）\n./scripts/daily_push.sh\n\n# 设置定时任务（每天早上7:30执行）\n30 7 * * * /home/alanchan/.openclaw/workspace/skills/daily-weather-news/scripts/daily_push.sh\n```\n\n### 配置设置\n\n**1. 设置环境变量（推荐）：**\n```bash\n# 临时设置（当前会话有效）\nexport TAVILY_API_KEY=\"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\"\n\n# 永久设置（添加到 ~/.bashrc 或 ~/.zshrc）\necho 'export TAVILY_API_KEY=\"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\"' >> ~/.bashrc\nsource ~/.bashrc\n```\n\n**2. 编辑 `config/config.sh` 文件（其他配置）：**\n```bash\n# 目标用户ID（飞书）\nTARGET_USER=\"ou_3a0705a4c7b5f068fff0b2b719d37978\"\n\n# 推送地点\nLOCATION=\"黄埔\"\n\n# 日志文件路径\nLOG_FILE=\"/home/alanchan/.openclaw/workspace/daily_push.log\"\n```\n\n## 核心功能\n\n### 1. 天气信息获取\n- 使用 Open-Meteo API 获取指定地点的精确天气信息\n- 通过经纬度坐标（广州：23.1291, 113.2644）精确定位\n- 自动将天气代码转换为中文描述（如代码3 → \"多云\"）\n- 提取温度、风速、风向等详细气象数据\n\n### 2. 中文国际新闻搜索\n- 使用 Tavily Search API 搜索中文国际新闻\n- 优先搜索新华网、人民网等权威中文新闻源\n- 提供结构化的新闻摘要和来源链接\n\n### 3. 智能穿衣建议\n- 根据Open-Meteo天气代码智能生成穿衣建议\n- 考虑温度、天气类型（多云、晴朗、雨雪等）等因素\n- 基于精确气象数据提供实用的穿衣指导\n\n### 4. 飞书消息推送\n- 使用OpenClaw消息API发送推送内容到飞书\n- 支持丰富的emoji和格式化显示\n- 自动记录推送日志和执行状态\n\n## 工作流程\n\n### 步骤1: 获取天气信息\n```bash\nweather_info=$(get_weather \"$LOCATION\")\n# 输出: \"多云 25.6°C 3.7 km/h (微风)\"\n```\n\n### 步骤2: 获取国际新闻\n```bash\nnews_info=$(get_news)\n# 输出: 结构化的中文国际新闻内容\n```\n\n### 步骤3: 生成穿衣建议\n```bash\nclothing_advice=$(get_clothing_advice \"$weather_info\")\n# 输出: \"根据当前天气，建议穿着舒适的长袖衣物，注意早晚温差。\"\n```\n\n### 步骤4: 推送消息\n```bash\nsend_to_feishu \"$push_content\" \"$TARGET_USER\"\n# 发送格式化的消息到飞书\n```\n\n## 配置选项\n\n### config/config 关键配置\n```bash\n# 推送目标用户ID\nTARGET_USER=\"ou_3a0705a4c7b5f068fff0b2b719d37978\"\n\n# 推送地点\nLOCATION=\"广州市黄埔区\"\n\n# 广州经纬度坐标\nLATITUDE=\"23.1291\"\nLONGITUDE=\"113.2644\"\n\n# 天气API配置\nWEATHER_API_BASE=\"https://api.open-meteo.com/v1/forecast\"\n\n# Tavily API密钥（从环境变量读取）\n# 在运行脚本前设置: export TAVILY_API_KEY=\"your-api-key\"\nTAVILY_API_KEY=\"${TAVILY_API_KEY:-}\"\n\n# 推送时间（cron格式）\nCRON_TIME=\"30 7 * * *\"\n\n# 是否启用推送\nENABLE_PUSH=\"true\"\n```\n\n## 错误处理\n\n### 常见问题\n1. **API密钥错误**\n   - 检查 `TAVILY_API_KEY` 配置\n   - 验证密钥有效性\n\n2. **网络连接问题**\n   - 检查网络连接\n   - 验证Open-Meteo API服务可用性\n   - 检查防火墙设置\n\n3. **消息推送失败**\n   - 检查 `openclaw` 命令可用性\n   - 验证用户ID正确性\n\n4. **天气数据解析失败**\n   - 检查JSON数据格式\n   - 验证经纬度坐标正确性\n   - 确认API响应完整性\n\n### 日志查看\n```bash\n# 查看推送日志\ntail -f /home/alanchan/.openclaw/workspace/daily_push.log\n\n# 查看错误日志\ngrep \"ERROR\" /home/alanchan/.openclaw/workspace/daily_push.log\n```\n\n## 参考文档\n\n### API文档\n- [weather-api.md](references/weather-api.md) - Open-Meteo 天气API文档\n- [tavily-api.md](references/tavily-api.md) - Tavily搜索API文档\n- [feishu-config.md](references/feishu-config.md) - 飞书推送配置\n\n### 工作流程\n- [workflow.md](references/workflow.md) - 详细工作流程和使用指南\n\n## 扩展功能\n\n### 自定义新闻源\n修改 `NEWS_SOURCES` 配置：\n```bash\nNEWS_SOURCES=\"site:your-news-site.com 重要新闻 OR site:another-site.com 国际新闻\"\n```\n\n### 多地点支持\n可以扩展脚本支持多个地点的天气推送，通过添加多个经纬度坐标对实现，每个地点使用独立的API调用。\n\n### 消息模板自定义\n修改 `PUSH_TEMPLATE` 来自定义消息格式和内容结构。\n\n### 天气代码扩展\n可以根据需要扩展天气代码映射，添加更多天气类型的中文描述。\n\n## 技术依赖\n- curl: 用于HTTP请求（Open-Meteo API调用）\n- node.js: 用于Tavily搜索\n- openclaw: 用于飞书消息推送\n- bash: 脚本执行环境（JSON解析、数据处理）\n- bash: 脚本执行环境\n- 标准Linux工具：grep, awk, sed（JSON数据解析）\n","tags":{"latest":"1.0.0"},"stats":{"comments":0,"downloads":290,"installsAllTime":1,"installsCurrent":1,"stars":0,"versions":1},"createdAt":1772418837864,"updatedAt":1779077491109},"latestVersion":{"version":"1.0.0","createdAt":1772418837864,"changelog":"Initial release of daily-weather-news, providing automated daily weather and news updates with Feishu push.\n\n- Fetches accurate weather info via Open-Meteo API using city coordinates, with Chinese weather descriptions.\n- Searches and summarizes Chinese international news using Tavily API, prioritizing major trusted news sites.\n- Generates intelligent clothing advice based on weather data.\n- Supports Feishu message push with formatted content and emoji.\n- Enables both scheduled automatic push and on-demand manual query.\n- Provides robust configuration and error handling with logging support.","license":null},"metadata":null,"owner":{"handle":"lingboling","userId":"s174ft92ac1yrcb32575cpwayd8857dd","displayName":"Alan.Chan","image":"https://avatars.githubusercontent.com/u/10707569?v=4"},"moderation":{"isSuspicious":false,"isMalwareBlocked":false,"verdict":"clean","reasonCodes":["review.llm_review"],"summary":"Review: review.llm_review","engineVersion":"v2.4.24","updatedAt":1780089733994}}