DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
F

dsh-fuse

Fuse

在聊天中渲染完整页面(登录页、仪表板、表格、表单);导出为独立 HTML。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:KLRSL/dsh-fuse#5f610231e3b915dec9ea9531b07bf0a826a447e4
README兼容性版本
示例:把一段 JSON 渲染成运营看板

兼容性与来源证明

Fuse 以 dsh-fuse 发布,当前版本为 2.0.6。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/11/4

版本

2.0.6stable
2026/11/4
2.0.5stable
2026/10/24
1.2.4stable
2026/9/20
查看其余 4 个版本收起版本
1.2.3stable
2026/9/16
1.2.1stable
2026/9/5
1.0.2stable
2026/9/3
1.0.1stable
2026/8/28

相关插件

正在加载相关插件…

最新版
2.0.6
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 1
周下载
0
最近提交
2026/11/4
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 ui-customization 分类下经过校验的插件。

Plugin Wallpaper Enginedsh-plugin-wallpaper-engineDSH web GUI 的 Wallpaper Engine 背景:将本地 Wallpaper Engine 壁纸渲染到聊天背景中——通过内置的 WebWallGL 引擎实时渲染 Scene 和 Web,直接播放 Video——配备 iOS 风格的液态玻璃效果,可调节模糊/遮罩/bClaude Designdsh-claude-designDeepSeek Harness 插件:来自 baoyu-design 的 claude-design 技能。智能体将画板画布写入文件,并在本地画布编辑器中打开它们。Claude Slidesdsh-claude-slidesDeepSeek Harness 插件:来自 baoyu-design 的 claude-slides 技能。代理会将可编辑的幻灯片演示文稿写入文件,并在本地幻灯片编辑器中打开。Genui@changfenhuang/dsh-genuiDeepSeek Harness 的 GenUI:通过 ```dsh-ui``` 代码围栏在助手回复中内嵌渲染交互式 UI 组件——布局、图表、绘图、表单、测验、mermaid、3D 场景,以及回传给模型的操作事件循环。随附用于教授代码围栏的主机插件

README

dsh-fuse

对话里写一段 JSON,就长出一页能点的界面;看完可以导成 HTML 带走。

v2.0.6 · MIT License · DSH 0.2.x(>=0.2.0-rc.2 <0.3.0-0,0.2.1-rc.3 桌面版实测)· Node ^22.19.0 或 >=24.0.0


示例:把一段 JSON 渲染成运营看板

上面这张图不是画的:它就是下面那段 JSON 交给渲染器之后的输出(tests/make-preview.mjs 生成独立 HTML,再用无头浏览器截图),所以和你在对话里看到的完全一致。


它做什么

在回答正文里写一个 dsh-fuse 代码围栏,围栏内容是 JSON 规格;宿主把"规格长什么样"注入系统提示词,浏览器端把规格渲染成真页面——卡片直接出现在对话里,工具条上可以导出成单页 HTML、切换桌面/手机宽度。

能力

  • 围栏渲染:10 种页面类型——login_form / signup_form / dashboard / settings_page / table_page / landing_page / profile_card / pricing_page / modal / form
  • 三态兜底:流式生成中显示骨架屏;规格非法显示错误卡(原因 + 原始 JSON 折叠);正常则渲染
  • 导出 HTML:工具条「导出 HTML」下载自包含单页,无外链、无运行时依赖
  • 宽度切换:桌面 / 手机(420px)两档
  • 交互回传:带 action 的 button/input/select/textarea/checkbox/radio 点击后以 [fuse-action] 名字 回传会话
  • 主题令牌:config/theme.json 三套主题——default(松绿 + 陶土 + 纸白)、apple(中性灰 + 墨绿)、dark(暖石墨 + 鼠尾草绿 + 琥珀);3 色 + 中性色,4/8 栅格,字号 12/14/16/20/28/36/48

规格

{"type":"dashboard","title":"今日运营","theme":"default","components":[
  {"type":"row","components":[
    {"type":"stat","value":"1,284","label":"今日新增"},
    {"type":"stat","value":"96.2%","label":"任务成功率"}
  ]},
  {"type":"card","title":"月度目标","components":[
    {"type":"progress","label":"完成度","value":68,"max":100}
  ]},
  {"type":"card","title":"近 5 日","components":[
    {"type":"chart","kind":"bars","data":[{"label":"一","value":12},{"label":"二","value":18}]}
  ]}
]}

