Skill: fashionzzz/openclaw-daily-news (version 1.0.0)

--- name: openclaw-daily-news label: OpenClaw每日资讯汇总 description: "全面收集、整理和分析OpenClaw开源AI智能体相关的每日资讯动态。支持自动搜索、分类整理、风险评估和报告生成。使用场景包括：(1) 生成OpenClaw当日资讯汇总报告；(2) 分析OpenClaw安全风险趋势；(3) 跟踪OpenClaw产业生态发展；(4) 监控OpenClaw技术社区进展；(5) 提供OpenClaw相关投资决策支持。关键词：OpenClaw、龙虾、AI智能体、开源AI、安全监管、产业动态、技术进展、政策分析。" --- # OpenClaw每日资讯汇总技能 ## 技能概述 OpenClaw每日资讯汇总技能是一个专门用于收集、整理和分析OpenClaw开源AI智能体相关资讯的工具。通过自动化搜索、智能分类和结构化报告生成，帮助用户全面掌握OpenClaw生态的最新动态、安全风险、产业发展和技术进展。 ## 核心功能 ### 1. 自动化资讯收集 - **多源数据采集**：自动搜索全网OpenClaw相关资讯 - **智能关键词匹配**：使用预定义关键词模板进行精准搜索 - **来源验证**：优先使用官方公告、权威媒体等可信来源 ### 2. 智能分类整理 - **六维分类体系**：安全监管、产业生态、技术进展、AI趋势、政策法规、其他进展 - **关键词自动分类**：基于内容关键词自动分配到相应分类 - **优先级排序**：根据风险等级和信息重要性自动排序 ### 3. 风险评估预警 - **安全漏洞监测**：实时监控OpenClaw安全漏洞信息 - **监管政策跟踪**：跟踪工信部、网信办等监管机构动态 - **风险等级评估**：自动评估资讯的风险等级（高/中/低） ### 4. 结构化报告生成与输出 - **标准报告模板**：使用统一的资讯汇总模板 - **markdown格式直接输出**：直接在对话中以markdown格式呈现报告内容，不生成.md文件 - **即时生成**：支持快速生成和展示结构化报告 ## 使用流程 ### 第一步：确定搜索需求 根据用户需求确定以下参数： - **日期范围**：当日、指定日期、历史日期 - **分类重点**：全部分类或特定分类 - **风险等级**：关注特定风险级别的资讯 ### 第二步：执行资讯搜索 使用以下工具进行资讯搜索： 1. **web_search**：搜索公开网络资讯 2. **knowledge_answer**：搜索内部知识库信息 3. **fetch**：获取特定URL的详细内容 **搜索关键词模板**： - "OpenClaw [日期] 安全漏洞、监管预警、合规要求" - "OpenClaw [日期] 云服务、企业部署、产品发布" - "OpenClaw [日期] GitHub进展、版本更新、bug修复" - "OpenClaw [日期] AI芯片、算力成本、技术架构" - "OpenClaw [日期] 政府政策、法规标准" ### 第三步：分类整理资讯 使用技能提供的分类体系整理搜索结果： **分类标准**： 1. **安全监管与风险警示**：安全漏洞、监管预警、合规要求等 2. **产业生态与市场动态**：云服务、企业部署、产品发布等 3. **技术发展与社区生态**：GitHub进展、版本更新、bug修复等 4. **AI产业宏观趋势**：AI芯片、算力成本、技术架构等 5. **政策与监管**：政府政策、法规标准等 6. **其他重要科技进展**：新材料、新能源汽车等相关进展 ### 第四步：生成并输出结构化报告 使用技能模板生成标准化的资讯汇总报告，并直接在对话中以markdown格式输出： **报告结构**： ```markdown # OpenClaw [日期]资讯汇总 ## 一、当日资讯概况 [总体统计和关键发现] ## 二、详细分类资讯 [按分类详细介绍] ## 三、核心分析与展望 [风险提示、关注重点、未来展望] ## 四、附录 [数据来源、生成时间等] ``` **输出方式**： 1. 使用技能函数生成markdown格式的报告内容 2. 直接在对话中输出完整的markdown格式报告 3. 用户可以直接查看、复制或保存对话中的报告内容 ## 脚本资源使用指南 ### 脚本资源 (scripts/) 技能包含以下Python脚本，可用于自动化处理： #### 1. `search_openclaw_news.py` **功能**：生成搜索关键词、格式化搜索结果 **使用方法**： ```python # 生成搜索查询 queries = generate_search_queries("2026-03-12") # 格式化搜索结果 formatted_results = format_search_results(raw_results) # 生成每日报告内容 report_content = generate_daily_report_content(formatted_results, "2026-03-12") ``` **主要函数**： - `generate_search_queries(date_str)`：生成当日搜索关键词 - `format_search_results(results)`：格式化并分类搜索结果 - `generate_daily_report_content(data, date_str)`：生成完整的报告内容（markdown格式字符串） #### 2. `generate_report_content.py` **功能**：创建报告结构、生成Markdown报告内容 **使用方法**： ```python # 创建报告基础结构 report_structure = create_report_structure("2026-03-12") # 添加资讯项 add_item_to_structure(report_structure, news_item) # 生成Markdown格式的报告内容 markdown_content = generate_markdown_content(report_structure) # 直接输出到对话中 return markdown_content # 在对话中使用message工具输出 ``` **主要函数**： - `create_report_structure(date_str)`：创建标准报告结构 - `add_item_to_structure(structure, item)`：添加资讯项到报告结构 - `generate_markdown_content(structure)`：生成Markdown格式报告内容 ## 参考资料 (references/) 技能提供以下参考文件，用于指导资讯处理： ### 1. `news_template.md` **用途**：标准报告模板 **位置**：`references/news_template.md` **使用说明**：作为生成报告的模板参考，包含所有标准章节和格式要求 ### 2. `usage_examples.md` **用途**：使用示例和最佳实践 **位置**：`references/usage_examples.md` **使用说明**：包含各种使用场景的示例、输出格式说明和最佳实践建议 **重要章节**： - 基本使用场景示例 - 高级使用场景（趋势分析、风险预警等） - 企业应用场景 - 自动化使用模式 - 输出格式说明 ## 资产文件 (assets/) 技能提供以下配置模板： ### 1. `config_template.json` **用途**：技能配置模板 **位置**：`assets/config_template.json` **使用说明**：包含搜索配置、分类配置、报告配置等完整配置模板 **主要配置项**： - `search_config`：搜索引擎、时间范围、优先域名等 - `categories_config`：分类定义、关键词、优先级等 - `report_config`：报告模板、输出格式、内容要求等 ## 分类标准详解 ### 1. 安全监管与风险警示 **判断标准**：内容涉及安全漏洞、监管预警、合规要求、数据泄露等 **关键词**：安全、漏洞、监管、风险、预警、工信部、网信办、应急中心、数据泄露 **优先级**：高（需要立即关注） ### 2. 产业生态与市场动态 **判断标准**：内容涉及云服务、企业部署、产品发布、市场活动等 **关键词**：华为云、腾讯云、阿里云、云服务、企业部署、上线、发布、价格 **优先级**：高（重要业务信息） ### 3. 技术发展与社区生态 **判断标准**：内容涉及GitHub进展、版本更新、bug修复、功能改进等 **关键词**：GitHub、社区、issue、PR、版本、更新、bug、修复、功能 **优先级**：中（技术跟踪需要） ### 4. AI产业宏观趋势 **判断标准**：内容涉及AI芯片、算力成本、技术架构、投资趋势等 **关键词**：AI芯片、算力、投资、融资、股价、市值、财报、竞争 **优先级**：中（战略决策参考） ### 5. 政策与监管 **判断标准**：内容涉及政府政策、法规标准、两会讨论、规划计划等 **关键词**：政策、法规、两会、政府工作报告、科技部、标准、监管、规划 **优先级**：高（合规要求） ### 6. 其他重要科技进展 **判断标准**：内容涉及新材料、新能源汽车、显示技术等相关科技进展 **关键词**：碳纤维、新能源汽车、显示技术、电池、新材料 **优先级**：低（相关领域参考） ## 风险等级评估标准 ### 高风险（立即处理） - 工信部发布的安全预警 - 发现高危或超危漏洞 - 发生数据泄露事件 - 监管政策重大变化 ### 中风险（需要关注） - 发现中危漏洞 - 产业竞争格局变化 - 技术社区重大问题 - 市场波动较大 ### 低风险（了解即可） - 发现低危漏洞 - 常规技术更新 - 一般市场动态 - 相关政策讨论 ## 最佳实践建议 ### 1. 搜索优化建议 - 使用具体的日期格式（如"2026-03-12"） - 结合多个关键词提高搜索精度 - 优先搜索官方和权威来源 - 注意时效性，优先最近24小时内容 ### 2. 分类处理建议 - 先进行粗略分类，再进行详细整理 - 注意交叉分类内容的处理 - 对于重要资讯进行多维度分析 - 保持分类标准的一致性 ### 3. 报告生成与输出建议 - 使用标准模板确保报告一致性 - 重要资讯放在前面突出显示 - 提供具体的数据和来源引用 - 直接在对话中输出完整的markdown格式报告 - 确保报告内容格式清晰，便于用户阅读 ### 4. 质量保证建议 - 验证资讯来源的可靠性 - 检查内容的完整性和准确性 - 避免重复和冗余信息 - 及时更新关键词和分类标准 ## 常见问题处理 ### 1. 搜索不到足够资讯 **解决方案**： - 扩大搜索关键词范围 - 使用更宽的时间范围 - 尝试不同的搜索工具组合 - 检查网络连接和权限设置 ### 2. 分类不准确 **解决方案**： - 检查关键词匹配规则 - 调整分类优先级设置 - 手动校正重要资讯分类 - 更新关键词库和分类标准 ### 3. 报告格式问题 **解决方案**： - 严格按照模板格式生成内容 - 检查Markdown语法正确性 - 确保链接和引用格式正确 - 使用统一的标题层级 - 直接在对话中预览markdown渲染效果 ### 4. 自动化执行失败 **解决方案**： - 检查脚本依赖和环境配置 - 验证输入参数的格式正确 - 查看错误日志定位问题 - 测试脚本在沙箱环境中的运行 ## 技能更新维护 ### 1. 关键词库更新 定期更新以下关键词库： - 安全相关关键词 - 企业名称和产品名称 - 技术术语和缩写 - 政策法规术语 ### 2. 分类标准优化 根据实际使用情况调整： - 分类定义和范围 - 优先级设置 - 交叉分类处理规则 - 特殊情况处理机制 ### 3. 模板完善 定期检查和更新： - 报告模板结构和内容 - 示例和参考文档 - 配置模板和默认设置 - 错误处理和提示信息 ### 4. 性能优化 持续改进： - 搜索效率和准确性 - 分类处理速度 - 报告生成质量 - 用户体验和易用性 --- **技能版本**：1.0.0 **最后更新**：2026年3月12日 **适用场景**：OpenClaw生态监控、安全风险评估、产业趋势分析、技术进展跟踪、投资决策支持

