pascalorg/editor

Open-source 3D architectural editor with a local CLI, MCP tools, and practical workflows for humans and AI agents.

Pascal Editor – 内置 AI 代理钩子的本地优先 3D 建筑编辑器

简介 – Pascal 是一个基于 React Three Fiber 和 WebGPU 支持的 Three.js 渲染器构建的开源浏览器/桌面 3D 建筑编辑器。它在本地运行(无需云),可以通过简单的 CLI 命令启动。编辑器公开了一个 Model Context Protocol(MCP)服务器,允许外部 AI 代理(例如 Claude、Codex)与场景对话、运行工具并查询几何体。

核心组件

作用
@pascal-app/core 模式、场景状态(Zustand)、注册表契约、空间查询
@pascal-app/viewer 3D 渲染、相机/控制、后处理
@pascal-app/editor UI 面板、选择管理器、编辑工具(墙壁、楼板、物品、区域)
@pascal-app/cli 安装程序、进程管理器、持久化本地数据(~/.pascal/data/pascal.db
@pascal-app/mcp 通过类型化协议向 AI 代理公开场景操作的 HTTP 服务器
@pascal-app/nodes 内置节点定义(墙壁、地板、物品等)
@pascal-app/capture-* 用于导入/导出场景的可选捕获会话格式
apps/editor 将上述包捆绑为可运行应用的 Next.js 主机

工作原理

  1. CLI 启动npx @pascal-app/cli editor 在空闲回环端口启动 Next.js 编辑器和后台 MCP 服务。
  2. 场景模型 – 节点是扁平对象(idtypeparentId 等),存储在 Zustand 存储(useScene)中。更改持久化到 IndexedDB,并可通过 Zundo 撤销/重做。
  3. 渲染 – React-Three-Fiber 组件(NodeRendererWallRenderer 等)创建 Three.js 对象并注册到快速查找注册表(sceneRegistry)中。
  4. 系统 – React 组件每帧(useFrame)运行,仅重新计算存储中标记为的节点的几何体,从而保持更新成本低廉。
  5. AI 集成 – MCP 服务器实现了基于 JSON 的协议,AI 代理可以调用(pascal mcp connectpascal mcp setup claude)。pascal-3dfurniture-fit 等技能通过 skills.sh 市场分发,允许代理无需 API 密钥即可调用场景编辑操作。

主要功能

  • 本地优先:无需外部服务;所有数据都存储在用户机器上。
  • WebGPU 加速 3D:使用 React Three Fiber + Drei 进行实时渲染。
  • 插件系统 – 开发人员可以将新的节点类型、工具或侧面板作为 npm 包发布,编辑器在运行时加载。
  • AI 就绪 MCP – 一个标准 HTTP 端点,描述场景状态、接受工具命令并返回验证结果,从而实现“AI 辅助设计”工作流。
  • 版本化单体仓库 – Turborepo 管理 core、viewer、editor、CLI 和 MCP 包;每个包都可以独立发布到 npm。
  • 撤销/重做与持久化 – Zundo 提供 50 步历史记录;IndexedDB 在会话之间存储场景。

快速开始

# 快速安装(Node ≥22.13)
npx @pascal-app/cli editor   # 启动编辑器 + MCP

开发需要在仓库根目录使用 Bun(或 pnpm):

bun install          # 安装所有工作区
bun dev              # 监视 + 启动 Next.js 开发服务器(http://localhost:3002)

构建和发布:

turbo build                     # 构建所有包
npm publish --workspace=@pascal-app/core   # 对其他包重复

典型用例

  • 建筑师或室内设计师在没有云依赖的情况下快速创建 3D 布局。
  • 研究人员原型设计需要操作 3D 场景的 AI 代理(例如,“将椅子靠墙放置”)。
  • 插件作者使用领域特定节点(树木、暖通空调、照明)扩展编辑器。
  • 希望为协作设计提供确定性、版本控制环境的团队(使用单独的 PASCAL_HOME 目录运行多个 MCP 实例)。

AI 代理工作流示例

  1. 安装技能包:npx skills add pascalorg/editor --skill pascal-3d
  2. 启动本地 MCP 服务器(pascal mcp setup claude)。
  3. 在 Claude Code 中运行 /mcp connect – 插件自动将代理指向本地 MCP 端点。
  4. 代理现在可以发出诸如 createNode({type:"wall", …})runTool("ItemTool", {item:"chair", position:[1,0,2]}) 之类的命令,并立即收到视觉反馈。

了解更多


以上信息均直接取自仓库的 README;未推断任何额外功能。

相关

  • 项目
  • 项目
  • 项目
  • 项目