上面这张预览图对应的就是这段 JSON。容器(row / card / grid / …)里写子节点时,components 和 items 都认。

字段必填说明
type是根节点必须是上面 10 种页面类型之一
title否页面标题
theme否default / apple / dark,缺省 default
components是组件树,容器类型(page/card/grid/row/col/section/form)可递归嵌套
context否{product, audience, task},用于适配语气
actions否底部主操作条 [{action,label,tone}],每页一个主操作

预算:组件总数(含嵌套)≤ 60,嵌套深度 ≤ 8;超限整份拒绝渲染并显示错误卡(不静默截断)。

组件白名单(34 个,只认这些): page card grid row col nav header footer section tabs hero text badge stat list table divider avatar chart steps loading skeleton progress alert timeline code form input select textarea checkbox radio button link

安装

npm pack                     # 产出 dsh-fuse-2.0.6.tgz
dsh plugin --profile desktop add --offline file:<你的路径>/dsh-fuse-2.0.6.tgz
  • 改完 JS 必须重打包 + 重装 + 重启 DSH(ESM 模块缓存,热更不生效)。
  • 卸载:dsh plugin --profile desktop remove dsh-fuse(注意这会连 profile 的 bundles 条目一起删掉,重装后要确认包名还在数组里)。

结构

文件职责
index.mjs(93 行)宿主半区:注册系统指令段(order 106)+ ctx.inject(['webServer']) 懒注入 GET /api/fuse/config
spec.mjs(73 行)页面类型 / 组件白名单 / 容器类型 / 预算 / 系统指令正文;summarizeTheme() 把令牌压成模型可见的紧凑文本
lib/client.js(1173 行)浏览器半区:单文件零依赖渲染器(校验 → 解析 → 渲染 → 导出 → 宽度 → DOM 回传)
config/theme.json设计令牌(themes,三套:default / apple / dark)
locale/zh.json、locale/en.json插件卡片文案(标题「页面渲染」)
tests/all.mjs + tests/run.mjs14 项测试,含「词汇表同步」——浏览器端白名单与 spec.mjs 必须字面一致
cordis.patch.ymlbundle 挂载声明

与 v1 的差异

v1 有走查器(Inspector)、撤销快照、设置页、代码规范注入(code-style.json)、validate_fuse_spec 预检工具、spec-validator 生成区间机制,以及双语 README。

v2 全部删掉:这些都是「微调 / 平台化」能力,不是渲染本身。lib/client.js 1609 → 967 行,每次请求注入的提示词也少两段。

测试

npm test        # node tests/all.mjs(14 项)

CI(GitHub Actions):Node 22.x / 24.x 矩阵 → npm install → npm test → npm pack --dry-run。

预览图怎么来的

node tests/make-preview.mjs     # 用真实渲染器把示例规格渲成 docs/preview.html
# 再用无头浏览器截图(本机 CentBrowser / Edge 均可):
# chrome --headless=new --force-device-scale-factor=2 --window-size=880,820 \
#        --screenshot=docs/preview.png file:///<绝对路径>/docs/preview.html

图里的内容 = 示例规格的真实输出,改了渲染器就重跑一遍,不要手绘。

CI 现在会在 npm test 之后校验 docs/preview.html 是否与 tests/make-preview.mjs 的当前输出一致(见 .github/workflows/ci.yml 的「预览图过期检查」步骤);若渲染器改了却忘了重跑预览脚本,CI 会失败。

版本历史

版本日期说明
v2.0.62026-10-27修复 + 完善(详见 CHANGELOG.md):nav/tabs/list/timeline 子节点 components≡items 真正等价;围栏识别收紧;刷新按钮真正重拉;theme 放宽;导出保真;无障碍补齐;测试 8 → 14 项
v2.0.52026-10-25修渲染 bug:7 个容器 items/components 等价(基线 8 项测试)+ README 预览图
v2.0.42026-10-25插件卡片文案改走 locale,功能无变更
v2.0.0 – v2.0.32026-10-25收敛为单一职责,重写渲染器与测试
v1.x2026-09 及更早旧版,已冻结

边界

  • 只渲染:不做设置页、不做走查器、不做预检工具、不做平台化。
  • 渲染宽度跟随 composer;全屏模式不撑满。
  • 规格非法时整份拒绝并展示错误卡,不猜测意图做降级渲染。