path: assets/config_template.json
content: {
  "skill_config": {
    "name": "openclaw-daily-news",
    "label": "OpenClaw每日资讯汇总",
    "version": "1.0.0",
    "description": "OpenClaw每日资讯汇总技能配置",
    "author": "fashionzzZ"
  },
  "search_config": {
    "default_engine": "web_search",
    "backup_engines": ["knowledge_answer", "fetch"],
    "time_range": "recent_24_hours",
    "preferred_domains": [
      "gov.cn",
      "huaweicloud.com",
      "tencent.com", 
      "aliyun.com",
      "github.com",
      "csdn.net",
      "juejin.cn",
      "zhihu.com",
      "toutiao.com",
      "weixin.qq.com"
    ],
    "max_results_per_query": 10,
    "date_format": "YYYY-MM-DD"
  },
  "categories_config": {
    "categories": [
      {
        "id": "security_regulation",
        "name": "安全监管与风险警示",
        "priority": "high",
        "keywords": [
          "安全", "漏洞", "监管", "风险", "预警", "工信部", "网信办",
          "应急中心", "数据泄露", "合规", "CVE", "CVSS"
        ]
      },
      {
        "id": "industry_ecology",
        "name": "产业生态与市场动态",
        "priority": "high",
        "keywords": [
          "华为云", "腾讯云", "阿里云", "云服务", "企业部署",
          "上线", "发布", "价格", "合作", "生态"
        ]
      },
      {
        "id": "technology_development",
        "name": "技术发展与社区生态",
        "priority": "medium",
        "keywords": [
          "GitHub", "社区", "issue", "PR", "版本", "更新",
          "bug", "修复", "功能", "贡献者", "star"
        ]
      },
      {
        "id": "ai_trends",
        "name": "AI产业宏观趋势",
        "priority": "medium",
        "keywords": [
          "AI芯片", "算力", "投资", "融资", "股价", "市值",
          "财报", "竞争", "市场", "预测"
        ]
      },
      {
        "id": "policy_regulation",
        "name": "政策与监管",
        "priority": "high",
        "keywords": [
          "政策", "法规", "两会", "政府工作报告", "科技部",
          "标准", "监管", "规划", "指导意见"
        ]
      },
      {
        "id": "other_tech_progress",
        "name": "其他重要科技进展",
        "priority": "low",
        "keywords": [
          "碳纤维", "新能源汽车", "显示技术", "电池", "新材料",
          "半导体", "量子计算"
        ]
      }
    ],
    "cross_category_keywords": {
      "high_risk": ["高危", "紧急", "立即", "严重"],
      "medium_risk": ["中危", "重要", "关注", "建议"],
      "low_risk": ["低危", "一般", "了解", "参考"]
    }
  },
  "report_config": {
    "template_version": "1.0",
    "sections": [
      "overview",
      "detailed_categories",
      "core_analysis",
      "appendix"
    ],
    "markdown_format": {
      "title_levels": ["#", "##", "###"],
      "list_char": "-",
      "code_block_marker": "```",
      "emphasis_char": "**"
    },
    "content_requirements": {
      "include_sources": true,
      "include_risk_levels": true,
      "include_recommendations": true,
      "include_dates": true,
      "max_items_per_category": 10
    }
  },
  "risk_assessment_config": {
    "risk_levels": {
      "high": {
        "triggers": [
          "工信部发布的安全预警",
          "发现高危或超危漏洞",
          "发生数据泄露事件",
          "监管政策重大变化"
        ],
        "action_required": "immediate",
        "reporting_priority": 1
      },
      "medium": {
        "triggers": [
          "发现中危漏洞",
          "产业竞争格局变化",
          "技术社区重大问题",
          "市场波动较大"
        ],
        "action_required": "monitor",
        "reporting_priority": 2
      },
      "low": {
        "triggers": [
          "发现低危漏洞",
          "常规技术更新",
          "一般市场动态",
          "相关政策讨论"
        ],
        "action_required": "aware",
        "reporting_priority": 3
      }
    },
    "assessment_criteria": {
      "security_impact": ["high", "medium", "low"],
      "business_impact": ["high", "medium", "low"],
      "timeliness": ["urgent", "important", "informational"]
    }
  },
  "automation_config": {
    "daily_report": {
      "enabled": true,
      "execution_time": "09:00",
      "date_range": "recent_24_hours",
      "output_channel": "conversation"
    },
    "alert_monitoring": {
      "enabled": true,
      "keywords": ["CVE", "高危漏洞", "数据泄露", "监管通知"],
      "notification_method": "immediate",
      "output_format": "concise"
    },
    "scheduled_tasks": {
      "weekly_summary": {
        "enabled": true,
        "day_of_week": "monday",
        "time": "10:00",
        "date_range": "last_7_days"
      },
      "monthly_analysis": {
        "enabled": true,
        "day_of_month": 1,
        "time": "11:00",
        "date_range": "last_30_days"
      }
    }
  },
  "integration_config": {
    "external_systems": {
      "enterprise_monitoring": {
        "supported": true,
        "integration_type": "api",
        "data_format": "json"
      },
      "notification_services": {
        "supported": true,
        "services": ["email", "messaging", "webhook"],
        "default_channel": "conversation"
      }
    }
  },
  "performance_config": {
    "search_timeout": 30,
    "max_concurrent_searches": 3,
    "result_processing_limit": 50,
    "report_generation_timeout": 60,
    "memory_usage_limit": "500MB"
  }
}

