Skip to content

The0xKa1/DataVisProject

Repository files navigation

MISBOT Diffusion Audit

基于社交媒体文本的网络水军与虚假信息协同扩散审计系统

Live Demo GitHub Vercel

Next.js React TypeScript Tailwind CSS D3 Three.js Dataset

Overview

MISBOT Diffusion Audit 是一个面向社交媒体虚假信息与协同扩散分析的可视分析项目。系统基于 MisBot 数据集,将信息实例、真假标签、用户代理信号、评论/转发/态度参与、时间突发和传播图结构整合到一个交互式 Web 界面中。

它不是一个“自动定罪”系统,而是一个探索式审计工具:帮助分析者从宏观异常趋势进入单个事件、关键账号、热门话题和匿名化证据,观察虚假信息与疑似协同行为如何共同扩散。

我的主要工作: 前端框架、分析台界面、力导向图、3D 传播图与 Vercel 发布流程。

Live

Entry URL
Public domain https://misbot.the0xka1.cc
Vercel alias https://datavisproject-tau.vercel.app
Repository https://github.com/The0xKa1/DataVisProject

Highlights

Scroll Story

滚动叙事部分以全屏背景网络为主视觉,将案例证据、传播核心、热门话题和水军高占比片段串成一条连续分析路径。

Analyst Console

分析台提供突发窗口、关键传播账号、热门话题信号和匿名证据列表,支持从聚合视角快速切换到具体事件。

3D Propagation Space

大规模事件传播图使用 Three.js 渲染为可旋转、缩放、拖拽和点击高亮的一跳邻域 3D 空间,避免把数千节点塞进单个 SVG 视图。

Evidence Dossier

“匿名细读”面板展示选中事件的匿名文本、参与者统计、局部传播关系和相关事件,强调可解释证据而不是黑箱判断。

Data Pipeline

Python 构建脚本将 MisBot 原始 JSONL 转换为前端可直接读取的 dashboard JSON 和预计算事件传播图。

Tech Stack

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

Run Locally

Requirements:

  • Node.js 20+
  • npm
  • Python 3.10+ only if rebuilding MisBot data

Install dependencies:

npm install

Start development server:

npm run dev

Open:

http://localhost:3000

Production build check:

npm run build
npm run start

Data Loading

The 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:

  1. Use misbot_dashboard.json when it exists and contains events.
  2. Fall back to checked_dashboard.json for local demo use.
  3. Load precomputed full graph JSON for priority events.
  4. 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.json

The 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

Project Structure

.
├── 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

Deployment

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.

Data Ethics

  • 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.

Credits

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages