MISBOT Diffusion Audit 是一个面向社交媒体虚假信息与协同扩散分析的可视分析项目。系统基于 MisBot 数据集,将信息实例、真假标签、用户代理信号、评论/转发/态度参与、时间突发和传播图结构整合到一个交互式 Web 界面中。
它不是一个“自动定罪”系统,而是一个探索式审计工具:帮助分析者从宏观异常趋势进入单个事件、关键账号、热门话题和匿名化证据,观察虚假信息与疑似协同行为如何共同扩散。
我的主要工作: 前端框架、分析台界面、力导向图、3D 传播图与 Vercel 发布流程。
| Entry | URL |
|---|---|
| Public domain | https://misbot.the0xka1.cc |
| Vercel alias | https://datavisproject-tau.vercel.app |
| Repository | https://github.com/The0xKa1/DataVisProject |
滚动叙事部分以全屏背景网络为主视觉,将案例证据、传播核心、热门话题和水军高占比片段串成一条连续分析路径。
分析台提供突发窗口、关键传播账号、热门话题信号和匿名证据列表,支持从聚合视角快速切换到具体事件。
大规模事件传播图使用 Three.js 渲染为可旋转、缩放、拖拽和点击高亮的一跳邻域 3D 空间,避免把数千节点塞进单个 SVG 视图。
“匿名细读”面板展示选中事件的匿名文本、参与者统计、局部传播关系和相关事件,强调可解释证据而不是黑箱判断。
Python 构建脚本将 MisBot 原始 JSONL 转换为前端可直接读取的 dashboard JSON 和预计算事件传播图。
| Layer | Tools |
|---|---|
| App framework | Next.js 15, React 19, TypeScript |
| Styling | Tailwind CSS v4, shadcn/ui primitives |
| Visualization | d3 v7, three.js |
| Motion | GSAP ScrollTrigger, Lenis, custom canvas animation |
| State | Zustand selectors and store slices |
| Deployment | Vercel, custom domain via Namesilo DNS |
| Data build | Python 3 script over MisBot JSONL |
Requirements:
- Node.js 20+
- npm
- Python 3.10+ only if rebuilding MisBot data
Install dependencies:
npm installStart development server:
npm run devOpen:
http://localhost:3000
Production build check:
npm run build
npm run startThe app reads dashboard artifacts from public/data/.
| Artifact | Purpose |
|---|---|
public/data/misbot_dashboard.json |
Primary MisBot dashboard index |
public/data/checked_dashboard.json |
Offline/demo fallback dataset |
public/data/misbot_full_graphs/ |
Precomputed full event propagation graphs |
Runtime preference:
- Use
misbot_dashboard.jsonwhen it exists and contains events. - Fall back to
checked_dashboard.jsonfor local demo use. - Load precomputed full graph JSON for priority events.
- Use aggregate event-level graph sketches when full graph files are unavailable.
Raw MisBot files are local-only and are not committed:
data/raw/misbot/
Rebuild the dashboard from raw MisBot data:
python3 scripts/build_misbot_dashboard.py \
--raw data/raw/misbot \
--out public/data/misbot_dashboard.jsonThe public Vercel deployment uses the formal MisBot build prepared on the release branch:
- 23,622 information instances
- 23,622 event graph index entries
- 10,000 precomputed full graph JSON files
.
├── app/ # Next.js app routes and page shell
├── components/
│ ├── charts/ # d3 / three.js visualization surfaces
│ ├── dashboard/ # analyst console and data hydration
│ ├── scrollytelling/ # scroll-driven story network
│ └── ui/ # reusable UI primitives
├── lib/
│ ├── charts/ # data contracts and chart helpers
│ ├── store/ # Zustand stores and selectors
│ └── scrollytelling/ # story presets
├── scripts/ # MisBot / CHECKED data builders
├── public/ # static assets
└── README.md
The project is deployed on Vercel:
vercel --prod --yes --archive=tgz--archive=tgz is recommended for formal-data deployment because the full release contains many JSON files and can otherwise hit Vercel CLI upload request limits.
- Raw data stays outside git.
- Derived dashboard artifacts are used for audit and visualization.
- Weakly supervised bot labels are treated as proxy signals, not direct accusations.
- The interface is designed for evidence inspection and analytical storytelling, not automated enforcement.
- Dataset: MisBot
- Paper: MisBot: A Benchmark Dataset for Social Bot Detection
- Project: Zhejiang University Data Visualization course final project