path: scripts/generate_report_content.py
content: #!/usr/bin/env python3
"""
OpenClaw报告内容生成脚本
功能：创建报告结构、生成Markdown报告内容
"""

import datetime
import json
from typing import Dict, Any, List, Optional

def create_report_structure(date_str: str) -> Dict[str, Any]:
    """
    创建标准报告结构
    
    Args:
        date_str: 日期字符串
        
    Returns:
        Dict[str, Any]: 报告结构字典
    """
    return {
        "metadata": {
            "report_date": date_str,
            "creation_time": datetime.datetime.now().isoformat(),
            "version": "1.0.0",
            "output_mode": "conversation_markdown"
        },
        "sections": {
            "overview": {
                "title": "当日资讯概况",
                "subsections": {
                    "statistics": {
                        "title": "总体统计",
                        "items": []
                    },
                    "key_findings": {
                        "title": "关键发现",
                        "items": []
                    }
                }
            },
            "detailed_categories": {
                "title": "详细分类资讯",
                "categories": {}
            },
            "core_analysis": {
                "title": "核心分析与展望",
                "subsections": {
                    "risk_alerts": {
                        "title": "风险提示",
                        "items": []
                    },
                    "focus_points": {
                        "title": "关注重点",
                        "items": []
                    },
                    "future_outlook": {
                        "title": "未来展望",
                        "items": []
                    }
                }
            },
            "appendix": {
                "title": "附录",
                "subsections": {
                    "data_sources": {
                        "title": "数据来源说明",
                        "items": []
                    },
                    "generation_info": {
                        "title": "生成信息",
                        "items": []
                    },
                    "disclaimer": {
                        "title": "免责声明",
                        "items": []
                    }
                }
            }
        }
    }

