🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

MCP 应用宿主 sugarforever/dsh-mcp-apps

DeepSeek Harnessv0.1.1
sugarforever79 天前有提交已提供中文文档扫描:未发现敏感能力

把 MCP 工具渲染成对话里的交互式应用

34.5/100
综合分
4
GitHub 星标
37
npm 周下载
—/5
用户评分

数据截至 2026/9/19 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add @sugarforever/dsh-mcp-apps
npm 源 · @sugarforever/dsh-mcp-apps 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · ui
装得上吗
静态安装检查通过
未做真实安装
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 79 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包@sugarforever/dsh-mcp-apps @ 0.1.1
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/1 04:57:42

安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

发起外部网络请求
查看扫描证据(共 15 处,展示前 6 条)
  • 发起网络请求
    lib/client.js:6064
    return await this.request(r$1, resultSchema, requestOptions);
  • 发起网络请求
    lib/client.js:6205
    result: await this.request(request, resultSchema, options)
  • 发起网络请求
    lib/client.js:6217
    const createResult = await this.request(request, CreateTaskResultSchema, options);
  • 发起网络请求
    lib/client.js:6381
    return this.request({
  • 发起网络请求
    lib/client.js:6392
    return this.request({
  • 发起网络请求
    lib/client.js:6403
    return this.request({
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh-client-connection@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-test-runtime@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-client-ui-tool@deepseek-ai/dsh-timeout@deepseek-ai/dsh-tools
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 渲染MCP工具为交互应用
  • 支持MCPApps
v0.1.12026-08-15
DeepSeek Harness MCP Apps 插件首次公开发布。 · 连接 stdio 和 Streamable HTTP 的 MCP 服务器 · 把 MCP 工具注册到 DeepSeek Harness · 在沙箱化的 Web Client iframe 里渲染 MCP Apps · 附带 VibeFun 配置示例和安装文档
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。

README

由 DeepSeek 最新模型翻译生成
DeepSeek Harness MCP Apps @sugarforever/dsh-mcp-apps 是一个双面 Cordis 插件,它使 DeepSeek Harness 成为 MCP Apps 宿主。 Host 部分连接到一个 MCP Server,将其对模型可见的工具注册到 ctx.tools 上,并负责所有 MCP 网络或 stdio 流量。Web Client 部分将带有 _meta.ui.resourceUri 的工具渲染为 Harness 对话中的沙箱化交互式 App。 支持的功能 - MCP Apps 扩展协商:io.modelcontextprotocol/ui - text/html;profile=mcp-app UI 资源 - 现代 _meta.ui.resourceUri 和旧版 _meta["ui/resourceUri"] - stdio 和 Streamable HTTP MCP 传输 - 对模型可见、对 App 可见以及仅 App 可用的工具 - 向 View 传递原始 CallToolResult,包括 structuredContent - View 到 Server 的 tools/call、resources/list 和 resources/read
展开完整文档(README 剩余 1 节)
DeepSeek Harness MCP Apps

@sugarforever/dsh-mcp-apps 是一个双面 Cordis 插件,它使 DeepSeek Harness 成为 MCP Apps 宿主。

Host 部分连接到一个 MCP Server,将其对模型可见的工具注册到 ctx.tools 上,并负责所有 MCP 网络或 stdio 流量。Web Client 部分将带有 _meta.ui.resourceUri 的工具渲染为 Harness 对话中的沙箱化交互式 App。

支持的功能

- MCP Apps 扩展协商:io.modelcontextprotocol/ui
- text/html;profile=mcp-app UI 资源
- 现代 _meta.ui.resourceUri 和旧版 _meta["ui/resourceUri"]
- stdio 和 Streamable HTTP MCP 传输
- 对模型可见、对 App 可见以及仅 App 可用的工具
- 向 View 传递原始 CallToolResult,包括 structuredContent
- View 到 Server 的 tools/call、resources/list 和 resources/read
- 资源 CSP 元数据和 iframe Permission Policy 请求
- 针对工具、连接、RPC 路由、Slot 和 App 桥接的 Cordis 生命周期释放

普通 MCP 工具仍然是普通的 Harness 工具。MCP Server 不需要为每个工具都提供 UI。

安装 DeepSeek Harness

DeepSeek Harness 目前需要 Node.js ^22.19.0 或 >=24.0.0。其 profile 插件管理器还会调用 pnpm;请安装当前 DSH 版本所使用的版本:

npm install --global pnpm@11.7.0

然后无需全局安装 DSH 即可启动 Web profile:

npx @deepseek-ai/dsh web

Web UI 默认在 提供服务。首次运行会在 ~/.dsh/profiles/web 下初始化 web profile(当设置了 DSH_HOME 时则为 $DSH_HOME/profiles/web)。

安装插件

将已发布的包安装到 DSH Web profile 中:

npx @deepseek-ai/dsh plugin --profile web add @sugarforever/dsh-mcp-apps

对于本地开发,改为安装此检出目录:

npx @deepseek-ai/dsh plugin --profile web add /absolute/path/to/dsh-mcp-apps

你也可以安装从 GitHub Release 下载的 tarball:

npx @deepseek-ai/dsh plugin --profile web add ./sugarforever-dsh-mcp-apps-0.1.2.tgz

该包是一个 DSH bundle。安装它还会应用其捆绑的 cordis.patch.yml,默认将公共 VibeFun MCP Apps 服务器挂载到 https://vibefun.app/api/mcp。

要连接其他服务器,请编辑已安装 profile 中的补丁文件 ~/.dsh/profiles/web/cordis.patch.yml,并替换生成的实例配置。相关条目为:

- insert:
- id: mcp-apps-vibefun
name: '@sugarforever/dsh-mcp-apps'
config:
serverName: vibefun
transport: streamable-http
url: https://vibefun.app/api/mcp
failOnStartupError: true

启动或重启 DSH 并打开 :

npx @deepseek-ai/dsh web

要移除包依赖:

npx @deepseek-ai/dsh plugin --profile web remove @sugarforever/dsh-mcp-apps

插件管理器还会移除该包所贡献的 bundle 补丁。
配置 stdio 服务器

创建 mcp-apps.cordis.yml:

- insert:
- id: mcp-apps-vibefun
name: '@sugarforever/dsh-mcp-apps'
config:
serverName: vibefun
transport: stdio
command: node
args: ['/absolute/path/to/your-mcp-server.js']
env:
VIBEFUN_API_KEY: !!js process.env.VIBEFUN_API_KEY
failOnStartupError: true

使用覆盖层运行 Harness Web 配置文件:

dsh web --patch "$PWD/mcp-apps.cordis.yml"

配置 Streamable HTTP 服务器

- insert:
- id: mcp-apps-vibefun
name: '@sugarforever/dsh-mcp-apps'
config:
serverName: vibefun
transport: streamable-http
url: http://127.0.0.1:3000/mcp
headers:
Authorization: !!js 'Bearer ${process.env.VIBEFUN_MCP_TOKEN}'
failOnStartupError: true

浏览器永远不会接收到 URL、命令、请求头、环境变量或凭据。其包级私有的 RPC 通道仅限回环地址。

开发

npm install
npm test
npm run typecheck
npm run build

集成测试会启动一个真实的 stdio MCP Apps 服务器,并验证发现、工具执行、结构化输出、资源读取和拆卸。

发布

该仓库包含 .github/workflows/publish.yml。发布 GitHub Release 会运行完整的发布门禁,创建 npm tarball,将其作为工作流产物和 GitHub Release 资产上传,并将同一个 tarball 发布到 npm。重新运行是安全的:当该确切的 npm 版本已存在时,工作流会跳过不可变的 npm 发布,并且仍会完成 GitHub 产物。

该工作流使用 npm Trusted Publishing 与 GitHub OIDC,因此不需要 NPM_TOKEN 密钥。

一次性 npm 设置

1. 如果 @sugarforever/dsh-mcp-apps 在 npm 上尚不存在,请在本地发布第一个版本:

npm login
npm ci
npm test
npm run typecheck
npm run build
npm pack --dry-run
npm publish --access public

2. 在 npmjs.com 上,打开该包的 Settings → Trusted Publisher,选择 GitHub Actions,并配置:

- 组织或用户:sugarforever
- 仓库:dsh-mcp-apps
- 工作流文件名:publish.yml
- 允许的操作:npm publish

3. 除非工作流也更新为使用该确切的 GitHub 环境,否则不要添加环境名称。

发布新版本

更新并提交包版本,然后推送匹配的标签:

npm version patch
git push origin main --follow-tags

为该标签创建并发布 GitHub Release。例如,包版本 0.1.1 必须使用标签 v0.1.1。发布 Release 会触发工作流;标签不匹配会在 npm 发布之前失败。

在创建 Release 之前,可以在本地运行相同的检查:

npm ci
npm test
npm run typecheck
npm run build
npm pack --dry-run

架构

Model ── native Harness tool ── Host MCP Client ── MCP Server
│ │
│ loopback RPC │ ui:// resource
▼ │
Harness Web 工具卡片 ── AppBridge ── 沙箱化 iframe View

参见 docs/architecture.md 和 docs/security.md。

当前限制

- 一个插件实例拥有一个 MCP Server。挂载多个实例以对应多个 Server。
- UI 工具发现发生在 Client 插件激活时。Server 更改其 UI 工具列表需要 Client 刷新或插件重新加载。
- Prompts、sampling、downloads、external-link opening 和 model-context updates 尚未向 Apps 暴露。
- App HTML 通过 srcdoc 加载;Apps 应提供自包含的 HTML,或在资源 CSP 元数据中声明每一个远程源。
- 当前 iframe 路径面向 Web 客户端。Headless 和 ACP 入口点仍会接收这些工具,但没有内嵌的 App 界面。

协议参考

- MCP Apps 概述
- 官方 MCP Apps SDK
- DeepSeek Harness

许可证

MIT
预览分享卡片长什么样 ↓sugarforever/dsh-mcp-apps
分享 · DeepSeek Harness Hub
sugarforever/dsh-mcp-apps

把 MCP 工具渲染成对话里的交互式应用

回到顶部