MyVerse 是一个开源、Local-first 的 3D 个人主页生成器。
你在本地编辑个人资料、场景、热点和 3D 人物;所有结果保存在自己的 Git 仓库里。只有当你准备好分享时,才把它部署成一个只读网站。
- 没有中心账号系统或用户数据库
- 个人资料保存在
content/world.json - 3D 模型保存在
public/world/ - Meshy API Key 仅保存在当前本地浏览器会话
- 部署后的站点不包含写入接口、生成接口或 Meshy Key
- 你可以使用内置素材、上传 GLB,或使用自己的 Meshy Key 生成模型
需要 Node.js >=22.13.0。
git clone https://github.com/Ocean1109/MyVerse.git
cd MyVerse
npm install
npm run dev开发服务启动后打开:
/:MyVerse 开源产品首页/world:个人世界只读预览/studio:本地创作器
/studio 只在本地开发服务中开放。部署后访问该地址只会看到本地使用说明。
第一次进入 /studio 会自动打开四步创建向导:填写个人信息、选择世界模板、
选择人物并补充工作与兴趣。完成后内容会写入 content/world.json,以后也可以
从编辑器的“内容”页重新运行向导。
content/
├── world.json # 个人资料、热点、主题和场景布局
├── library.json # 内置素材索引
├── models.json # 本地模型版本历史
└── jobs.json # Meshy 生成任务记录
public/
├── library/ # 你提供的公共 GLB、贴图和封面素材
└── world/
├── avatar.glb # 当前使用的人物模型
└── versions/ # 历史模型版本
内置工作室、树木、摄影角、音乐舞台和默认人物目前由 Three.js 程序化生成, 因此即使没有任何 GLB 文件也可以运行。
创作器的“素材”页会读取 content/library.json,展示项目内的人物、空间和
世界模板。应用素材后,选择结果会写入 content/world.json。
你也可以在素材库上传人物 GLB:
- 文件写入
public/library/user/ - 素材名称、大小和许可证写入
content/library.json - 上传完成后会立即应用到当前世界
素材文件最大 25 MB。准备公开仓库前,请确认自己拥有模型的再分发权限,并填写 准确的许可证说明。
- 在本地打开
/studio - 进入“人物”
- 输入自己的 Meshy API Key
- 上传正面全身照
- 分阶段确认设定图、几何和纹理的 credits 消耗
Key 使用 sessionStorage 临时保存,关闭浏览器会话后失效;它不会写入
content/、.env、Git 或部署产物。
照片只会从本地创作器发送给 Meshy,不会写入项目。生成的 GLB 会下载到
public/world/versions/,同时更新 public/world/avatar.glb。
把 GLB 和相关贴图放进 public/library/,然后在
content/library.json 中登记:
{
"id": "cloud-chair-01",
"name": "云朵椅",
"category": "furniture",
"kind": "glb",
"path": "/library/cloud-chair-01.glb",
"description": "适合云端工作室的低多边形座椅。",
"license": "CC BY 4.0"
}请为所有素材注明作者和许可证。不要把没有再分发权的素材提交到公开仓库。
默认情况下 / 是 MyVerse 项目介绍,个人世界位于 /world。
如果要把仓库部署为自己的个人主页,把 myverse.config.ts 改为:
homepage: "world"然后验证:
npm test
npm run lint
npm run build构建通过后,可以部署到兼容 Cloudflare Worker / Vinext 的环境。仓库内不需要 D1、R2、远程数据库或服务端密钥。
- 不要把 Meshy Key 写进源码、截图或 Issue
- 提交前检查
content/world.json中的邮箱和个人信息 - 提交全身照前确认你拥有相应使用权
- 公开仓库中的 GLB、贴图和内容默认可被下载
- 如果不希望公开模型源文件,请使用私有仓库或调整部署策略
集中搜索平台将作为独立、可选的项目存在。用户部署自己的 MyVerse 后, 可以主动提交公开主页地址、姓名或昵称、岗位和标签。目录不保存照片、 模型源文件、Meshy Key 或编辑草稿。
代码使用 MIT License。素材许可证以 content/library.json
中的记录为准。