def add_item_to_structure(structure: Dict[str, Any], news_item: Dict[str, Any]) -> None:
    """
    添加资讯项到报告结构
    
    Args:
        structure: 报告结构
        news_item: 资讯项
    """
    # 确定分类
    category = news_item.get("category", "other")
    
    # 初始化分类结构
    if category not in structure["sections"]["detailed_categories"]["categories"]:
        structure["sections"]["detailed_categories"]["categories"][category] = {
            "name": get_category_name(category),
            "risk_groups": {
                "high": [],
                "medium": [],
                "low": []
            }
        }
    
    # 添加到相应风险组
    risk_level = news_item.get("risk_level", "low")
    structure["sections"]["detailed_categories"]["categories"][category]["risk_groups"][risk_level].append(news_item)

def get_category_name(category_id: str) -> str:
    """
    获取分类名称
    
    Args:
        category_id: 分类ID
        
    Returns:
        str: 分类名称
    """
    category_names = {
        "security_regulation": "安全监管与风险警示",
        "industry_ecology": "产业生态与市场动态",
        "technology_development": "技术发展与社区生态",
        "ai_trends": "AI产业宏观趋势",
        "policy_regulation": "政策与监管",
        "other_tech_progress": "其他重要科技进展",
        "other": "其他资讯"
    }
    
    return category_names.get(category_id, "其他资讯")

