新闻详情

新闻详情

首页 / 资讯中心 / 详情

如何把 Pascal Editor 的 MCP 服务器塞进自己进程:零子进程、零端口的内存传输实战

发布时间:2026/11/16 7:02:52来源:尧图网络
如何把 Pascal Editor 的 MCP 服务器塞进自己进程:零子进程、零端口的内存传输实战
如何把 Pascal Editor 的 MCP 服务器塞进自己进程零子进程、零端口的内存传输实战【免费下载链接】editorOpen-source 3D architectural editor with a local CLI, MCP tools, and practical workflows for humans and AI agents.项目地址: https://gitcode.com/GitHub_Trending/editor93/editor当你自己的 Agent 框架要处理 3D 建筑建模任务时第一反应通常是另起一个 pascal-mcp 子进程走 stdio 对话。这条路能走通但会引入进程管理、端口占用和跨进程往返延迟。更轻的路径是Pascal Editor 的 pascal-app/mcp 能把服务器直接塞进你的 Node 或 Bun 进程模型当场获得整套建筑建模能力。选型判断三种传输方式的取舍MCP 协议里客户端和服务器的通信有三种走法。stdio 面向 Claude Desktop 这类配置式外部客户端HTTP 面向多客户端共享与跨机访问。Agent 和服务器同进程时内存传输的优势最直白不用管进程生命周期不怕端口占用也不留僵尸对外暴露的 tools、resources、prompts 与另外两种完全一致不用维护两套接入逻辑测试环境里秒级搭起客户端加服务器这对组合就能完整跑一轮对话代价同样直白这种模式只适合“Agent 和服务器同进程”的场景。需要多客户端共享同一份服务器或者客户端在机器外面就回 HTTP。跑通最小链路三个对象和一对端点整条链路用到的东西一个无头场景桥 SceneBridge一个服务器工厂 createPascalMcpServer再加 InMemoryTransport 造出的内存传输对。官方示例 embed-in-agent.ts 可以直接编译运行核心接入代码就这么多const bridge new SceneBridge() bridge.loadDefault() const server createPascalMcpServer({ bridge }) const [srvT, cliT] InMemoryTransport.createLinkedPair() const client new Client({ name: my-agent, version: 0.1.0 }) await Promise.all([server.connect(srvT), client.connect(cliT)])链路背后有两个细节。第一SceneBridge 不是新造的数据层它直接操作核心包的全局 store改动全部落在真实数据上所以撤销、重做开箱即用Zundo 把每次工具调用记成一个可回退的步骤。第二loadDefault() 会预先种好站点、建筑、楼层三层骨架客户端一启动就有东西可查实现细节在 bridge/scene-bridge.ts 里。链路打通后Agent 立刻拿到 30 多个建模工具入参全部经过 Zod 校验。get_scene、find_nodes、describe_node 负责看场景图create_level、create_room、create_wall 负责楼层、房间和墙体add_door、add_window、cut_opening 处理门窗与开洞place_item 放目录模型furnish_room 自动布置整间房apply_patch 一次原子提交批量增改删undo 和 redo 在时间轴上来回validate_scene 加 check_collisions 管校验与碰撞export_json 把场景落成 JSON。工具之外还有 5 个资源场景快照、建造工作流指南等和 3 个提示模板例如 from_brief 把一段文字需求转成增量补丁序列。跑通之后接进你自己的模型决策环内嵌的价值在于工具路由完全发生在你自己的代码里。第一步是把工具清单整体交给模型作为 function-calling 定义。模型返回工具名和参数你把它递给 callTool()再把返回值当作观察结果喂回去“思考 → 调用 → 观察”的循环就转起来了。中间没有进程所以“思考 → 调用 → 读场景 → 再思考”可以全挤在同一个事件循环里往返速度明显快于跨进程通信。官方示例走了一遍完整链路找到默认楼层、建一根 5 米的墙、一步撤销、校验场景、导出 JSON这套顺序可以直接改成你 Agent 的冒烟脚本。钩子注入自定义存储与工具审计基础能力不够时createPascalMcpServer 的选项对象留了三个扩展点类型定义见 server.ts持久层。给一个满足 SceneStore 接口的存储实现save、load、list、delete 四个动作服务器自动解锁 save_scene、load_scene、list_scenes 这类持久化能力。不想自己写的话包里带了一个现成的 SQLite 工厂 createSceneStore()参考 storage/index.ts想把数据放进 Supabase 或自研数据库实现同一套接口即可客户端零改动。执行包裹。executeTool 钩子给每次工具调用套一层壳你能拿到 name、AbortSignal 和原始执行函数审计日志、耗时统计、权限拦截都往这里塞const server createPascalMcpServer({ bridge, store: await createSceneStore(), executeTool: ({ name, execute }) { console.log([audit] ${name}) return execute() }, })操作层。想重写整套场景操作的行为把 operations 对象整个换掉即可上面这层工具注册逻辑不受影响。无头环境的边界与暗坑坐标是右手系X/Z 铺在地面平面Y 向上长度用米角度用弧度。二维点 [x, z] 能直接填进世界坐标省一步换算。如果你的 MCP 和编辑器共用同一份数据目录写入会附带版本核对。撞车时返回 live_sync_version_conflict用 load_scene 把状态重新对齐再往下走。无头模式不是全功能环境。GLB 导出依赖浏览器渲染器无头环境里调它只会拿到 not_implementedanalyze_floorplan_image 这类视觉工具要求宿主提供 sampling 能力。还有一个容易忽略的点无头运行下 dirtyNodes 这类脏标记只增不减盯着内存或想做可观测性时用 flushDirty() 清一遍。想动手试最快的方式是在仓库里执行 bun run packages/mcp/examples/embed-in-agent.ts客户端与服务器的完整对跑一条命令就结束剩下的事就是把 LLM 决策环换成你自己的。【免费下载链接】editorOpen-source 3D architectural editor with a local CLI, MCP tools, and practical workflows for humans and AI agents.项目地址: https://gitcode.com/GitHub_Trending/editor93/editor创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

