MiroFish 部署与实战: 从零构建舆情推演系统

2026年3月17日

前言

你有没有想过,如果能提前预知一条政策发布后网民的反应,或者一场公关危机可能带来的连锁影响?

传统舆情分析依赖历史数据和专家经验,本质上是「向后看」。但 MiroFish 给了我们一个全新的思路:让 AI 构建一个高保真的数字平行世界,让成千上万个具备独立人格、长期记忆的智能体在其中自由交互,然后观察群体行为的涌现。

这就是所谓的「群体智能」(Swarm Intelligence)。

MiroFish 是 2025 年开源的多智能体预测引擎,底层由 OASIS 仿真引擎驱动。它可以接收任意种子材料(新闻稿、分析报告、甚至小说情节),自动构建数字世界,然后输出预测报告。

我们今天就从零开始,部署 MiroFish 并构建一个简单的舆情推演系统。

核心概念

在动手之前,我们先理解几个关键概念。

种子信息

种子信息是预测的起点。可以是一篇新闻报道、一份金融分析报告、一段小说情节,甚至是一段社交媒体上的热门讨论。MiroFish 会从这些材料中提取关键实体、人物关系和事件背景。

数字平行世界

这是 MiroFish 最核心的创新。它不是简单让 AI 生成一段文字,而是真正构建一个「世界」:

  • 每个智能体有独立的人格、记忆和行为逻辑
  • 智能体之间会交互、传播信息、形成派系
  • 整个系统会涌现出个体行为无法预测的群体特征

想象一下,你投放一条假新闻到这个世界,观察它如何发酵、反转、最终形成舆情——这就是数字平行世界的力量。

工作流程

MiroFish 的完整工作流程分为 5 步:

  1. 图谱构建:从种子材料中提取实体、关系,构建知识图谱
  2. 环境搭建:生成智能体人设,配置仿真参数
  3. 模拟运行:双平台并行模拟,动态更新记忆
  4. 报告生成:ReportAgent 分析模拟结果,生成预测报告
  5. 深度互动:你可以与模拟世界中的任意角色对话

环境准备

MiroFish 是一个全栈项目,前端 + 后端分开部署。

硬件要求

配置推荐最低
CPU8 核4 核
内存16 GB8 GB
存储50 GB SSD20 GB
GPU可选N/A

WARNING

如果你要运行超过 40 轮模拟,内存最好 16GB 以上。模拟过程中每个智能体都会维护独立记忆,内存消耗会快速增长。

软件依赖

工具版本要求说明
Node.js18+前端运行环境
Python≥3.11, ≤3.12后端运行环境
uv最新版Python 包管理器

检查一下你的环境:

node -v    # 应该 >= 18.0.0
python --version  # 应该在 3.11 - 3.12 之间
uv --version

快速部署

我们用源码部署方式来演示,这样你可以更灵活地定制。

1. 克隆项目

git clone https://github.com/666ghj/MiroFish.git
cd MiroFish

2. 配置环境变量

cp .env.example .env

编辑 .env 文件,填入你的 API 配置。这里有两种选择:

方案 A:使用阿里百炼(官方推荐)

LLM_API_KEY=your_aliyun_api_key
LLM_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1
LLM_MODEL_NAME=qwen-plus

方案 B:使用其他 OpenAI 兼容 API

LLM_API_KEY=your_api_key
LLM_BASE_URL=https://api.openai.com/v1
LLM_MODEL_NAME=gpt-4o

还需要配置 Zep Cloud(用于智能体记忆管理):

ZEP_API_KEY=your_zep_api_key

TIP

Zep Cloud 每月有免费额度,足够入门使用。注册地址:https://app.getzep.com/

3. 安装依赖

npm run setup:all

这会同时安装:

  • 根目录的 Node 依赖
  • 前端依赖
  • Python 依赖(自动创建虚拟环境)

如果网络慢,可以分步执行:

npm run setup           # 前端
npm run setup:backend   # 后端

4. 启动服务

npm run dev

服务启动后:

  • 前端:http://localhost:3000
  • 后端 API:http://localhost:5001

Docker 部署备选

如果你想快速上手,也可以用 Docker:

# 1. 配置环境变量
cp .env.example .env

# 2. 启动容器
docker compose up -d

Docker 方式会自动映射 3000(前端)和 5001(后端)端口。


实战演练

现在我们来创建一个舆情推演任务。

1. 访问 Web UI

浏览器打开 http://localhost:3000,你会看到 MiroFish 的主界面。

2. 创建预测任务

点击「新建预测」,选择「舆情推演」类型。

3. 输入种子材料

在文本框中输入一段新闻素材,比如:

某知名互联网公司今日宣布将裁员 10% 的员工,理由是业务调整需要更加聚焦核心领域。
消息一出,立刻在社交媒体上引发热议。部分员工表示不满,
认为公司没有提前沟通;也有网友表示理解企业的经营压力。
该公司 CEO 在内部信中强调,这是艰难但必要的决定,
公司将提供优厚的离职补偿并帮助员工推荐新的工作机会。

4. 描述预测需求

用自然语言描述你想预测什么:

预测这条裁员消息发布后,网民的反应会如何演变?
是否会形成负面舆情?可能会持续多久?哪些群体会持什么立场?

5. 开始模拟

点击「开始模拟」,系统会:

  1. 从种子材料中提取关键实体(公司、CEO、员工、网友)
  2. 构建知识图谱
  3. 生成多个智能体,赋予不同人设(同情员工的网友、理性分析者、吃瓜群众等)
  4. 开始模拟交互

TIP

首次模拟建议先用 20-30 轮,观察效果后再增加。

6. 查看预测结果

模拟完成后,你会看到一份详细的预测报告,包括:

  • 舆情发展趋势曲线
  • 主要观点分布
  • 关键转折点预测
  • 建议的应对策略

7. 深度互动

这是 MiroFish 最有趣的地方。你可以:

  • 与任意智能体一对一对话:「你是那个同情员工的网友,你怎么看这件事?」
  • 让 ReportAgent 回答具体问题:「如果公司发布公开信回应,舆情会怎么变?」

AI Provider 配置

上面我们用了阿里百炼的模型。但如果你想降低成本或者使用其他模型,可以考虑 Defapi 平台。

Defapi 是 API 中转服务,价格只有官方的 半价,支持:

  • OpenAI (GPT-4o, GPT-4.5)
  • Anthropic (Claude Sonnet, Claude Opus)
  • Google (Gemini)

而且完全兼容 OpenAI SDK,只需要修改两个参数:

# 使用 Defapi
LLM_API_KEY=你的Defapi-Key
LLM_BASE_URL=https://api.defapi.org/v1
LLM_MODEL_NAME=openai/gpt-4o-mini

或者在代码中使用:

from openai import OpenAI

client = OpenAI(
    api_key="你的Defapi-Key",
    base_url="https://api.defapi.org/v1"
)

response = client.chat.completions.create(
    model="openai/gpt-4o-mini",
    messages=[{"role": "user", "content": "Hello!"}]
)

TIP

Defapi 的接口完全兼容 OpenAI SDK,MiroFish 无需任何修改,直接改环境变量即可。


常见问题排查

1. npm install 失败

检查 Node.js 版本:

node -v

必须是 18+。如果版本正确但安装失败,尝试:

npm cache clean --force
npm install --legacy-peer-deps

2. Python 依赖安装卡住

确认 Python 版本在 3.11-3.12 之间:

python --version

如果不在这个范围,需要用 pyenv 或 conda 来管理 Python 版本。

3. 后端启动报 "Model not found"

检查 LLM_MODEL_NAME 是否正确。不同 API provider 的模型名称格式不同:

  • 阿里百炼:qwen-plus
  • OpenAI:gpt-4o
  • Defapi:openai/gpt-4o-mini

4. 模拟运行很慢

几个优化方向:

  • 减少模拟轮数(从 40 降到 20)
  • 使用更小的模型
  • 减少智能体数量
  • 确保网络通畅(API 调用有延迟)

5. 内存占用过高

如果机器内存不够 16GB,可以在 .env 中限制并发数:

MAX_CONCURRENT_AGENTS=10

或者减少每轮交互的智能体数量。

6. 前端页面空白

检查后端是否正常运行:

curl http://localhost:5001/health

如果返回错误,检查 .env 配置是否正确加载。


进阶方向

自定义智能体人格

MiroFish 支持在创建任务时自定义智能体的人设。你可以指定:

  • 年龄、职业、性格特征
  • 立场倾向(支持/反对/中立)
  • 背景故事

通过精细的人设调整,可以让模拟更贴近真实场景。

接入更多数据源

目前支持文本种子材料。未来可以接入:

  • 社交媒体 API(爬取真实舆情数据)
  • 新闻 RSS 源
  • 金融数据库

扩展应用场景

不只是舆情推演,MiroFish 还可以用于:

  • 金融预测:模拟市场情绪演变
  • 政策推演:预测政策发布后的社会反应
  • 创意写作:推演小说情节走向(比如让 AI 预测《红楼梦》后 40 回)
  • 危机模拟:演练公关危机应对策略

进阶阅读

如果你对多智能体系统感兴趣,想亲自体验「让 AI 预测未来」的感觉,MiroFish 是一个很好的起点。

Updated 2026年3月17日