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

界面容器 CH4ACKO3/dsh-ui-container

DeepSeek Harness
CH4ACKO381 天前有提交已提供中文文档扫描:无法判定

跨进程投射 UI 表面,按需同步文档变更

27.3/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

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

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add CH4ACKO3/dsh-ui-container
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么[目录]—
dsh 原生插件 · ui
暂无时间戳·判据 →
装得上吗[实装验证]!
实装验证未通过(unknown),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
数据截至 2026/10/09·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/03·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 81 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

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

验证判据与等级说明 →

可信度证据

⚠︎ 实装验证未通过(unknown · 2026/10/9) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
安全扫描自动 · 静态分析源码
v2.7.0
⚪ 扫描:无法判定尚无人工评估
展开查看扫描说明与证据 ↓

已尝试扫描但取不到可分析的源码:仓库或包不存在、已删除,或为非 JS/TS 实现、未随包发布源码。无法判定,不代表安全。

  • · 取源不可用(Error: github tarball HTTP 404 @ https:
  • · api.github.com
  • · repos
  • · CH4ACKO3
  • · dsh-ui-container
  • · tarball)
扫描于 2026/11/3(1 天前)

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

社区实装还没有人打卡 · 装过的第一个就是你
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-client-runtime
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 跨进程投射UI表面
  • 按需同步文档变更
  • 远程递归界面容器

面向 DeepSeek Harness 的可远程递归 UI 界面容器

README

由 DeepSeek 最新模型翻译生成
dsh-ui-container 用于 DeepSeek Harness 浏览器插件的可复用视觉与服务容器。它拥有具名 UI 表面、文档提供者、递归 React 宿主,以及连接另一个前端所需的小型远程协议,而无需传输 DOM 或组件树。 将该插件安装到 DeepSeek Harness 配置文件中: dsh plugin --profile web add github:CH4ACKO3/dsh-ui-container 此命令作用于配置文件范围,可从任意目录运行。 Git 依赖会运行此包的 prepare 构建。使用 pnpm 10 或更新版本时,请在配置文件的 pnpm-workspace.yaml 中批准首次安装所报告的确切包键,然后重复该命令。注册表发布版本和打包产物不需要该批准。 其他浏览器插件从 @ch4acko3/dsh-ui-container/client 导入其公共 API,并注入 uiContainer Cordis 服务。 远程传输 @ch4acko3/dsh-ui-container 可以跨进程或网络边界投射容器。远程契约传输文档快照和变更通知;它从不传输 React 元素、DOM 节点或 Cordis 服务对象。 能力 协议版本 1 在强制握手期间协商以下能力: - documents 解析基于 URI 的文档投射。
展开完整文档(README 剩余 1 节)
dsh-ui-container

用于 DeepSeek Harness 浏览器插件的可复用视觉与服务容器。它拥有具名 UI 表面、文档提供者、递归 React 宿主,以及连接另一个前端所需的小型远程协议,而无需传输 DOM 或组件树。

将该插件安装到 DeepSeek Harness 配置文件中:

dsh plugin --profile web add github:CH4ACKO3/dsh-ui-container

此命令作用于配置文件范围,可从任意目录运行。

Git 依赖会运行此包的 prepare 构建。使用 pnpm 10 或更新版本时,请在配置文件的 pnpm-workspace.yaml 中批准首次安装所报告的确切包键,然后重复该命令。注册表发布版本和打包产物不需要该批准。

其他浏览器插件从 @ch4acko3/dsh-ui-container/client 导入其公共 API,并注入 uiContainer Cordis 服务。

远程传输

@ch4acko3/dsh-ui-container 可以跨进程或网络边界投射容器。远程契约传输文档快照和变更通知;它从不传输 React 元素、DOM 节点或 Cordis 服务对象。

能力

协议版本 1 在强制握手期间协商以下能力:

- documents 解析基于 URI 的文档投射。
- subscriptions 订阅一个 URI,并在其投射可能已更改时发送一个小型失效通知。
- surface_commands 将打开、显示和关闭命令路由到已挂载的表面会话。服务器必须选择启用此能力;默认情况下它处于禁用状态。

文档解析包含一个可选的 known_revision。当它与当前服务器修订版本匹配时,响应为 not_modified,且不包含文档负载。变更通知仅包含订阅 id 和 URI。随后客户端会再次解析文档,因此网络使用量取决于实际数据变更,而非所渲染组件树的大小或嵌套深度。

所有远程文档内容和元数据必须与 JSON 兼容。渲染器保留在接收方前端内部,并在本地渲染投射。

跨进程连接

将 MessagePort 用于 Worker、iframe 桥接或宿主 IPC 适配器:

const hostChannel = createMessagePortUiRemoteChannel(hostPort)
const clientChannel = createMessagePortUiRemoteChannel(clientPort)

const stopServing = exposeUiContainerRemote(ctx.uiContainer, hostChannel, {
server: {
name: 'patchouli-host',
version: '0.1.0',
instance_id: crypto.randomUUID(),
},
})

const remote = await UiContainerRemoteClient.connect(clientChannel, {
client: {
name: 'patchouli-window',
version: '0.1.0',
instance_id: crypto.randomUUID(),
},
protocol_versions: [UI_REMOTE_PROTOCOL_VERSION],
capabilities: ['documents', 'subscriptions'],
})

const unregister = ctx.uiContainer.documents.registerProvider(
remote.createDocumentProvider('memory'),
)

将 unregister、remote 和 stopServing 与拥有这些端口的生命周期一起释放。
网络连接

网络所有者首先接受并认证 WebSocket,然后通过该套接字暴露容器:

webSocketServer.on('connection', (socket, request) => {
const principal = authenticate(request)
if (!principal) return socket.close(1008, 'Unauthorized')

const channel = createWebSocketUiRemoteChannel(socket)
exposeUiContainerRemote(ctx.uiContainer, channel, {
server: {
name: 'patchouli-host',
version: '0.1.0',
instance_id: processInstanceId,
},
capabilities: ['documents', 'subscriptions'],
})
})

浏览器客户端可以直接连接:

const remote = await connectUiContainerWebSocket('wss://host.example/ui', {
client: {
name: 'patchouli-web',
version: '0.1.0',
instance_id: crypto.randomUUID(),
},
protocol_versions: [UI_REMOTE_PROTOCOL_VERSION],
capabilities: ['documents', 'subscriptions'],
})

该传输层有意不定义认证。拥有 WebSocket 端点的应用程序必须在调用 exposeUiContainerRemote 之前强制执行认证、授权、TLS 和来源策略。服务器应仅对允许控制所寻址前端会话的主体启用 surface_commands。

线路契约

消息采用 JSON-RPC 2.0。方法名携带其主版本号:

ui.container.handshake@1
ui.container.document.resolve@1
ui.container.document.subscribe@1
ui.container.document.unsubscribe@1
ui.container.document.changed@1 # server notification
ui.container.surface.open@1
ui.container.surface.reveal@1
ui.container.surface.close@1

src/client/remote-protocol.ts 中的 TypeScript 定义是规范性的线路模式。一个连接只允许一次握手,并且之后的每个方法都必须属于已协商的能力。
预览分享卡片长什么样 ↓CH4ACKO3/dsh-ui-container
分享 · DeepSeek Harness Hub
CH4ACKO3/dsh-ui-container

跨进程投射 UI 表面,按需同步文档变更

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部