editor

pascalorgMIT活跃维护

浏览器里就能用的开源 3D 建筑设计软件,面向 AECO 行业,支持扫描转 BIM,还能通过 MCP 和 CLI 让 AI Agent 直接操作建模流程。

Open-source 3D architecture software for AECO, scan-to-BIM. Agent-friendly, browser-first, MCP, CLI.

@pascal-app/[email protected]发布于 2026-11-08 03:26 UTC25,420star +39 / 7 天3,159fork同步于 2026-11-10 05:21 UTC

怎么上手

由 README 提炼,执行前请确认
npm install --global @pascal-app/cli
npx @pascal-app/cli editor
硬件要求按 README 说明

README 未说明显存或 GPU 型号要求;编辑器基于 WebGPU,需浏览器支持 WebGPU。本地 CLI 需 Node.js 22.23.4+(22.x)、24.22.1+(24.x)或 26.12.1+。

有 Docker 镜像
下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

开源浏览器端 3D 建筑编辑器,支持 scan-to-BIM 与 AI 代理读写场景

浏览器里就能用的开源 3D 建筑设计软件,面向 AECO 行业,支持扫描转 BIM,还能通过 MCP 和 CLI 让 AI Agent 直接操作建模流程。

核心能力

  • 在浏览器中建模场地、楼层、墙体、楼板、屋顶与房间
  • 导入 3D 扫描作为参考层,在其上叠加可编辑构件
  • 通过 MCP 让 AI 代理读取、编辑、校验并保存同一场景
  • 提供 CLI 本地运行,项目数据存于本机 SQLite
  • 支持 IFC 导入并转换为原生 Pascal 场景节点

容易踩的坑