def generate_markdown_content(structure: Dict[str, Any]) -> str:
    """
    生成Markdown格式报告内容
    
    Args:
        structure: 报告结构
        
    Returns:
        str: markdown格式的报告内容
    """
    # 提取元数据
    metadata = structure["metadata"]
    report_date = metadata["report_date"]
    
    # 生成报告标题
    markdown = f"# OpenClaw {report_date}资讯汇总\n\n"
    
    # 生成概述部分
    overview = structure["sections"]["overview"]
    markdown += f"## 一、{overview['title']}\n\n"
    
    # 总体统计
    stats_section = overview["subsections"]["statistics"]
    markdown += f"### {stats_section['title']}\n"
    
    # 计算统计信息
    total_items = 0
    risk_counts = {"high": 0, "medium": 0, "low": 0}
    
    for category_info in structure["sections"]["detailed_categories"]["categories"].values():
        for risk_level, items in category_info["risk_groups"].items():
            count = len(items)
            total_items += count
            risk_counts[risk_level] += count
    
    # 添加统计信息
    markdown += f"- 发现资讯总数：{total_items}条\n"
    markdown += f"- 高风险资讯：{risk_counts['high']}条（安全漏洞预警等）\n"
    markdown += f"- 中风险资讯：{risk_counts['medium']}条（产业动态、重要更新等）\n"
    markdown += f"- 低风险资讯：{risk_counts['low']}条（社区讨论、一般资讯等）\n\n"
    
    # 关键发现
    key_findings = overview["subsections"]["key_findings"]
    if key_findings["items"]:
        markdown += f"### {key_findings['title']}\n"
        for item in key_findings["items"]:
            markdown += f"- {item}\n"
        markdown += "\n"
    else:
        # 自动生成关键发现
        markdown += f"### {key_findings['title']}\n"
        if risk_counts['high'] > 0:
            markdown += "- **安全风险警报**：发现高风险安全资讯，需要立即关注\n"
        if risk_counts['medium'] > 0:
            markdown += "- **重要动态更新**：关注产业和技术重要进展\n"
        if risk_counts['low'] > 0:
            markdown += "- **常规资讯汇总**：了解相关领域的一般动态\n"
        markdown += "\n"
    
    # 生成详细分类资讯
    detailed_categories = structure["sections"]["detailed_categories"]
    markdown += f"## 二、{detailed_categories['title']}\n\n"
    
    # 按优先级顺序输出分类
    priority_order = [
        ("security_regulation", "高"),
        ("policy_regulation", "高"),
        ("industry_ecology", "高"),
        ("technology_development", "中"),
        ("ai_trends", "中"),
        ("other_tech_progress", "低"),
        ("other", "低")
    ]
    
    for category_id, _ in priority_order:
        if category_id in detailed_categories["categories"]:
            category_info = detailed_categories["categories"][category_id]
            category_name = category_info["name"]
            
            markdown += f"### {category_name}\n\n"
            
            # 按风险等级输出
            for risk_level in ["high", "medium", "low"]:
                items = category_info["risk_groups"][risk_level]
                if items:
                    # 风险等级标题
                    if risk_level == "high":
                        risk_title = "🔴 高风险资讯"
                    elif risk_level == "medium":
                        risk_title = "🟡 中风险资讯"
                    else:
                        risk_title = "🟢 低风险资讯"
                    
                    markdown += f"#### {risk_title}\n\n"
                    
                    # 输出每个资讯项
                    for i, item in enumerate(items, 1):
                        markdown += f"{i}. **{item.get('title', '无标题')}**\n"
                        
                        if item.get('source'):
                            markdown += f"   - **来源**：{item['source']}\n"
                        
                        if item.get('risk_level'):
                            risk_text = {"high": "高", "medium": "中", "low": "低"}[item['risk_level']]
                            markdown += f"   - **风险等级**：{risk_text}\n"
                        
                        if item.get('content'):
                            content = item['content']
                            if len(content) > 150:
                                content = content[:150] + "..."
                            markdown += f"   - **摘要**：{content}\n"
                        
                        if item.get('url'):
                            markdown += f"   - **链接**：{item['url']}\n"
                        
                        markdown += "\n"
            
            markdown += "\n"
    
    # 生成核心分析与展望
    core_analysis = structure["sections"]["core_analysis"]
    markdown += f"## 三、{core_analysis['title']}\n\n"
    
    # 风险提示
    risk_alerts = core_analysis["subsections"]["risk_alerts"]
    markdown += f"### {risk_alerts['title']}\n"
    if risk_alerts["items"]:
        for item in risk_alerts["items"]:
            markdown += f"- {item}\n"
    else:
        # 自动生成风险提示
        if risk_counts['high'] > 0:
            markdown += "- **安全风险**：关注高危漏洞修复和合规要求\n"
        if risk_counts['medium'] > 0:
            markdown += "- **技术风险**：注意版本更新和兼容性问题\n"
        markdown += "- **市场风险**：跟踪产业竞争格局变化\n"
    markdown += "\n"
    
    # 关注重点
    focus_points = core_analysis["subsections"]["focus_points"]
    markdown += f"### {focus_points['title']}\n"
    if focus_points["items"]:
        for i, item in enumerate(focus_points["items"], 1):
            markdown += f"{i}. {item}\n"
    else:
        # 自动生成关注重点
        markdown += "1. **短期关注**（1-3天）：安全漏洞修复进展\n"
        markdown += "2. **中期关注**（1-2周）：产业合作和市场动态\n"
        markdown += "3. **长期关注**（1个月以上）：技术发展趋势\n"
    markdown += "\n"
    
    # 未来展望
    future_outlook = core_analysis["subsections"]["future_outlook"]
    markdown += f"### {future_outlook['title']}\n"
    if future_outlook["items"]:
        for item in future_outlook["items"]:
            markdown += f"- {item}\n"
    else:
        # 自动生成未来展望
        markdown += "- **技术发展**：OpenClaw生态持续完善\n"
        markdown += "- **市场扩张**：企业应用范围不断扩大\n"
        markdown += "- **监管趋严**：安全合规要求更加严格\n"
    markdown += "\n"
    
    # 生成附录
    appendix = structure["sections"]["appendix"]
    markdown += f"## 四、{appendix['title']}\n\n"
    
    # 数据来源说明
    data_sources = appendix["subsections"]["data_sources"]
    markdown += f"### {data_sources['title']}\n"
    if data_sources["items"]:
        for item in data_sources["items"]:
            markdown += f"- {item}\n"
    else:
        current_time = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
        markdown += f"- **搜索时间**：{current_time}\n"
        markdown += f"- **搜索范围**：{report_date} 相关资讯\n"
        markdown += "- **来源类型**：官方公告、权威媒体、技术社区\n"
    markdown += "\n"
    
    # 生成信息
    generation_info = appendix["subsections"]["generation_info"]
    markdown += f"### {generation_info['title']}\n"
    if generation_info["items"]:
        for item in generation_info["items"]:
            markdown += f"- {item}\n"
    else:
        current_time = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
        markdown += f"- **报告生成时间**：{current_time}\n"
        markdown += "- **技能版本**：1.0.0\n"
    markdown += "\n"
    
    # 免责声明
    disclaimer = appendix["subsections"]["disclaimer"]
    markdown += f"### {disclaimer['title']}\n"
    if disclaimer["items"]:
        for item in disclaimer["items"]:
            markdown += f"- {item}\n"
    else:
        markdown += "- 此报告为自动化生成，内容基于公开信息整理，仅供参考。\n"
        markdown += "- 重要决策请结合多方信息源进行验证。\n"
        markdown += "- 如有疑问，请联系相关技术支持。\n"
    
    return markdown

def output_to_conversation(content: str) -> str:
    """
    将内容准备输出到对话（直接返回内容）
    
    Args:
        content: 要输出的内容
        
    Returns:
        str: 相同的内容（用于在对话中输出）
    """
    # 实际的输出由调用者使用message工具完成
    return content

