本次改造将 MiroFish 从国际版 Twitter/Reddit 平台适配为国内政务场景版本,主要改造内容包括:
| 类别 | 改造内容 | 状态 |
|---|---|---|
| 后端 | 政务 Agent 分类体系(region/age_group/profession/gov_relation) | ✅ |
| 后端 | 政务 Agent 角色模板(政务小编、媒体编辑、专家学者等) | ✅ |
| 后端 | 干预事件功能(intervention_events) | ✅ |
| 后端 | 国内平台适配(微博热搜、微信转发、抖音算法) | ✅ |
| 后端 | 政务报告框架(5个固定章节) | ✅ |
| 后端 | 数据可视化(matplotlib 图表生成) | ✅ |
| 后端 | Word/PDF 导出(红头文件模板) | ✅ |
| 后端 | GraphRAG 政务关系类型(AFFECTS/CORRECTS/SUPPORTS/OPPOSES) | ✅ |
| 前端 | 政务蓝主题(#0052D9) | ✅ |
| 前端 | 模板库组件(TemplateLibrary.vue) | ✅ |
| 前端 | 时间轴回溯组件(TimelineViewer.vue) | ✅ |
| 测试 | 完整测试脚本(100% 通过) | ✅ |
- Python 3.9+
- Node.js 16+
- Git
pip install matplotlib numpy python-docx reportlabgit clone https://github.com/dddwhy/MiroFish.git
cd MiroFishcd backend
pip install -r requirements.txt
pip install matplotlib numpy python-docx reportlabcd ../frontend
npm install创建 backend/.env 文件:
# LLM 配置(使用阿里云 Qwen)
DASHSCOPE_API_KEY=your-api-key-here
LLM_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1
LLM_MODEL=qwen-plus
# Zep 配置(知识图谱)
ZEP_API_KEY=your-zep-api-key
ZEP_SERVER_URL=your-zep-server-url# 在项目根目录
npm run dev# 后端
cd backend
python app.py
# 前端
cd frontend
npm run dev- 进入首页,点击「政务场景模板库」
- 选择预设模板:
- 政策宣传效果推演
- 突发事件危机应对
- 重大事项舆情监测
- 谣言传播与辟谣效果
- 点击「应用模板」
- 上传政策文档
- 配置仿真参数(Agent 数量、平台选择、仿真时长)
- 启动仿真
实时监控面板
- 舆情走势图(正面/负面/中性占比)
- 传播层级图(源头→一级→二级...)
- Agent 行为日志
时间轴回溯
- 点击「时间轴」标签
- 拖动滑块查看任意时间点状态
- 点击「查看Agent行为」查看详细数据
仿真完成后,系统自动生成包含以下章节的报告:
- 舆情趋势分析 - 按时间维度展示情感变化
- 核心观点与立场分布 - 不同群体观点聚类
- 风险点识别与负面舆情预警 - 高风险舆情点
- 舆论引导建议 - 针对性策略推荐
- 传播路径与关键节点 - 影响力排行
- Word 格式:红头文件模板,支持编辑
- PDF 格式:只读格式,方便存档
| 角色名称 | 特征 | 适用场景 |
|---|---|---|
| 政务小编 | 官方立场,正面倾向 | 发布官方通稿、政策解读 |
| 媒体编辑 | 半官方,观察立场 | 主流媒体报道、转发 |
| 专家学者 | 独立理性,中性立场 | 政策解读、专业分析 |
| 一线城市网民 | 活跃,反应快 | 一线城市舆情 |
| 二三线城市网民 | 稳定,主流观点 | 大众舆情 |
| 县域网民 | 保守,支持倾向 | 基层舆情 |
| 青年学生 | 批判,反对倾向 | 校园舆情、青年群体 |
region: tier1(一线)/ tier2(二三线)/ tier3(三四线)/ county(县域)age_group: youth(18-25)/ young_adult(26-35)/ middle(36-50)/ senior(50+)profession: government_employee/teacher/doctor/student/enterprise_worker等gov_relation: 0.0-1.0,与政府关联度(1.0=完全官方)
- 热搜机制:互动量达到阈值触发热搜
- 热搜曝光加成:3.0倍
- 传播特性:公开性强,扩散快
- 转发层级:最多5级
- 转发衰减率:0.6
- 传播特性:半封闭,信任链传播
- 算法权重:完播率40%、点赞30%、评论30%
- 传播周期:24小时
- 传播特性:算法推荐,病毒式传播
cd backend/scripts
python quick_test.py测试报告保存在:backend/scripts/test_output/quick_test_report_*.json
当前测试结果:
- 总测试数:21
- 通过:21
- 失败:0
- 通过率:100%
1. matplotlib 中文字体显示问题
# 解决方案:使用英文标签或安装中文字体
# 在 report_agent.py 中已配置:
plt.rcParams['font.sans-serif'] = ['SimHei', 'Microsoft YaHei', 'Arial Unicode MS']2. Word/PDF 导出失败
# 安装依赖
pip install python-docx reportlab3. LLM 调用超时
- 检查网络连接
- 检查 API Key 是否正确
- 增加超时时间配置
MiroFish/
├── backend/
│ ├── app/
│ │ └── services/
│ │ ├── simulation_config_generator.py # ✨ 改造:政务Agent、国内平台
│ │ ├── report_agent.py # ✨ 改造:政务报告、可视化、导出
│ │ └── ontology_generator.py # ✨ 改造:政务关系类型
│ └── scripts/
│ ├── quick_test.py # ✨ 新增:快速测试脚本
│ └── test_output/ # 测试报告
├── frontend/
│ └── src/
│ └── components/
│ ├── Step1GraphBuild.vue # ✨ 改造:政务蓝主题
│ ├── TemplateLibrary.vue # ✨ 新增:模板库
│ └── TimelineViewer.vue # ✨ 新增:时间轴回溯
└── GOVERNMENT_DEPLOYMENT.md # 本文档
- 改造版本:v0.2-government
- 基于原版:v0.1 (666ghj/MiroFish)
- 改造日期:2025-01-16
- 改造分支:feature/core-module-improvements
如有问题,请参考:
- 原项目文档:666ghj/MiroFish
- 改造仓库:dddwhy/MiroFish
- 性能优化:大规模 Agent 仿真性能优化
- 功能扩展:增加更多国内平台(小红书、B站等)
- 模型优化:适配国产大模型(通义千问、文心一言等)
- 部署优化:Docker 容器化部署