首次启动编辑器会下载 Web 运行时,离线主机需用 --runtime 指定目录或压缩包;本地 MCP 服务同一时刻只应连接一个代理客户端,并发工作需分开 PASCAL_HOME 与进程;托管端点需账号授权或 API key,部分操作消耗 Pascal credits。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本@pascal-app/[email protected]
  1. @pascal-app/[email protected]最新正式版2026-11-08 · 2026-11-08 03:26 UTC

    The Pascal web editor runtime for @pascal-app/[email protected]. The CLI downloads pascal-web-runtime-1.0.7.tar.gz the first time a command starts the editor and verifies it against the digest published inside the npm package. Offline installs can pass the archive directly: pascal editor --runtime pascal-web-runtime-1.0.7.tar.gz.

  2. @pascal-app/[email protected]2026-10-23 · 2026-10-23 00:51 UTC
    查看更新说明

    The Pascal web editor runtime for @pascal-app/[email protected]. The CLI downloads pascal-web-runtime-1.0.6.tar.gz the first time a command starts the editor and verifies it against the digest published inside the npm package. Offline installs can pass the archive directly: pascal editor --runtime pascal-web-runtime-1.0.6.tar.gz.

  3. @pascal-app/[email protected]2026-10-22 · 2026-10-22 04:02 UTC
    查看更新说明

    The Pascal web editor runtime for @pascal-app/[email protected]. The CLI downloads pascal-web-runtime-1.0.5.tar.gz the first time a command starts the editor and verifies it against the digest published inside the npm package. Offline installs can pass the archive directly: pascal editor --runtime pascal-web-runtime-1.0.5.tar.gz.

  4. @pascal-app/[email protected]2026-10-13 · 2026-10-13 12:11 UTC
    查看更新说明

    The Pascal web editor runtime for @pascal-app/[email protected]. The CLI downloads pascal-web-runtime-1.0.4.tar.gz the first time a command starts the editor and verifies it against the digest published inside the npm package. Offline installs can pass the archive directly: pascal editor --runtime pascal-web-runtime-1.0.4.tar.gz.

  5. v1.0.3v1.0.3 — Export and visibility fixes2026-09-24 · 2026-09-24 16:38 UTC
    查看更新说明

    1.0.3 brings all seven @pascal-app/* packages to the same version on npm latest and carries the export and visibility fixes into one coordinated release.

    🐛 Fixes

    • GLB and USDZ exports now finish or return an actionable timeout instead of remaining in progress indefinitely (#888).
    • A hidden Site no longer empties GLB exports, PDF exports or the 2D plan; child visibility remains independent (#907).
    • Container node visibility now applies consistently in the 3D viewer (#908).
    • The CLI starts the runtime belonging to its own published version (#893).

    🧰 Release

    • The release workflow now aligns all seven package versions and internal ranges (#909).
    • Package repository URLs and the MCP executable path were corrected (#911).

    📦 Packages

    PackageVersion
    @pascal-app/core1.0.3
    @pascal-app/viewer1.0.3
    @pascal-app/editor1.0.3
    @pascal-app/nodes1.0.3
    @pascal-app/mcp1.0.3
    @pascal-app/ifc-converter1.0.3
    @pascal-app/cli1.0.3

    The CLI downloads its checksummed portable runtime from the @pascal-app/[email protected] release asset.

    🙏 Thanks

    Full changelog: https://github.com/pascalorg/editor/compare/v1.0.0...v1.0.3

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    Pascal Editor — open-source 3D architecture software for AECO

    Create and edit 3D building models in your browser, run Pascal locally with its CLI, or connect AI agents through the Model Context Protocol (MCP).

    Pascal Editor is a local-first, MIT-licensed building editor for architecture, engineering, construction, and operations (AECO) work. Model sites, buildings, levels, walls, slabs, roofs, openings, rooms, and furniture; bring 3D scans in as reference layers for scan-to-BIM workflows and model editable building elements over them; and let an agent read, edit, validate, and save the same scenes. Built with React Three Fiber and WebGPU.

    MIT License npm @pascal-app/core npm @pascal-app/viewer npm @pascal-app/cli Discord X (Twitter)

    https://github.com/user-attachments/assets/063c0891-9ae5-4173-bd08-a101d9c3352b

    Start here

    Connect an AI agent (MCP)

    MCP is an open protocol that lets AI assistants call tools in other applications; Pascal's MCP server gives an agent tools to inspect, edit, validate, and save building scenes.

    Choose where the projects live:

    • Local (no account) — the Pascal CLI runs an MCP service on your machine. Agents connect with pascal mcp connect, projects stay in ~/.pascal/data/pascal.db, and nothing is uploaded. No Pascal account or API key is needed.
    • Hosted workspace — https://editor.pascal.app/api/mcp works in your Pascal account or organization and needs that account's authorization. How a client authenticates depends on the client: the Cursor plugin uses browser sign-in, while Claude Code, Codex, and other clients send an API key created in Pascal Settings. Some hosted operations, such as Architect runs, consume Pascal credits.

    The local commands below need the pascal command on your PATH (Node.js 22.23.4+ on 22.x, 24.22.1+ on 24.x, or 26.12.1+):

    npm install --global @pascal-app/cli
    

    [!IMPORTANT] Use one active agent client per local CLI service. The standalone local HTTP runtime shares active scene state between clients; use separate PASCAL_HOME directories and service processes when independent concurrent work is required. The hosted endpoint uses a separate session-isolated bridge.

    Claude Code

    Register the local server (this runs claude mcp add --scope user pascal -- pascal mcp connect):

    pascal mcp setup claude
    

    Or install the plugin, which bundles the skills, the local pascal server, and a hosted pascal-hosted server that prompts for an optional Pascal API key and stores it in the OS keychain (leave it empty to stay local-only):

    /plugin marketplace add pascalorg/editor
    /plugin install pascal-agent-skills@pascal
    

    Use one or the other. Claude Code 2.1.258 loads both the user-scoped pascal server created by pascal mcp setup claude and the plugin-provided server. Remove the manual entry before reloading or restarting Claude Code so only the plugin owns the connection lifecycle:

    claude mcp remove --scope user pascal
    

    Use /mcp to remove or disable any project- or local-scoped Pascal connection too. Leaving both connections active violates the one-active-agent-client-per-local-service requirement.

    Cursor

    Install Pascal from the Cursor marketplace. It adds the skills, a local pascal server launched through npx (no global install needed), and a hosted pascal-hosted server. For hosted work, open Customize → MCPs and choose Authenticate beside pascal-hosted; Pascal opens in your browser to sign in and choose a workspace. No API key is needed. Leave pascal-hosted disconnected for local-only work.

    Without the plugin, add the servers you want to .cursor/mcp.json:

    {
      "mcpServers": {
        "pascal": {
          "type": "stdio",
          "command": "npx",
          "args": ["--yes", "--package=@pascal-app/cli", "pascal", "mcp", "connect"]
        },
        "pascal-hosted": {
          "type": "http",
          "url": "https://editor.pascal.app/api/mcp",
          "auth": {
            "CLIENT_ID": "pascal-cursor",
            "scopes": ["openid", "profile", "offline_access", "scene:read", "scene:write", "architect:run"]
          }
        }
      }
    }
    

    The plugin's own configuration is .cursor-plugin/mcp.json.

    Codex

    Register the local server (this runs codex mcp add pascal -- pascal mcp connect):

    pascal mcp setup codex
    

    Or install the plugin, which adds the skills and the same local server:

    codex plugin marketplace add pascalorg/editor
    codex plugin add pascal-agent-skills@pascal
    

    For a hosted workspace, register the endpoint with an API key held in an environment variable (Codex stores the variable name, not the key):

    codex mcp add pascal-hosted \
      --url https://editor.pascal.app/api/mcp \
      --bearer-token-env-var PASCAL_API_KEY
    

    Other MCP clients

    Print the generic configuration with pascal mcp config:

    {
      "mcpServers": {
        "pascal": {
          "command": "pascal",
          "args": ["mcp", "connect"]
        }
      }
    }
    

    The connector discovers the local service's port and private token itself. Check it with pascal mcp status or pascal doctor. For hosted access, point a Streamable HTTP client at https://editor.pascal.app/api/mcp with an Authorization: Bearer <api key> header.

    Agent skills

    Install with skills

    The plugins above include Pascal's public agent workflows. To install only the skills with skills.sh:

    npx skills add pascalorg/editor \
      --skill pascal-3d \
      --skill furniture-fit
    

    pascal-3d covers safe local or hosted MCP setup and verified scene work. furniture-fit produces a bounded, evidence-based footprint assessment. OpenClaw installation becomes available after the skills are published under Pascal's ClawHub publisher.

    More on agents

    Run the editor locally

    Create a persistent local Pascal installation without cloning this repository:

    npx @pascal-app/cli editor
    

    The CLI starts the editor and an authenticated MCP service in the background, selects collision-free loopback ports, and keeps projects in ~/.pascal/data/pascal.db. The web editor runtime is downloaded once per version on the first command that starts the editor and verified against a digest published inside the package; pascal mcp connect needs no download. See Run Pascal locally for pnpm/Bun commands, project management, updates, offline installs, storage paths, and troubleshooting.

    Self-host it

    The editor ships as one container, ghcr.io/pascalorg/pascal-editor, tagged with the same version as the npm packages (latest follows stable releases). Projects live in SQLite under /data; one admin password protects the instance; PASCAL_PUBLIC_URL is read at runtime, so the same image serves any domain.

    docker run -d -p 3000:3000 -v pascal-data:/data \
      -e PASCAL_ADMIN_PASSWORD=change-me \
      -e PASCAL_PUBLIC_URL=https://pascal.example.com \
      ghcr.io/pascalorg/pascal-editor:latest
    

    See SETUP.md, "Self-hosting" for the compose file, the variables, agent access and public embeds.

    Use the published packages

    Install the full built-in viewer set, then load the built-in plugin once before mounting <Viewer>:

    npm install @pascal-app/core @pascal-app/viewer @pascal-app/editor @pascal-app/nodes
    
    import { loadPlugin } from '@pascal-app/core'
    import { builtinPlugin } from '@pascal-app/nodes'
    
    await loadPlugin(builtinPlugin)
    

    See the @pascal-app/viewer quick start for a React example, and @pascal-app/editor to embed the full editor. Capture sessions ship as the optional @pascal-app/core/capture and @pascal-app/viewer/capture subpaths. @pascal-app/ifc-converter converts IFC files into Pascal scene graphs.

    Develop from source

    Run from the repository root so the package watchers hot-reload changes in packages/*:

    bun install
    bun dev   # builds the packages, watches them, and serves the editor at http://localhost:3002
    

    Build everything with turbo build, or one package with turbo build --filter=@pascal-app/core. See SETUP.md for prerequisites and environment variables, docs/architecture.md for how the packages fit together, and docs/releasing.md for npm, container, and MCP Registry publishing.

    Build a plugin

    A plugin ships node kinds (schema, 3D/2D rendering, placement tools, inspector parametrics) and left-rail panels through the same Plugin manifest the built-ins use. Start with the plugin guide and the worked example pascalorg/plugin-trees.

    A first look at Pascal Next

    Explore the live demo — a real home reconstructed in detail, from its rooms and finishes to the structure and systems behind the walls. This hosted preview explores the direction of the next Pascal editor; the experience shown here is not yet part of the open-source editor release.

    Exploded view — see how the home fits togetherCut view — slice through the building
    Roof lifted above the reconstructed homeA section cut reveals the roof framing and interior
    X-ray — reveal the modeled systemsWalkthrough — step inside at eye level
    Building systems isolated with the walls hiddenWalking through the home toward the pool terrace
    Interactions — open doors and exploreEnvironment — change the light and atmosphere
    Interacting with doors in the reconstructed homeChanging the lighting around the reconstructed home

    We are exploring what this could make possible for facility management, home services, architecture, home building, and infrastructure. Join the discussion on X and tell us where you would use it.

    Making a video, tutorial, article, or social post about Pascal? You are welcome to use and edit this footage, including in monetized content, under CC BY 4.0. Credit Pascal, link the license, and note your edits; no separate permission is needed. Download the six original videos and see the creator guide.

    FAQ

    What is Pascal Editor? An open-source 3D building editor for architecture, engineering, construction, and operations. It runs in the browser, locally through its CLI, or self-hosted, and exposes the same scenes to AI agents over MCP.

    Is it free and open source? Yes. The editor, packages, CLI, and MCP server in this repository are MIT-licensed. Hosted services at editor.pascal.app are separate from the open-source release and have their own account terms.

    Does it work offline? The local CLI keeps projects on your machine, and its MCP service needs no network download. Starting the editor downloads its web runtime once per version; for a host without network access, pass --runtime <directory-or-archive>. See the local editor documentation.

    How do AI agents connect? Through MCP. Local agents run pascal mcp connect with no account; hosted workspaces use https://editor.pascal.app/api/mcp with the client's sign-in or API key. See Connect an AI agent (MCP).

    Does it support IFC? IFC import is provided by @pascal-app/ifc-converter, which converts IFC files into Pascal scene graphs. Sites, buildings, levels, walls, doors, windows, slabs, columns, and spaces become native Pascal nodes when their parameters can be recovered; other elements are kept as selectable imported meshes.

    Contributing

    Bug fixes, features, docs and ideas are all welcome. Start with CONTRIBUTING.md for setup, code style and the PR flow.

    • New node kinds and sidebar panels ship as plugins rather than edits to the built-ins
    • Questions and ideas go to Discussions; reproducible bugs go to Issues
    • Participation is covered by our Code of Conduct
    • Security problems go to SECURITY.md, not a public issue

    Contributors