if __name__ == "__main__":
    # 示例用法
    print("=== OpenClaw报告内容生成脚本示例 ===\n")
    
    # 创建报告结构
    date = datetime.datetime.now().strftime("%Y-%m-%d")
    structure = create_report_structure(date)
    print(f"1. 创建报告结构成功，日期：{date}")
    
    # 添加示例资讯项
    sample_items = [
        {
            "title": "OpenClaw高危漏洞CVE-2026-1234",
            "content": "发现远程代码执行漏洞，建议立即更新",
            "source": "国家信息安全漏洞共享平台",
            "category": "security_regulation",
            "risk_level": "high",
            "url": "https://example.com/cve-2026-1234"
        },
        {
            "title": "华为云OpenClaw部署服务上线",
            "content": "提供一站式AI智能体部署解决方案",
            "source": "华为云官网",
            "category": "industry_ecology",
            "risk_level": "medium",
            "url": "https://huaweicloud.com/openclaw"
        }
    ]
    
    for item in sample_items:
        add_item_to_structure(structure, item)
    
    print(f"2. 添加了 {len(sample_items)} 个示例资讯项")
    
    # 生成markdown内容
    markdown_content = generate_markdown_content(structure)
    print(f"3. 生成markdown内容成功，长度：{len(markdown_content)} 字符")
    
    # 准备输出到对话
    conversation_content = output_to_conversation(markdown_content)
    print(f"4. 准备输出到对话，内容长度：{len(conversation_content)} 字符")
    
    print("\n5. 内容预览（前300字符）：")
    print("-" * 50)
    print(conversation_content[:300])
    print("...")
    print("-" * 50)

path: scripts/search_openclaw_news.py
content: #!/usr/bin/env python3
"""
OpenClaw每日资讯搜索脚本
功能：生成搜索关键词、格式化搜索结果、生成报告内容
"""

import json
import datetime
from typing import List, Dict, Any, Optional

def generate_search_queries(date_str: str) -> List[str]:
    """
    生成当日搜索关键词
    
    Args:
        date_str: 日期字符串，格式为YYYY-MM-DD
        
    Returns:
        List[str]: 搜索关键词列表
    """
    # 基本关键词模板
    base_keywords = [
        "安全漏洞", "监管预警", "合规要求",
        "云服务", "企业部署", "产品发布",
        "GitHub进展", "版本更新", "bug修复",
        "AI芯片", "算力成本", "技术架构",
        "政府政策", "法规标准"
    ]
    
    # 组合搜索查询
    queries = [
        f"OpenClaw {date_str} 安全漏洞 监管预警 合规要求",
        f"OpenClaw {date_str} 云服务 企业部署 产品发布",
        f"OpenClaw {date_str} GitHub进展 版本更新 bug修复",
        f"OpenClaw {date_str} AI芯片 算力成本 技术架构",
        f"OpenClaw {date_str} 政府政策 法规标准"
    ]
    
    return queries

def format_search_results(raw_results: List[Dict[str, Any]]) -> Dict[str, Any]:
    """
    格式化并分类搜索结果
    
    Args:
        raw_results: 原始搜索结果列表
        
    Returns:
        Dict[str, Any]: 格式化后的分类数据
    """
    # 分类定义
    categories = {
        "security_regulation": {
            "name": "安全监管与风险警示",
            "items": [],
            "priority": "high"
        },
        "industry_ecology": {
            "name": "产业生态与市场动态",
            "items": [],
            "priority": "high"
        },
        "technology_development": {
            "name": "技术发展与社区生态",
            "items": [],
            "priority": "medium"
        },
        "ai_trends": {
            "name": "AI产业宏观趋势",
            "items": [],
            "priority": "medium"
        },
        "policy_regulation": {
            "name": "政策与监管",
            "items": [],
            "priority": "high"
        },
        "other_tech_progress": {
            "name": "其他重要科技进展",
            "items": [],
            "priority": "low"
        }
    }
    
    # 关键词映射到分类
    keyword_to_category = {
        # 安全监管关键词
        "安全": "security_regulation",
        "漏洞": "security_regulation",
        "监管": "security_regulation",
        "风险": "security_regulation",
        "预警": "security_regulation",
        "工信部": "security_regulation",
        "网信办": "security_regulation",
        "应急中心": "security_regulation",
        "数据泄露": "security_regulation",
        "合规": "security_regulation",
        "CVE": "security_regulation",
        "CVSS": "security_regulation",
        
        # 产业生态关键词
        "华为云": "industry_ecology",
        "腾讯云": "industry_ecology",
        "阿里云": "industry_ecology",
        "云服务": "industry_ecology",
        "企业部署": "industry_ecology",
        "上线": "industry_ecology",
        "发布": "industry_ecology",
        "价格": "industry_ecology",
        "合作": "industry_ecology",
        "生态": "industry_ecology",
        
        # 技术发展关键词
        "GitHub": "technology_development",
        "社区": "technology_development",
        "issue": "technology_development",
        "PR": "technology_development",
        "版本": "technology_development",
        "更新": "technology_development",
        "bug": "technology_development",
        "修复": "technology_development",
        "功能": "technology_development",
        "贡献者": "technology_development",
        "star": "technology_development",
        
        # AI趋势关键词
        "AI芯片": "ai_trends",
        "算力": "ai_trends",
        "投资": "ai_trends",
        "融资": "ai_trends",
        "股价": "ai_trends",
        "市值": "ai_trends",
        "财报": "ai_trends",
        "竞争": "ai_trends",
        "市场": "ai_trends",
        "预测": "ai_trends",
        
        # 政策监管关键词
        "政策": "policy_regulation",
        "法规": "policy_regulation",
        "两会": "policy_regulation",
        "政府工作报告": "policy_regulation",
        "科技部": "policy_regulation",
        "标准": "policy_regulation",
        "监管": "policy_regulation",
        "规划": "policy_regulation",
        "指导意见": "policy_regulation",
        
        # 其他科技关键词
        "碳纤维": "other_tech_progress",
        "新能源汽车": "other_tech_progress",
        "显示技术": "other_tech_progress",
        "电池": "other_tech_progress",
        "新材料": "other_tech_progress",
        "半导体": "other_tech_progress",
        "量子计算": "other_tech_progress"
    }
    
    # 分类处理
    for result in raw_results:
        # 提取关键信息
        title = result.get("title", "")
        content = result.get("content", "")
        url = result.get("url", "")
        source = result.get("source", "")
        
        # 确定分类
        category = "other_tech_progress"  # 默认分类
        for keyword, cat_id in keyword_to_category.items():
            if keyword in title or keyword in content:
                category = cat_id
                break
        
        # 评估风险等级
        risk_level = assess_risk_level(title, content)
        
        # 构建资讯项
        item = {
            "title": title,
            "content": content[:200] + "..." if len(content) > 200 else content,
            "url": url,
            "source": source,
            "risk_level": risk_level,
            "timestamp": datetime.datetime.now().isoformat()
        }
        
        # 添加到相应分类
        if category in categories:
            categories[category]["items"].append(item)
    
    return categories

