当前位置: 首页 > news >正文

Three.js 交互式 3D 人体解剖开源项目

thebuggeddev/anatomy: An interactive 3D human anatomy explorer built using threejs with GPT 5.6 Sol

Three.js 交互式 3D 人体解剖开源项目

vinext-starter

一个基于vinext​ 的简洁全栈 starter,可选集成 Cloudflare D1 与 Drizzle ORM。


环境要求

  • Node.js >= 22.13.0


快速开始

npm install npm run dev # 启动本地开发服务器 npm run build # 构建项目,验证 vinext 构建产物

本项目不使用wrangler.jsonc


项目结构

路径

说明

app/

站点业务代码(vinext / Next.js 风格)

.openai/hosting.json

声明可选的 Sites D1 和 R2 绑定

vite.config.ts

在本地开发环境中模拟声明的绑定

db/schema.ts

数据库 Schema,初始为空,按需添加

examples/d1/

可选的 D1 示例用法

drizzle.config.ts

Drizzle 配置,支持本地迁移生成


工作空间用户身份(Workspace Auth Headers)

OpenAI Workspace Sites 可以通过请求头读取当前登录用户的信息:

  • 邮箱:从oai-authenticated-user-email头中获取。

  • 全名(SIWC 认证后):从oai-authenticated-user-full-name头中获取,值为percent-encoded UTF-8​ 编码,同时附带oai-authenticated-user-full-name-encoding: percent-encoded-utf-8

全名为可选字段,缺失时请回退到邮箱:

import { headers } from "next/headers"; export default async function Home() { const requestHeaders = await headers(); const email = requestHeaders.get("oai-authenticated-user-email"); const encodedFullName = requestHeaders.get("oai-authenticated-user-full-name"); const fullName = encodedFullName && requestHeaders.get("oai-authenticated-user-full-name-encoding") === "percent-encoded-utf-8" ? decodeURIComponent(encodedFullName) : null; const displayName = fullName ?? email; // ... }

可选的 ChatGPT 登录(Dispatch 托管)

当站点需要可选的​ 或必须的​ ChatGPT 登录时,从app/chatgpt-auth.ts导入即用型工具函数:

函数

用途

getChatGPTUser()

获取当前登录用户(可选登录场景)

requireChatGPTUser(returnTo)

未登录访客强制跳转至 Sign in with ChatGPT(服务端渲染页面)

chatGPTSignInPath(returnTo)

生成登录链接,供前端<a>或跳转使用

chatGPTSignOutPath(returnTo)

生成登出链接

  • returnTo同源相对路径,指定登录/登出后的跳转目标,工具函数会自动校验并安全编码。

  • 受保护页面必须添加export const dynamic = "force-dynamic",因为它们依赖每次请求的动态身份头。

重要说明

  • Dispatch 平台​ 托管了以下路径和逻辑,你不需要app/中实现它们:

    • /signin-with-chatgpt

    • /signout-with-chatgpt

    • /callback

    • OAuth Cookie 管理

    • 身份头注入

    只有调用了上述 helper 的路由才会触发登录流程,未调用的路由保持匿名可访问。

  • SIWC 仅建立用户身份,不证明工作空间成员资格。​ 如需工作空间级别的访问限制,请使用 Sites 托管平台的访问策略控制,或在服务端自行实现成员校验 / 白名单逻辑。

使用建议

场景

推荐做法

个人账户页、用户仪表盘、已保存记录、写操作

✅ 使用 SIWC 绑定当前 ChatGPT 用户

公开内容

✅ 保持匿名访问


常用命令

npm run dev # 启动本地开发 npm run build # 验证 vinext 构建产物 npm test # 构建并验证渲染的加载骨架屏 npm run db:generate # Schema 变更后生成 Drizzle 迁移文件

了解更多

  • 📖 vinext 文档

  • 📖 Drizzle + Cloudflare D1 指南


提示:如需自定义数据库 Schema,编辑db/schema.ts后运行npm run db:generate即可生成迁移文件。D1 绑定和 R2 绑定在.openai/hosting.json中声明,本地开发由vite.config.ts自动模拟,无需额外配置。

http://www.jsqmd.com/news/1402227/

相关文章:

  • Python实战:从零构建钢筋混凝土柱PMM相互作用图计算与可视化工具
  • Science Robotics 封面论文:ZEST零样本具身技能转移技术框架,教会Atlas跳霹雳舞、爬箱子、后空翻
  • 2026四大AI写论文工具深度横评|从降重到润色,各有所长别盲选
  • 深入解析ILMerge:.NET程序集合并原理、实战与替代方案
  • 蚂蚁集团Ling 3.0 Tiny开源MoE大模型:79亿参数本地部署实战指南
  • Nginx主动健康检查
  • 2026年道路消火栓施工方网址,室外消火栓/地上消火栓/地下消火栓/市政消火栓/智慧消火栓,消火栓设备厂家推荐 - 企业权威推荐大使
  • 每天认识一种投资品类:牛熊证
  • 2026 年现阶段明山知名的豆包获客效果怎么样/新店快速拿到客源平台选哪家,开新店还在蹲客源?这玩意儿能帮你搞定,难怪同行都悄悄用!-抖能发网络科技 - 行业推荐官[官方】--
  • CarSim 2021.0 完整安装、破解与Simulink联合仿真环境搭建指南
  • Ansys Maxwell自定义材料库创建与管理全攻略:从B-H曲线到团队协作
  • 基于AKShare构建AI金融数据技能:量化交易与智能投研的数据基石
  • Nsight Systems 零基础入门:Trace采集与基础操作
  • 广州芬豪香精有限公司的性价比怎么样 - mypinpai
  • 数组详解:从创建到遍历的终极指南
  • 静态路由配置全解析:从原理到实战,网络工程师必备基本功
  • AI机器学习进阶玩法:从核心概念到技术发展
  • OpenClaw部署实战:从零构建个人AI操作系统与Agent工作流
  • LeetCode 3885.设计事件管理器
  • 2026 年西宁靠谱的全铝油浸式变压器源头厂家哪个好,有人靠它省百万成本,背后的秘密藏在这台大家伙里?-华屹变压器 - 行业推荐官【认证】
  • must_fail 没写死——拒答一次标 PASS?这不是评测,是表演 · Agent 死刑题
  • [光学原理与应用-504]:T‑MINI PLUS激光雷达测距,如何避免被相连的雷达测距发出的激光干扰
  • 从像素到数据:财报OCR如何重构财务报表识别与稽核流水线
  • 从零构建内容:以无线Mesh组网为例,拆解技术创作的结构化思维
  • 2026杭州空调维修怎么选?简单到家服务细节大公开 (第1次重投) - 简单到家
  • 快速上手vibe-coding!!!
  • Qwen与远程MCP混用第3天:密钥险入日志,我的4层隔离军规
  • FlowPilot:基于双流Transformer世界模型的无人机高速自主导航系统
  • 大模型技术生态与AutoClass实战指南
  • Python数据分析工程师核心技能与实战指南