Lexiverse
Lexiverse - AI contextual reading engine for English learners. Your next article is your next review.
翻訳待ち
リポジトリ情報はまだ収集していません。
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗从“看非遗”到“共创非遗”的 AI 3D 数字博物馆。
《非遗造物局》面向年轻人、手作爱好者、文创小店、校园与文旅活动组织者,以及希望用更年轻方式传播传统技艺的文化机构。项目将数字展陈、AI 图像生成、3D/AR 预览、拼豆图纸、材料清单和作品画廊串成一条连续体验,让用户从认识非遗走向理解、再设计和实际制作。
本项目为 TRAE AI 创造力大赛复赛作品,主赛道为“生活娱乐”,同时关注非遗传播的社会公益价值。
<model-viewer> 浏览、旋转与缩放藏品;支持的移动设备可将展品放入真实空间。| 阶段 | 用户行为 | 结果 |
|---|---|---|
| 01 · 穿门入馆 | 从首页进入数字馆舍与主题展厅 | 发现非遗内容与空间线索 |
| 02 · 认识技艺 | 查看 3D 藏品、技艺简介与传承故事 | 建立文化背景与视觉认知 |
| 03 · 发起共创 | 选择技艺、流行元素、载体和风格 | 形成可执行的创作方向 |
| 04 · AI 炼成 | 生成或编辑非遗主题方案图 | 获得文创概念图与故事文案 |
| 05 · 立体呈现 | 预览载体材质,生成或下载 GLB | 检查作品的立体效果 |
| 06 · 手作落地 | 生成拼豆图纸、色号统计和材料清单 | 获得可制作的手作参考 |
| 07 · 作品沉淀 | 保存并公开作品,进入共创画廊 | 形成可持续的共创记录 |
初赛验证了“选择技艺—生成图案—载体预览—拼豆图纸”的最小闭环;复赛进一步重构为“看展—理解—共创—展示”的数字博物馆体验,并补充 3D/AR、山河图志、作品画廊和真实 3D 生成能力。
<model-viewer>.glb 3D 模型git clone https://github.com/tbszz/Heritage-Foundry.git
cd Heritage-Foundry
git lfs install
git lfs pull
npm install
cp .env.example .env
npm run dev
Windows PowerShell 可用 Copy-Item .env.example .env 代替 cp。
默认会同时启动:
http://localhost:5173http://localhost:3000/api如果只调试一侧:
npm run dev:web
npm run dev:api
完整配置和限流参数见 .env.example。常用变量如下:
| 变量 | 何时需要 | 用途 |
|---|---|---|
GEMINI_API_KEY | 使用 AI 生图、编辑或在线测验时 | 服务端调用 Gemini |
GEMINI_MODEL | 可选 | 覆盖默认图像模型 |
THREE_D_PROVIDER | 使用真实 3D 生成时 | meshy(线上)或 local(本地) |
MESHY_API_KEY | THREE_D_PROVIDER=meshy 时 | 服务端创建 image-to-3D 任务 |
LOCAL_3D_* / TRIPOSR_* | THREE_D_PROVIDER=local 时 | 连接并配置本地 TripoSR sidecar |
SUPABASE_URL | 保存或读取共创作品时 | Supabase 项目地址 |
SUPABASE_SERVICE_ROLE_KEY | 保存或读取共创作品时 | 服务端数据库与 Storage 凭证 |
CORS_ALLOWED_ORIGINS | 跨域部署时 | API 允许的前端来源 |
IMAGE_RATE_LIMIT_* / THREE_D_*_RATE_LIMIT_* | 生产部署时 | 生图与 3D 接口限流 |
不要把真实
.env、service role key、个人 token 或其他密钥提交到仓库,也不要通过VITE_*变量把服务端密钥暴露给浏览器。
npm run dev # 同时启动 Vite 前端和 Express API
npm run dev:web # 仅启动 Vite 前端
npm run dev:api # 仅启动 Express API
npm run build # 生产构建
npm run preview # 预览构建产物
npm test # 运行自动化测试
源资产变更后可重新执行资产管线:
node scripts/compress-models.mjs # assets-src/models/ → public/models/
python3 scripts/subset_fonts.py # assets-src/fonts/ → public/fonts/*.woff2
.
├── api/ # Vercel Serverless API 入口
├── assets-src/ # 原始字体、模型与图片(Git LFS)
├── docs/
│ ├── screenshots/ # README 使用的项目运行截图
│ ├── plans/ # 设计与实施计划
│ └── API.md # 完整 API 文档
├── middleware/ # CORS、限流和错误处理
├── public/
│ ├── assets/ # 图标、纹理与生成视觉资源
│ ├── draco/ # 自托管 Draco 解码器
│ ├── fonts/ # 子集化字体
│ ├── models/ # 压缩后的 3D 模型
│ └── vendor/ # 自托管 model-viewer bundle
├── routes/ # Express API 路由
├── scripts/ # 资产处理与本地 3D 脚本
├── services/ # Gemini、3D Provider 与 Supabase 服务
├── sidecar/ # 本地 TripoSR HTTP 适配器
├── src/
│ ├── components/ # Three.js 场景与交互组件
│ ├── data/crafts.json # 18 项非遗数据的前后端共享数据源
│ ├── utils/ # 数据、颜色、图纸与 API 工具
│ ├── index.html # 数字博物馆首页
│ ├── crafts.html # 非遗技艺与 3D 藏品页
│ ├── generator.html # AI 共创工作台
│ └── ar.html # AR 展品预览
├── supabase/migrations/ # 数据库与 Storage 迁移
├── tests/ # 自动化测试
├── server.js # Express 入口与 dist 静态托管
├── vercel.json # Vercel 构建和路由配置
└── vite.config.js # Vite 多页面配置
API 基础路径为 /api,详细请求与响应格式见 docs/API.md。
| 方法与路径 | 说明 |
|---|---|
GET /api/health | 健康检查 |
POST /api/generate-image | AI 图像生成 |
POST /api/edit-image | AI 图像编辑 |
GET /api/styles | 读取支持的视觉风格 |
GET /api/3d-capabilities | 读取当前 3D Provider 和可用状态 |
POST /api/generate-3d | 创建真实 3D 生成任务 |
GET /api/generate-3d/:id | 轮询统一任务状态 |
GET /api/generate-3d/:id/artifacts/model.glb | 下载本地 Provider 的 GLB 产物 |
GET /api/creations | 读取最近公开作品 |
GET /api/creations/stats | 读取作品与热门技艺统计 |
GET /api/creations/:id | 读取单个作品 |
POST /api/creations | 保存生成作品 |
POST /api/creations/:id/like | 点赞公开作品 |
仓库提供三份迁移:
supabase/migrations/202607050001_create_heritage_foundry.sql
supabase/migrations/202607170001_create_creations_storage.sql
supabase/migrations/202608050001_add_likes_to_creations.sql
在 Supabase 项目中依次应用迁移,再配置 SUPABASE_URL 和 SUPABASE_SERVICE_ROLE_KEY,即可启用作品保存、公开画廊、统计和点赞。
仓库通过 Git LFS 管理字体和 3D 模型。首次克隆后如果资源缺失:
git lfs install
git lfs pull
主要跟踪范围:
public/models/*.glb(压缩产物)assets-src/models/*.glb(原始模型)assets-src/fonts/*.ttf / *.otf(完整字体)vercel.json,线上真实 3D 使用 Meshy。npm run build 后运行 node --use-env-proxy server.js,Express 会托管 dist/ 并提供 API。docker build -t heritage-foundry . && docker run -p 3000:3000 --env-file .env heritage-foundrynpm test
npm run build
代码采用 MIT License,见 LICENSE。第三方库、字体与模型的版权和使用条件见 THIRD_PARTY_NOTICES.md 与 LICENSES/。