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

交互卡片 MjxUpUp/dsh-visual

DeepSeek Harness
MjxUpUp5 天前有提交已提供中文文档扫描:未发现敏感能力

在会话里发布可交互卡片并等待用户提交结果

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

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · vision
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 5 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

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

扫描于 2026/10/31(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-tools@deepseek-ai/dsh-typert-protocol
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

DeepSeek Harness 的交互式可视化卡片:模型内联发布 HTML 或流程图,工具会阻塞等待用户提交,评论、字段和状态作为工具结果返回。

README

由 DeepSeek 最新模型翻译生成
dsh-visual 在 DeepSeek Harness 会话里放交互卡片。模型发布一张自包含的 HTML 卡片(或一张可拖拽的流程图),工具会一直阻塞,直到用户提交,用户的点击、评论、表单字段和卡片状态都会作为工具结果返回。 没有助手文本,没有聊天消息,没有产物预览——消息流里就是一张真卡片。 dsh-visual card 特性 - 阻塞式,不是发完就走。 visual 会一直挂起,直到用户提交,所以答案以工具结果的形式到达,智能体在同一轮里继续往下走。 - 卡片可写脚本。 内联 通过一个小桥接(dshVisual.root、dshVisual.setState)按卡片执行,卡片因此能自己切换状态、校验、预填。 - 结构化答案。 按钮(data-visual-action)、输入框(data-visual-field)、评论和卡片状态合并成一个 JSON 答案。 - 带定位的评论。 右键任意元素就能留评论;答案里带上该元素的选择器和标签,模型因此清楚每条备注说的是什么。 - 流程编辑器。 不传 HTML,改传 flow 图:拖节点、双击改名、连线、删除,然后把编辑后的图交回来。 - 并行安全。 同一轮里的多张卡片各有自己的桥接和状态,互不串扰。 - 可取消、有时限。 timeoutMs 和停止按钮会把卡片变成只读,而不是一直挂着。
展开完整文档(README 剩余 1 节)
dsh-visual

在 DeepSeek Harness 会话里放交互卡片。模型发布一张自包含的 HTML 卡片(或一张可拖拽的流程图),工具会一直阻塞,直到用户提交,用户的点击、评论、表单字段和卡片状态都会作为工具结果返回。

没有助手文本,没有聊天消息,没有产物预览——消息流里就是一张真卡片。

dsh-visual card

特性

- 阻塞式,不是发完就走。 visual 会一直挂起,直到用户提交,所以答案以工具结果的形式到达,智能体在同一轮里继续往下走。
- 卡片可写脚本。 内联 通过一个小桥接(dshVisual.root、dshVisual.setState)按卡片执行,卡片因此能自己切换状态、校验、预填。
- 结构化答案。 按钮(data-visual-action)、输入框(data-visual-field)、评论和卡片状态合并成一个 JSON 答案。
- 带定位的评论。 右键任意元素就能留评论;答案里带上该元素的选择器和标签,模型因此清楚每条备注说的是什么。
- 流程编辑器。 不传 HTML,改传 flow 图:拖节点、双击改名、连线、删除,然后把编辑后的图交回来。
- 并行安全。 同一轮里的多张卡片各有自己的桥接和状态,互不串扰。
- 可取消、有时限。 timeoutMs 和停止按钮会把卡片变成只读,而不是一直挂着。

环境要求

- DeepSeek Harness 0.1.0-rc.1 及更新版本,低于 0.3(含预发布构建)
- Node.js 20 或更新版本

安装

dsh plugin --profile desktop add dsh-visual

重启一次 DeepSeek Harness,让宿主侧加载。之后改动 lib/client.js 只需刷新页面(⌘R)。

本地开发时,改为链接目录:

dsh plugin --profile desktop add /path/to/dsh-visual
dsh plugin --profile desktop remove dsh-visual # uninstall

快速开始

用大白话要一张卡片:

用 visual 发一张发布确认卡,让我选版本并留一句备注

模型大致会这样调用工具:

{
"title": "发布确认", "height": 360, "html": "发 0.1.1 到 npm?发先别发",
"actions": [{ "id": "approve", "label": "发" }, { "id": "hold", "label": "先别发" }],
"timeoutMs": 600000
}
用户点击后,工具返回一个 answer 对象:

{
"action": "approve",
"payload": { "fields": { "note": "记得打 tag" } },
"state": { "checks": ["install"] },
"comments": [{ "selector": "h3", "label": "h3", "text": "标题再短一点" }]
}

参数

| 参数 | 类型 | 说明 |
| title | string | 卡片头部标题。 |
| html | string | 完整、自包含的 HTML 文档。样式作用域隔离;脚本按卡片分别运行。 |
| flow | object | 流程图 {nodes, edges},渲染成可编辑画布,替代 HTML。 |
| data | object | 初始状态,以 dshVisual.data 暴露给卡片脚本。 |
| height | number | 卡片初始高度,单位 px(160–900)。卡片可以自行调整大小。 |
| actions | array | 动作注册表 {id, label},用于底部操作条和按钮文案。 |
| timeoutMs | number | 等待提交的时长(默认 10 分钟,最长 1 小时)。 |

除 html 或 flow 二选一外,其余字段都可选。

卡片协议

按钮与字段

- data-visual-action="id" —— 点击后提交该动作,同时带上字段、状态和评论。
- data-visual-field="name" —— 提交时从卡片读取,放在 answer.payload.fields 下返回。
- 底部始终显示一个中性的 交还 按钮(answer.action = "done")。它不表示批准:评审卡片应自带明确的 approve/revise 动作。

脚本与状态

(function (dshVisual) {
var state = Object.assign({ on: false }, dshVisual.data || {})
dshVisual.root.querySelector('.toggle').addEventListener('click', function () {
state.on = !state.on
this.textContent = state.on ? '开' : '关'
dshVisual.setState(state) // returned as answer.state
})
})(dshVisual)

每张卡片都按 new Function('dshVisual', source)(bridge) 编译,所以并行卡片之间看不到彼此的状态。

评论

在卡片内任意元素上右键,输入备注,就会以编号固定下来。返回结果通过 answer.comments 携带它们,格式为 { selector, label, text }。

超时与取消

timeoutMs 到期后,调用返回 action: "timeout";停止本轮对话则返回 action: "cancelled"。两种情况卡片都会变为只读,底部会说明原因。

开发

npm run check # syntax of both entries + docs/code consistency guard
npm pack --dry-run # inspect the published file list

客户端部分是手写的模块加载器 bundle,无需构建步骤。

发布

发布自动完成:推送 v* 标签会触发 release 工作流,它会校验 npm run check、带 provenance 发布到 npm,并创建 GitHub Release。

npm version patch # or minor / major
git push --follow-tags

工作流需要仓库密钥 NPM_TOKEN,且对 dsh-visual 包有发布权限。

许可证

MIT © MjxUpUp
预览分享卡片长什么样 ↓MjxUpUp/dsh-visual
分享 · DeepSeek Harness Hub
MjxUpUp/dsh-visual

在会话里发布可交互卡片并等待用户提交结果

回到顶部