任何 Editor,皆可成为 DSH Editor:用 MCP Apps 打通编辑、保存与 Agent 回读 #2424
wangcan26
started this conversation in
Show Your Plugins!
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
我做了两个社区项目:
@creative-dswork/dsh-mcp-apps:让 DeepSeek Harness Web UI 运行标准 MCP Apps;threejs-editor-mcp:一个带项目存储、revision 和 app-only 工具的 Three.js Editor MCP Server。我想验证一种协作方式:不同领域继续使用自己的 Editor;开发者通过 MCP Apps 把它们接入 Agent Chat。用户完成可视化编辑并保存后,Agent 读取同一份项目状态和操作记录,再继续工作。
统一的是 Editor 的运行入口、会话上下文和人机交接协议。
34 秒 Demo
这段录制使用了真实 Agent 回复:
classic调成wide,再把相机从broadcast调成overhead。push_project保存新 revision 和两条操作记录,然后发送标准ui/message。inspect_project,读到最新 revision、布局、视角和人工操作,再说明它看到的变化以及后续计划。从用户视角看,Editor 留在当前任务内。Agent 收到准确的项目状态和操作记录。
什么是 DSH Editor
DSH Editor指通过 MCP Apps 接入 DSH 的领域 Editor。它保留自己的 UI、数据模型和交互方式,同时获得四个协作能力:Three.js 只是当前的验证样例。同样的模式可以用于 CAD、流程图、关卡、数据建模或其他带结构化项目状态的 Editor。
实现
@creative-dswork/dsh-mcp-apps是一个可安装的 Cordis bundle。它同时提供 Host 插件、Browser bundle 和 profile patch,通过 Harness 的公开插件与 Session API 完成交接,并在进程内连接 MCP Server、托管 View。当前实现覆盖:
2026-01-26和text/html;profile=mcp-app;ui://Resource、AppBridge 生命周期和 App 发起的工具/资源调用;ui/message交接和受限 JSON 下载;Three.js Server 将项目保存在本地。人工保存和模型修改都检查 revision;同一项目的写入会串行执行,并通过临时文件 rename 提交。Editor 还支持层级树、Viewport 拾取、变换控件、Inspector、撤销/重做、资源导入和项目导出。
安全边界
Harness UI 和 Sandbox Proxy 使用不同的 loopback origin。MCP App View 运行在双层 iframe 中;Host 通过 HTTP CSP、sandbox 属性以及
postMessagesource/origin 校验限制 View。Host API 拒绝跨源写入,并限制请求体和 metadata 大小。工具可见性将模型工具与 app-only 工具分开。Three.js Server 还会校验项目路径、revision、资源大小、MIME、文件签名和 symlink。
完整安全图和限制:
安装
dsh plugin --profile web add @creative-dswork/dsh-mcp-apps git clone https://github.com/creativedswork/threejs-editor-mcp.git cd threejs-editor-mcp pnpm install pnpm run buildHost 已发布到 npm。Three.js Editor Server 目前从源码运行。在 Harness Web profile 的
cordis.patch.yml中配置其构建产物:Three.js Editor 需要 Node.js 22.19 或更高版本,以及 pnpm 10.25。
启动:
项目链接:
Related community work
社区里已经有两个相邻方向:
本文聚焦第三个问题:如何把已有的持久化领域 Editor 作为标准 MCP App 接入 Agent Chat,并让人和 Agent 围绕同一个项目 revision 协作。
下一步我会验证
threejs-editor-mcp在不同 MCP Apps Host 上的基础互操作,区分标准协议能力和 Host 扩展能力。当前限制
ui/message当前只接受文本;两个项目均采用 MIT License,由社区独立维护。
我想收集两类反馈:
All reactions