利用 AI 编程智能体,将抽象的物理/数学问题转化为可视化的、可交互的动态模拟,实现"一图胜千言"的沉浸式学习。
技术栈
-
前端: Next.js 14 + React 18 + Tailwind CSS + Radix UI
-
后端: Next.js API Routes + LangChain Agent
-
数据库: PostgreSQL (pgvector) + SQLite
-
AI: DeepSeek / OpenAI / Anthropic / Ollama 多模型支持
-
可视化: D3.js + Matter.js 物理引擎 + Canvas 2D/3D
快速开始(Docker Compose)
# 1. 克隆仓库
git clone https://gitee.com/uncle-stone/PhysiMindAI.git
cd PhysiMindAI
# 2. 配置环境变量
cp app/.env.example app/.env
# 编辑 app/.env,至少填入一个 LLM API Key
# 3. 一键部署
# Windows:
.\deploy.ps1
# Linux / Mac:
chmod +x deploy.sh && ./deploy.sh
部署完成后:
-
主页面:
http://localhost:3000 -
管理后台:
http://localhost:3000/admin -
题库爬虫:
http://localhost:3000/admin/spider
部署选项
# 不使用 Ollama(仅用云端 API)
.\deploy.ps1 --no-ollama
# 强制重新构建镜像
.\deploy.ps1 --build
# 清除所有数据重新开始
.\deploy.ps1 --clean
手动 Docker Compose 操作
# 启动全部服务(含 Ollama)
docker compose --profile full up -d
# 仅启动数据库 + 应用(不含 Ollama)
docker compose up -d
# 查看日志
docker compose logs -f app
# 停止
docker compose down
# 完全清除(含数据卷)
docker compose down -v
本地开发
cd app
cp .env.example .env # 编辑 .env 填入配置
npm install
npx prisma generate --schema=prisma/question-bank.prisma
npm run dev # http://localhost:3000
项目结构
PhysiMindAI/
├── app/ # Next.js 主应用
│ ├── src/
│ │ ├── agents/ # LangChain Agent 节点
│ │ ├── app/api/ # API 路由
│ │ ├── components/ # React 组件
│ │ ├── hooks/ # 自定义 Hooks
│ │ ├── lib/ # 核心库(LLM、RAG、题库)
│ │ └── orchestrator/ # 编排器
│ ├── prisma/ # 数据库 Schema
│ ├── Dockerfile
│ └── .env.example
├── docker-compose.yml # 容器编排
├── deploy.ps1 # Windows 部署脚本
└── deploy.sh # Linux/Mac 部署脚本