def assess_risk_level(title: str, content: str) -> str:
    """
    评估资讯的风险等级
    
    Args:
        title: 资讯标题
        content: 资讯内容
        
    Returns:
        str: 风险等级（high/medium/low）
    """
    title_lower = title.lower()
    content_lower = content.lower()
    
    # 高风险关键词
    high_risk_keywords = [
        "高危", "紧急", "立即", "严重", "数据泄露",
        "工信部预警", "应急响应", "cve-", "cvss:9",
        "远程代码执行", "权限提升"
    ]
    
    # 中风险关键词
    medium_risk_keywords = [
        "中危", "重要", "关注", "建议", "安全更新",
        "漏洞修复", "补丁发布", "合规要求", "监管通知"
    ]
    
    # 检查高风险
    for keyword in high_risk_keywords:
        if keyword in title_lower or keyword in content_lower:
            return "high"
    
    # 检查中风险
    for keyword in medium_risk_keywords:
        if keyword in title_lower or keyword in content_lower:
            return "medium"
    
    # 默认为低风险
    return "low"

def generate_daily_report_content(data: Dict[str, Any], date_str: str) -> str:
    """
    生成每日报告内容（markdown格式）
    
    Args:
        data: 格式化后的分类数据
        date_str: 日期字符串
        
    Returns:
        str: markdown格式的报告内容
    """
    # 统计信息
    total_items = 0
    high_risk_count = 0
    medium_risk_count = 0
    low_risk_count = 0
    
    for category in data.values():
        for item in category["items"]:
            total_items += 1
            risk = item.get("risk_level", "low")
            if risk == "high":
                high_risk_count += 1
            elif risk == "medium":
                medium_risk_count += 1
            else:
                low_risk_count += 1
    
    # 生成报告内容
    report = f"""# OpenClaw {date_str}资讯汇总

## 一、当日资讯概况
### 1.1 总体统计
- 发现资讯总数：{total_items}条
- 高风险资讯：{high_risk_count}条（安全漏洞预警等）
- 中风险资讯：{medium_risk_count}条（产业动态、重要更新等）
- 低风险资讯：{low_risk_count}条（社区讨论、一般资讯等）

### 1.2 关键发现
"""
    
    # 添加关键发现
    if high_risk_count > 0:
        report += "- **安全风险警报**：发现高风险安全资讯，需要立即关注\n"
    
    # 添加详细分类资讯
    report += "\n## 二、详细分类资讯\n\n"
    
    # 按优先级排序输出分类
    priority_order = ["high", "medium", "low"]
    
    for priority in priority_order:
        for category_id, category_info in data.items():
            if category_info["priority"] == priority and category_info["items"]:
                report += f"### {category_info['name']}\n\n"
                
                # 按风险等级分组显示
                risk_groups = {"high": [], "medium": [], "low": []}
                for item in category_info["items"]:
                    risk_groups[item["risk_level"]].append(item)
                
                for risk_level in ["high", "medium", "low"]:
                    items = risk_groups[risk_level]
                    if items:
                        if risk_level == "high":
                            report += f"#### 🔴 高风险资讯\n"
                        elif risk_level == "medium":
                            report += f"#### 🟡 中风险资讯\n"
                        else:
                            report += f"#### 🟢 低风险资讯\n"
                        
                        for i, item in enumerate(items, 1):
                            report += f"{i}. **{item['title']}**\n"
                            report += f"   - **来源**：{item['source']}\n"
                            report += f"   - **风险等级**：{risk_level}\n"
                            report += f"   - **摘要**：{item['content']}\n"
                            if item.get('url'):
                                report += f"   - **链接**：{item['url']}\n"
                            report += "\n"
                
                report += "\n"
    
    # 添加核心分析与展望
    report += """## 三、核心分析与展望

### 3.1 风险提示
- **安全风险**：关注高危漏洞修复和合规要求
- **技术风险**：注意版本更新和兼容性问题
- **市场风险**：跟踪产业竞争格局变化

### 3.2 关注重点
1. **短期关注**（1-3天）：安全漏洞修复进展
2. **中期关注**（1-2周）：产业合作和市场动态
3. **长期关注**（1个月以上）：技术发展趋势

### 3.3 未来展望
- **技术发展**：OpenClaw生态持续完善
- **市场扩张**：企业应用范围不断扩大
- **监管趋严**：安全合规要求更加严格
"""
    
    # 添加附录
    current_time = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
    report += f"""
## 四、附录

### 4.1 数据来源说明
- **搜索时间**：{current_time}
- **搜索范围**：{date_str} 相关资讯
- **来源类型**：官方公告、权威媒体、技术社区

### 4.2 生成信息
- **报告生成时间**：{current_time}
- **技能版本**：1.0.0
- **输出方式**：markdown格式直接输出到对话

### 4.3 免责声明
此报告为自动化生成，内容基于公开信息整理，仅供参考。重要决策请结合多方信息源进行验证。
"""
    
    return report

if __name__ == "__main__":
    # 示例用法
    date = datetime.datetime.now().strftime("%Y-%m-%d")
    
    print("=== OpenClaw资讯搜索脚本示例 ===\n")
    
    # 生成搜索关键词
    queries = generate_search_queries(date)
    print("1. 生成的搜索关键词：")
    for i, query in enumerate(queries, 1):
        print(f"   {i}. {query}")
    
    print("\n2. 示例搜索结果格式化：")
    # 模拟一些搜索结果
    sample_results = [
        {
            "title": "OpenClaw发现高危安全漏洞CVE-2026-1234",
            "content": "国家信息安全漏洞共享平台发布预警，OpenClaw存在高危远程代码执行漏洞",
            "url": "https://example.com/cve-2026-1234",
            "source": "国家信息安全漏洞共享平台"
        },
        {
            "title": "华为云宣布全面支持OpenClaw部署",
            "content": "华为云与OpenClaw达成战略合作，提供一站式AI智能体部署服务",
            "url": "https://huaweicloud.com/news",
            "source": "华为云官网"
        }
    ]
    
    formatted_data = format_search_results(sample_results)
    print(f"   格式化后分类数：{len(formatted_data)}")
    
    print("\n3. 生成报告内容示例：")
    report_content = generate_daily_report_content(formatted_data, date)
    print(f"   报告内容长度：{len(report_content)} 字符")
    print("\n   报告前500字符预览：")
    print("-" * 50)
    print(report_content[:500])
    print("-" * 50)

path: references/news_template.md
content: # OpenClaw资讯报告模板

此模板用于生成OpenClaw每日资讯汇总报告的markdown格式内容。

## 报告结构模板

```markdown
# OpenClaw [日期]资讯汇总

## 一、当日资讯概况
### 1.1 总体统计
- 发现资讯总数：[X]条
- 高风险资讯：[X]条
- 中风险资讯：[X]条
- 低风险资讯：[X]条
- 主要来源：[来源1]、[来源2]、[来源3]

### 1.2 关键发现
- **最重要发现**：[简要描述]
- **风险最高**：[风险类别和具体内容]
- **趋势变化**：[与前一日/周对比]

## 二、详细分类资讯

### 2.1 安全监管与风险警示
#### 高风险资讯
- **标题**：[资讯标题]
  - **来源**：[来源名称](URL)
  - **内容摘要**：[2-3句摘要]
  - **风险等级**：高
  - **影响范围**：[影响范围说明]
  - **建议措施**：[建议采取的措施]

#### 中风险资讯
- **标题**：[资讯标题]
  - **来源**：[来源名称](URL)
  - **内容摘要**：[1-2句摘要]
  - **风险等级**：中
  - **关注点**：[需要关注的方面]

### 2.2 产业生态与市场动态
#### 企业部署与产品发布
- **标题**：[资讯标题]
  - **来源**：[来源名称](URL)
  - **内容摘要**：[产品/服务介绍]
  - **影响企业**：[相关企业]
  - **市场影响**：[对市场的影响]

#### 云服务与合作伙伴
- **标题**：[资讯标题]
  - **来源**：[来源名称](URL)
  - **合作伙伴**：[合作方]
  - **服务内容**：[提供的服务]

### 2.3 技术发展与社区生态
#### GitHub进展
- **仓库**：[仓库名称](URL)
- **PR/Issue**：[编号和标题]
- **状态**：[状态，如合并、修复中]
- **技术要点**：[技术细节]

#### 版本更新
- **版本号**：[版本号]
- **发布时间**：[日期]
- **主要更新**：[更新内容列表]
- **影响**：[对用户/开发者的影响]

### 2.4 AI产业宏观趋势
#### 算力与基础设施
- **标题**：[资讯标题]
- **内容**：[算力发展、成本变化等]
- **趋势**：[短期/长期趋势]

#### 投资与融资
- **公司**：[公司名称]
- **金额**：[融资金额]
- **轮次**：[融资轮次]
- **用途**：[资金用途]

### 2.5 政策与监管
#### 政府政策
- **发布机构**：[机构名称]
- **政策名称**：[政策文件名称]
- **主要内容**：[政策要点]
- **实施时间**：[生效时间]

#### 法规标准
- **标准名称**：[标准名称]
- **适用范围**：[适用领域]
- **要求**：[主要技术要求]

### 2.6 其他重要科技进展
#### 相关技术发展
- **技术领域**：[如新材料、新能源]
- **进展**：[具体进展描述]
- **相关性**：[与OpenClaw的关系]

## 三、核心分析与展望

### 3.1 风险提示
#### 安全风险
- **当前风险**：[当前存在的安全风险]
- **潜在风险**：[可能出现的风险]
- **建议**：[风险防范建议]

#### 合规风险
- **监管要求**：[最新的监管要求]
- **合规建议**：[确保合规的建议]

### 3.2 关注重点
#### 短期关注（1-7天）
1. [关注点1]
2. [关注点2]

#### 中期关注（1-3个月）
1. [关注点1]
2. [关注点2]

### 3.3 未来展望
#### 技术发展趋势
- [趋势1]
- [趋势2]

#### 市场发展预测
- [预测1]
- [预测2]

## 四、附录

### 4.1 数据来源说明
- **搜索时间**：[YYYY-MM-DD HH:MM]
- **搜索范围**：[时间范围、关键词范围]
- **来源类型**：[官方、媒体、社区等]

### 4.2 生成信息
- **报告生成时间**：[YYYY-MM-DD HH:MM]
- **技能版本**：[技能版本号]

### 4.3 联系方式
如有疑问或需要进一步分析，请联系相关技术支持。

---

**注意**：此报告为自动化生成，内容基于公开信息整理，仅供参考。重要决策请结合多方信息源进行验证。

Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)