新闻详情

新闻详情

首页 / 资讯中心 / 详情

Pascal Editor MCP Agent 嵌入实战:InMemoryTransport 十六行代码连通客户端与服务器

发布时间:2026/11/14 20:13:17来源:尧图网络
Pascal Editor MCP Agent 嵌入实战:InMemoryTransport 十六行代码连通客户端与服务器
Pascal Editor MCP Agent 嵌入实战InMemoryTransport 十六行代码连通客户端与服务器【免费下载链接】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 嵌入的话Pascal Editor MCP 的 InMemoryTransport 是最顺的路子把服务器塞进自己的进程不拉子进程、不占端口十六行代码Agent 就多出建墙、门窗、摆家具的完整 3D 建模能力。第一幕 · 为什么进程内嵌入省掉三类开销stdio 接 MCP 服务器的痛不在协议在进程pascal-mcp得自己 spawn进程一死连接就断崩溃恢复、僵尸进程清理都得按单客户端配置重写一遍。HTTP 路线解决了多客户端共享却把成本搬到了网络上端口占用、绑定范围、鉴权 token 都得操心。对一个单进程的内部 Agent 来说这些都是不必要的弯路。InMemoryTransport 是第三条路createLinkedPair()给出一对首尾相连的传输端点服务器连一头客户端连另一头消息全程走内存没有进程要管也没有端口要监听。一句话客户端和服务器同进程时进程内嵌入是唯一不用为进程付费就能拿到完整能力的接法。第二幕 · 16 行代码连通客户端与服务器写代码前先认三个对象。SceneBridge是无头场景桥直连pascal-app/core的 Zustand store。所有变更走真实 store被 Zundo 天然捕获成可撤销步骤undo/redo 不用额外处理。调一次loadDefault()场景就种好了 Site → Building → Level 层级立即可查。createPascalMcpServer是服务器工厂。把桥传进去得到一个装好全部 tools、resources、prompts 的McpServer实例暴露的能力与 stdio、HTTP 版一致。InMemoryTransport提供内存传输对调createLinkedPair()两端即连通。最小接入路径长这样import { createPascalMcpServer, SceneBridge } from pascal-app/mcp import { Client } from modelcontextprotocol/sdk/client/index.js import { InMemoryTransport } from modelcontextprotocol/sdk/inMemory.js const bridge new SceneBridge() bridge.loadDefault() // 播种默认场景Site → Building → Level 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)]) // 两端接通 const tools await client.listTools() console.log(tools.tools.map((t) t.name)) const scene await client.callTool({ name: get_scene, arguments: {} })官方示例是可编译运行的完整版bun run packages/mcp/examples/embed-in-agent.ts直接跑。第三幕 · 把 LLM 的工具调用接回场景图接通之后工具调用的路由权完全在你手里。常见接法分两步先把listTools()的工具清单转成 function-calling 定义喂给模型再把模型决策解析成{name, arguments}交给callTool()结果作为观察回灌上下文——这就是一轮 ReAct 的思考 → 行动 → 观察。由于传输对的两端同处一个事件循环一次思考加一次行动不离开进程延迟自然比子进程管道低。值得先上手感受的几个工具get_scene拉整张场景图Agent 每轮开工先问它create_wall用两个 2D 端点落墙建错了undo一步退回apply_patch把批量创建、更新、删除做成一次原子提交适合隔个墙、铺个地这种整间操作export_json把场景图序列化既可持久化也能喂给下游。第四幕 · 从 Demo 到生产存储、审计与上生产前要知道的四个坑 注入 store 获得 save/load 工具createPascalMcpServer接受store选项。传任意一个 SceneStore 接口实现save、load、list、delete 等save_scene、load_scene、list_scenes这类持久化工具就会挂上服务器。不想自己写包内自带 createSceneStore底座是本地 SQLite。把底层数据库换成 Supabase 或自己的服务接口不变。用 executeTool 做审计与耗时统计传executeTool回调每次工具调用都会经过你拿到name和AbortSignal需要放行再调execute()。审计日志、计时、权限拦截都能挂在这里const server createPascalMcpServer({ bridge, store: await createSceneStore(), // 内置本地 SQLite executeTool: async ({ name, execute }) { const t0 performance.now() try { return await execute() } finally { console.log([audit] ${name} ${(performance.now() - t0).toFixed(1)}ms) } }, })operations 层深度定制要改整套场景操作层的行为可传operations选项整体替换见 operations/。但九成嵌入场景走不到这一步。上生产前必知的四个坑坐标约定写几何代码前先记住右手系、Y 朝上、X/Z 是地面平面长度米、旋转弧度。2D 平面点[x, z]直接映射世界坐标第二个分量是世界的 Z深度不是上。细节见 coordinate-conventions-demo.md。版本冲突与编辑器共享数据目录时每次写入都带版本检查别人先存了新版本工具报live_sync_version_conflict用load_scene重载再继续。能力边界建模工具里唯一不能用的是export_glb——依赖浏览器渲染器无头环境只会返回not_implemented。视觉工具如analyze_floorplan_image要求宿主支持 sampling 能力不支持会收到sampling_unavailable。内存管理无头模式没有渲染器消费dirtyNodes队列它会一直涨关心节点更新的话定期调bridge.flushDirty()排空。一句话串起三步链路SceneBridge 提供无头 3D 场景createPascalMcpServer 在它身上装好 30 建筑建模工具InMemoryTransport 把两端在进程内接通你的 Agent 循环就能像调普通函数一样驱动整张场景图。延伸阅读examples/ 目录下的生成公寓、照片转场景等案例以及 packages/mcp/README.md 里的完整工具与资源清单。【免费下载链接】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/14 3:51:47

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

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

阅读更多 →
无法下载Windows系统iso文件 2026/11/12 23:59:09

无法下载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/14 17:14:38

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/14 3:51:43

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

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

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

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

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