【外设】之大彩串口显示屏 2026/11/15 4:54:16

【外设】之大彩串口显示屏

大彩串口屏初步使用 1 .官网下载 STM32 屏幕 GUI 设计资料 http://www.gz-dc.com/category/typeid/4112 找到 STM32 Keil 工程,移植相关代码因项目而异进行移植,由于项目简单,本人只对用到的指令接口进行修改。 比如:注意事项&…

阅读更多 →
无法下载Windows系统iso文件 2026/11/15 2:04:12

无法下载Windows系统iso文件

当我遇到这个问题的时候,我打开了一个网站: 登录 然后我打算下载的时候: 突然那个官方的连接就可以下载了:

阅读更多 →
【清华代码熊】DeepSeek V4.1 Flash 后训练详解 2026/11/14 10:11:15

【清华代码熊】DeepSeek V4.1 Flash 后训练详解

📌 上期解析了 DeepSeek V4.1 Flash 模型架构改进,本期解析 DeepSeek V4.1 Flash 预训练/后训练技术: 🌟 预训练:45T 文本 多模态混合语料、直接训练 sparse attention(取消 DeepSeek V4 的 dense 冷启动&…

阅读更多 →
Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ... 2026/11/16 6:47:19

Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ...

文章主要内容和创新点 主要内容 本文聚焦于多模态大语言模型(MLLM)强化学习(RL)训练中的效率问题,提出了一个名为Shuffle-R1的框架。研究发现,当前RL训练存在两个关键缺陷: 优势值坍缩(Advantage Collapsing):批次中大多数优势值集中在零附近,导致有效梯度信号被淹…

阅读更多 →
PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction 2026/11/14 16:35:50

PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction

一、文章主要内容总结 本文聚焦于利用大型语言模型(LLMs)实现个人身份信息(PII)脱敏的研究,旨在解决传统脱敏方法(如基于规则的系统、领域特定命名实体识别(NER)模型)泛化能力差、跨格式/跨语境适应性弱的问题。 研究通过全面评估多种LLM架构(包括密集型LLM(D-LLM…

阅读更多 →
LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model 2026/11/15 4:06:36

LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model

文章主要内容和创新点 主要内容 本文聚焦于二进制图像-文本相关性评估任务(判断图像与文本“相关”或“不相关”),针对该任务中文本格式多样、相关性定义随场景变化等挑战,提出了基于多模态大语言模型(MLLM)的解决方案LLaVA-RE。 模型设计:LLaVA-RE基于LLaVA 1.5架构,…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