Skip to content

Repository files navigation

MyVerse

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。准备公开仓库前,请确认自己拥有模型的再分发权限,并填写 准确的许可证说明。

使用 Meshy

  1. 在本地打开 /studio
  2. 进入“人物”
  3. 输入自己的 Meshy API Key
  4. 上传正面全身照
  5. 分阶段确认设定图、几何和纹理的 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 Directory

集中搜索平台将作为独立、可选的项目存在。用户部署自己的 MyVerse 后, 可以主动提交公开主页地址、姓名或昵称、岗位和标签。目录不保存照片、 模型源文件、Meshy Key 或编辑草稿。

License

代码使用 MIT License。素材许可证以 content/library.json 中的记录为准。

About

Open-source, local-first 3D personal homepage builder with a guided studio, asset library, and Meshy workflow.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages