用手机扫一个房间,然后让你的 AI 助手回答关于它的问题。
66.7/100
综合分
540
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/31 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/reality-opened/openreality.git状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
生态应用
桌面端 / Web 外壳,不以 dsh plugin add 安装
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 3 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装仓库根目录及浅层子目录均无 dsh 插件清单,无法用 dsh 插件安装命令安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包openreality(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明
源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/29 20:42:13
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件读取剪贴板或密钥环境变量
查看扫描证据(共 11 处,展示前 11 条)
- 读取密钥环境变量mcp/src/cli.ts:221
const token = argValue(rest, '--token') ?? process.env.OPENREALITY_TOKEN ?? ''; - 读取本地文件mcp/src/hardware.ts:69
return readFileSync(path, 'utf8'); - 读取本地文件mcp/src/http.ts:125
const size = statSync(filePath).size; - 读取本地文件mcp/src/http.ts:126
const stream = Readable.toWeb(createReadStream(filePath)) as unknown as BodyInit; - 执行外部命令来自配置/变量mcp/src/login.ts:136
const child = spawn(cmd as string, args as string[], { detached: true, stdio: 'ignore' }); - 读取本地文件mcp/src/session.ts:58
const raw = JSON.parse(readFileSync(this.credentialsPath, 'utf8')) as StoredCredentials; - 写入本地文件mcp/src/session.ts:68
mkdirSync(dirname(this.credentialsPath), { recursive: true }); - 写入本地文件mcp/src/session.ts:69
writeFileSync( - 写入本地文件mcp/src/session.ts:73
chmodSync(this.credentialsPath, 0o600); - 写入本地文件mcp/src/unzip.ts:72
mkdirSync(dirname(target), { recursive: true }); - 写入本地文件mcp/src/unzip.ts:73
writeFileSync(target, data);
扫描于 2026/11/2(1 天前) · 范围 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
界面预览
2 张 · 点击查看大图功能亮点
- 手机视频转3D场景
- AI查询3D场景
展开完整介绍(136 字)↓
Open Reality:把手机视频变成 AI 可查询的 3D 场景。一个仓库里装齐 MCP 工具(npm openreality-mcp),支持 Claude/Codex/Cursor,还有可自托管的 broker 和 VGGT-SLAM 库。BSD-2-Clause。
README
由 DeepSeek 最新模型翻译生成用手机扫一个房间,然后让你的 AI 助手回答关于它的问题。
Open Reality 把普通视频变成 3D 场景:AI 可以测量它、在里面规划路径,还能导出机器人训练数据。支持 Claude Code、Claude 桌面版、Codex 和 Cursor。
官网 ·快速上手 ·示例提问 ·自托管 · MCP 文档 ·参与贡献
演示 v1:一段针对内置离线模拟器的真实 Claude Code(Opus)会话,右侧是同步的场景面板。视频:docs/demo/demo-video-v1.mp4。由 docs/demo/ 通过 VHS 渲染。
手持视频的实时重建:相机轨迹和 3D 场景同步生长。扫描演示与最初的技术思路来自 VGGT-SLAM(Dominic Maggio、Hyungtae Lim、Luca Carlone,MIT SPARK 实验室);Open Reality 的重建核心建立在他们的工作之上。
✨ 它能做什么
| 🎥 视频进,3D 场景出 | 上传一段手机视频,几分钟后得到一个持久保存的 3D 场景:几何结构、相机轨迹、检测到的物体,还有一份文字报告。 |
| 📏 诚实的测量 | 测任意两点间的距离和角度。只有在你用一段真实距离校准之后,数字才会以米为单位;在那之前它们会被明确标注为相对单位,绝不冒充。
展开完整文档(README 剩余 1 节)
用手机扫一个房间,然后让你的 AI 助手回答关于它的问题。
Open Reality 把普通视频变成 3D 场景:AI 可以测量它、在里面规划路径,还能导出机器人训练数据。支持 Claude Code、Claude 桌面版、Codex 和 Cursor。
官网 ·快速上手 ·示例提问 ·自托管 · MCP 文档 ·参与贡献
演示 v1:一段针对内置离线模拟器的真实 Claude Code(Opus)会话,右侧是同步的场景面板。视频:docs/demo/demo-video-v1.mp4。由 docs/demo/ 通过 VHS 渲染。
手持视频的实时重建:相机轨迹和 3D 场景同步生长。扫描演示与最初的技术思路来自 VGGT-SLAM(Dominic Maggio、Hyungtae Lim、Luca Carlone,MIT SPARK 实验室);Open Reality 的重建核心建立在他们的工作之上。
✨ 它能做什么
| 🎥 视频进,3D 场景出 | 上传一段手机视频,几分钟后得到一个持久保存的 3D 场景:几何结构、相机轨迹、检测到的物体,还有一份文字报告。 |
| 📏 诚实的测量 | 测任意两点间的距离和角度。只有在你用一段真实距离校准之后,数字才会以米为单位;在那之前它们会被明确标注为相对单位,绝不冒充。 |
| 🧭 路径规划 | 在扫描出的可通行空间里规划一条到某个物体或某个点的路线;目标不可达时会诚实报错。 |
| 🤖 机器人训练数据导出 | 一条命令把扫描变成 LeRobot / GR00T 风格的数据集,或 Isaac Sim / MuJoCo 场景(托管服务)。 |
| 🕵️ 场景智能体 | 服务端智能体自动巡视、标注并回答关于场景的问题,预算有上限,事件日志可回放。 |
| 🛠️ 给 AI 的 42 个工具 | 一切都通过 MCP(Model Context Protocol,AI 助手调用外部工具的标准协议)暴露出来,Claude、Codex、Cursor 都能用自然语言驱动整个流程。 |
| 🧪 离线模拟器 | 一个假后端用内置数据模拟完整流程,开发和演示不需要账号,也不需要 GPU。 |
| 🏠 可以自托管 | 完整服务端可以跑在你自己的 GPU 机器或你自己的 Modal 账号上,不需要我们的账号。 |
🚀 60 秒上手
把工具加进你的 AI 助手(会启动一个小的本地进程,不做全局安装):
Claude Code
claude mcp add --scope user openreality -- npx -y openreality-mcp serve
Codex
codex mcp add openreality -- npx -y openreality-mcp serve
Claude 桌面版 / Cursor(点击展开)
把下面的配置加进 claude_desktop_config.json(设置 → Developer → Edit Config)或 ~/.cursor/mcp.json:
{
"mcpServers": {
"openreality": {
"command": "npx",
"args": ["-y", "openreality-mcp", "serve"]
}
}
}
Claude Code 插件 / Claude 桌面版一键扩展(点击展开)
Claude Code 插件(一步装好 MCP 服务器和工作流技能):
/plugin marketplace add reality-opened/openreality
/plugin install openreality@openreality
Claude 桌面版扩展:从最新 release 下载 openreality-mcp-<version>.mcpb,双击它,或者把它拖进 Claude 桌面版窗口。不需要打开终端。
然后登录一次(会打开浏览器,并在你的机器上保存一个可随时吊销的 API key):
npx -y openreality-mcp login
用手机在 open-reality.io 扫一个房间,或者直接让助手上传一个视频文件。
各客户端的完整配置见 open-reality.io/mcp。
💬 你可以这样问
连接之后,直接对助手说:
“上传 ~/Videos/kitchen.mp4 并重建它。”
“我最新的扫描里有哪些物体?这个房间有多大?”
“台面边缘到窗户是 2.4 米。先校准场景,然后量一下沙发。”
“规划一条从门到书桌的路径,并描述它。”
“把这个扫描导出成机器人训练数据,把 zip 存到本地。”
🏠 自己部署
整个流程都可以自托管。完整文档见 server/docs/self-hosting.md;简短版:
git clone https://github.com/reality-opened/openreality
cd openreality/server
路线 A:你自己的 GPU 机器(单进程,本地磁盘)
python -m server.selfhost --data-dir ~/openreality-data
路线 B:你自己的 Modal 账号(CPU 网络服务 + GPU 工作进程) modal deploy modal_selfhost.py
自托管的服务端不需要注册账号:首次启动打印的一个 token 就是你的登录凭证, MCP 客户端用 OPENREALITY_URL 加这个 token 连接。
[!IMPORTANT]
许可说明。 本仓库采用 BSD-2-Clause 协议,但自托管服务端下载的 3D 重建模型(VGGT-1B 权重及其运行代码)由其所有者按 CC BY-NC 4.0(仅限非商业用途)授权。本仓库不二次分发它们;你的服务端会按对方的条款从源头获取。
商业用途请使用托管服务(它运行的是商业授权的模型),或自行向模型所有者取得授权。
📦 仓库里有什么
| 目录 | 是什么 | 发布形式 |
| mcp/ | MCP 服务器:42 个工具、场景资源、离线模拟器和完整测试套件。直接在本仓库开发。 | npm openreality-mcp |
| server/ | 后端:把视频变成持久场景,并通过普通 REST API 提供测量、规划、智能体和导出。 | 源码(公开镜像) |
| core/ | 3D 重建库:从普通视频做相机跟踪和稠密几何(VGGT-SLAM 2.0 系列),外加公制校准、物体检测和 splat 导出。 | 源码(公开镜像) |
server/ 和 core/ 是我们私有工作仓库的精选镜像,人工同步;每个目录里的 MIRROR.md 写明了收录内容和同步方式。mcp/ 直接在本仓库开发。
🧠 工作原理
flowchart LR
A["📱 手机视频"] --> B["服务端:3D 重建(GPU 任务)"]
B --> C[("持久场景:几何 + 物体 + 报告")]
C --> D["42 个 MCP 工具"]
D --> E["🤖 Claude / Codex / Cursor"]
E -->|"测量 · 导航 · 导出"| D
MCP 进程永远跑在你自己的机器上,凭证也保存在本地;每个工具调用都是对服务端(我们的或你自己的)的一次类型化 REST 请求。大文件写到你的磁盘,绝不塞进 AI 的上下文。服务端的拒绝和不确定性标注会原样到达 AI,它没法把相对单位说成米。
这条测量规则的来龙去脉见 为什么我们的 3D 工具在你证明之前拒绝说“米”(英文)。
🙏 致谢
Open Reality 建立在他人的研究和代码之上。感谢:
- VGGT-SLAM(Dominic Maggio、Hyungtae Lim、Luca Carlone,MIT SPARK 实验室)。core/ 里的重建核心是 VGGT-SLAM 2.0 系列,上面的扫描演示也来自他们。
- VGGT(Meta AI),自托管服务端按其许可自行获取的前馈式 3D 骨干模型(见上面的许可说明)。
- Depth Anything V2,我们用来消除地图分段之间尺度漂移的公制深度模型。
- gsplat(Nerfstudio 项目),splat 导出中可选的 GPU 精修。
- SAM 3(Meta AI)用于分割;SAM 3D Objects 和 TRELLIS(Microsoft)用于托管服务上的物体补全和变体生成。
- LeRobot(Hugging Face)、NVIDIA GR00T 和 Isaac Sim,我们的机器人训练数据导出以它们的数据集和场景格式为目标。
- GTSAM 提供因子图优化,cordis 提供插件运行时,以及 MCP TypeScript SDK。
🧑💻 开发
cd mcp && npm install && npm test # 59 个测试:单元、契约、生命周期、端到端
cd server && python -m pytest tests/ # 1200+ 个无 GPU 测试
cd mcp && npm run simulator # 假后端跑在 :8973,不需要 GPU 和账号
每次 push 都会在 CI 里跑全部三套测试。
🤝 参与贡献
欢迎对任何组件提 issue 和 PR。mcp/ 的改动直接在这里合并;server/ 和 core/ 的修复会先合入私有工作仓库,再同步回来。如果你在自托管时遇到问题,带日志的 issue 就是最好的礼物:自托管路径还很年轻。
⚖️ 许可
本仓库内的一切均为 BSD-2-Clause。第三方模型由你的部署按其所有者的条款自行获取(见上面的许可说明和 server/docs/self-hosting.md)。
由 reality-opened 打造 · open-reality.io预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
reality-opened/openreality
用手机扫一个房间,然后让你的 AI 助手回答关于它的问题。
相关插件 · 视觉能力
智能体工作台Devin-AXIS/iPolloWork
企业级、本地优先的智能体工作台,面向个人和智能体团队——一个工作区,容纳多个智能体引擎;一套统一体系,管理插件和技能;支…
★ 7,359已汉化DSH
72
开源设计工作台nexu-io/open-design
OpenDesign:首个协作式 AI 设计智能体工作区
★ 105,514已汉化DSH
71.8
多智能体编码工作区spacering-net/codeg
多智能体协作的 AI 编程工作区:汇总 Claude Code、Codex、OpenCode、Pi、Grok Build 等来源的会话。支持桌面应用、自托管服务器或 Docker。
★ 4,289已汉化DSH
71.6
GPT 图像提示词库freestylefly/awesome-gpt-image-2
Prompt as Code | GPT Image 2 / 2.5 提示词与案例库,530+ 个案例、20+…
★ 34,534已汉化DSH
71.5
架构图生成器tt-a1i/archify
把你想理解、规划或分享的事,变成可以互动的可视化作品。
★ 92,675已汉化DSH
71.2
AI 用量桌面小部件Javis603/token-monitor
EN | 简 | 繁 | KO | JA | PT
★ 3,522已汉化DSH
71