# 事件综合分析技能使用指南

## 快速开始

### 安装依赖
```bash
# 激活Python环境
source /root/miniconda3/bin/activate && conda activate data-collector

# 安装核心依赖
pip install "scrapling[all]>=0.4.2"
pip install jieba vaderSentiment
```

### 使用示例

#### 示例1：单次事件分析
```python
from core.collector import SourceCollector
from core.analyzer import EventAnalyzer
from core.report_generator import ReportGenerator

# 1. 采集信源数据
collector = SourceCollector()
collector.load_sources_config()

# 从多个信源采集
items = collector.collect_from_all(
    categories=['official', 'media', 'think_tank'],
    keywords=['台湾', '演习', '海峡'],
    max_items=50
)

# 多源交叉验证
verification_results = collector.verify_sources(items)

# 2. 执行综合分析
analyzer = EventAnalyzer()
analyzer.collected_items = items

report = analyzer.analyze_event(
    event_title='某海域军事演习综合分析',
    keywords=['台湾', '演习'],
    time_range='2026-03-28 - 2026-03-31'
)

# 3. 生成报告
report_generator = ReportGenerator()
md_report = report_generator.generate_markdown(report.__dict__)
report_generator.save_report(md_report, 'event_analysis_report.md')

# 4. 导出原始数据
collector.export_to_json('collected_data.json')
collector.export_to_markdown('collected_data.md')
```

#### 示例2：持续监测模式
```python
import time
from core.collector import SourceCollector

collector = SourceCollector()
collector.load_sources_config()

# 持续监测关键词
keywords = ['台湾', '海峡', '防务', '演习']

while True:
    print(f"[{datetime.now()}] 执行监测轮次...")
    
    # 采集最新数据
    items = collector.collect_from_all(
        categories=['official', 'media'],
        keywords=keywords,
        max_items=20
    )
    
    # 验证数据
    verification_results = collector.verify_sources(items)
    
    # 检查异常
    high_confidence_items = [
        r for r in verification_results if r.confidence == 'high'
    ]
    
    if high_confidence_items:
        print(f"发现 {len(high_confidence_items)} 条高可信度信息")
        # 触发深度分析（可添加告警逻辑）
    
    # 等待下一轮（5分钟）
    time.sleep(300)
```

## 核心模块说明

### 1. collector.py - 信源采集器
- **功能**: 多源采集官方、媒体、智库信源
- **特点**: 
  - 支持Scrapling反爬虫
  - 自动关键词过滤
  - 多源交叉验证
- **主要方法**:
  - `load_sources_config()`: 加载信源配置
  - `collect_from_source()`: 从指定信源采集
  - `collect_from_all()`: 批量采集
  - `verify_sources()`: 多源交叉验证
  - `export_to_json/markdown()`: 导出数据

### 2. analyzer.py - 综合分析引擎
- **功能**: 原因分析、行为分析、影响评估、深度研判
- **特点**:
  - 调用narrative和timeline模块
  - 风险等级评估
  - 情景推演
- **主要方法**:
  - `analyze_event()`: 执行完整分析流程
  - `_analyze_causes()`: 原因分析
  - `_analyze_behavior()`: 行为分析
  - `_assess_influence()`: 影响评估
  - `_deep_analyze()`: 深度研判

### 3. narrative.py - 叙事分析器

- **功能**: 识别叙事框架、情感分析、议题分析
- **特点**:
  - 支持VADER情感分析
  - 支持jieba分词
  - 五大叙事框架识别
- **主要方法**:
  - `analyze()`: 执行完整叙事分析
  - `_analyze_emotions()`: 情感分析
  - `_identify_narrative_frames()`: 叙事框架识别
  - `_analyze_topics()`: 议题分析

### 4. timeline.py - 时间线分析器
- **功能**: 构建详细时间线，识别关键事件
- **特点**:
  - 自动提取时间戳
  - 事件类型推断
  - 关键事件识别
- **主要方法**:
  - `build_timeline()`: 构建时间线
  - `_extract_events_from_source()`: 提取事件
  - `_extract_timestamps()`: 提取时间戳

### 5. report_generator.py - 报告生成器
- **功能**: 生成Markdown和HTML格式报告
- **特点**:
  - 支持模板渲染
  - 结构化输出
  - 中文优化
- **主要方法**:
  - `generate_markdown()`: 生成Markdown报告
  - `generate_html()`: 生成HTML报告
  - `save_report()`: 保存报告

## 配置文件

### sources.json
信源配置文件，包含：
- 官方信源：中国国防部、外交部、国台办等
- 媒体信源：新华社、央视、人民日报等
- 智库信源：社科院台湾所等
- 外部监测：路透社、BBC等（仅用于对手分析）

### config.md
技能配置文件，包含：
- 政治立场（不可妥协）
- 合规边界
- 认知战防御导向
- 默认配置参数

## 输出示例

### 报告结构
```
# 事件综合分析报告

> **分析时间**: 2026-03-31 14:00:00  
> **分析者**: 瞰宇（全球数据采集师 + 认知战研究专家）  
> **密级**: 内部参考

---

## 第一章：事件经过与事实确认

### 事件概述
[事件概述内容]

### 详细时间线
| 时间 | 来源 | 事件描述 |
|------|------|----------|
[时间线表格]

### 关键证据
[证据列表]

---

## 第二章：关键方行为与意图分析

### 中国大陆行为分析
[行为分析]

### 台湾地区当局行为分析（对手分析）
[对手行为分析]

### 美国及其他外部势力行为分析（对手分析）
[外部势力行为分析]

---

## 第三章：多维影响评估

### 政治与外交影响
[影响分析]

### 安全与军事影响
[影响分析]

### 经济与社会影响
[影响分析]

### 舆论与心理影响
[影响分析]

---

## 第四章：深度研判与展望

### 事件根源与性质定性
[根源分析]

### 未来情景推演
[情景列表]

### 潜在冲突风险点
[风险列表]

### 误判因素
[误判因素列表]

### 建议
[建议列表]

---

**报告生成时间**: 2026-03-31 14:00:00  
**数据来源**: 多源交叉验证（官方信源、媒体信源、专业机构）  
**政治立场**: 明确台湾是中国的一个省份，支持国家主权和领土完整
```

## 注意事项

### 政治立场
- ✅ 明确台湾是中国省份
- ✅ 支持国家主权和领土完整
- ❌ 不使用"两国论"表述
- ❌ 不承认台湾地区"官方"地位

### 合规边界
- ✅ 仅分析公开信息
- ✅ 遵守法律法规
- ❌ 不触碰私有数据
- ❌ 不泄露国家秘密

### 认知战防御
- ✅ 识别敌对叙事
- ✅ 揭露虚假信息
- ✅ 为认知防御提供建议
- ❌ 不进行认知操纵
- ❌ 不制造虚假信息

## 故障排除

### Scrapling不可用
```bash
# 检查Scrapling是否安装
pip show scrapling

# 重新安装
pip install "scrapling[all]>=0.4.2"
```

### 情感分析不可用
```bash
# 安装VADER
pip install vaderSentiment
```

### 分词不可用
```bash
# 安装jieba
pip install jieba
```

## 更新日志

**v1.0.0** (2026-03-31)
- 初始版本发布
- 实现五大核心模块
- 支持多源采集和交叉验证
- 支持叙事分析和情感分析
- 支持时间线构建
- 支持结构化报告生成
