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 主機 |
運作方式
- CLI 啟動 –
npx @pascal-app/cli editor在空閒回環連接埠啟動 Next.js 編輯器和背景 MCP 服務。 - 場景模型 – 節點是扁平物件(
id、type、parentId等),儲存在 Zustand 儲存(useScene)中。變更持久化到 IndexedDB,並可透過 Zundo 復原/重做。 - 渲染 – React-Three-Fiber 元件(
NodeRenderer、WallRenderer等)建立 Three.js 物件並註冊到快速查詢註冊表(sceneRegistry)中。 - 系統 – React 元件每幀(
useFrame)執行,僅重新計算儲存中標記為髒的節點的幾何體,從而保持更新成本低廉。 - AI 整合 – MCP 伺服器實作了基於 JSON 的協定,AI 代理可以呼叫(
pascal mcp connect、pascal mcp setup claude)。pascal-3d和furniture-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 代理工作流程範例
- 安裝技能套件:
npx skills add pascalorg/editor --skill pascal-3d。 - 啟動本地 MCP 伺服器(
pascal mcp setup claude)。 - 在 Claude Code 中執行
/mcp connect– 外掛自動將代理指向本地 MCP 端點。 - 代理現在可以發出諸如
createNode({type:"wall", …})或runTool("ItemTool", {item:"chair", position:[1,0,2]})之類的命令,並立即收到視覺回饋。
了解更多
- 文件 – https://editor.pascal.app/docs/developers/local-editor
- 外掛指南 – https://editor.pascal.app/docs/developers/plugins
- 範例外掛 – https://github.com/pascalorg/plugin-trees
- Discord 社群 – https://discord.gg/XRKsDcpqgS
以上資訊均直接取自儲存庫的 README;未推斷任何額外功能。
相關
- 專案
- 專案
- 專案
- 專案