dsh-minecraft-ui:把 DSH Web 界面换成 Minecraft 方块主题

前言

DeepSeek Harness(DSH)的 Web GUI 默认是面向开发的通用界面:功能完整,但长时间对着同一套视觉,容易显得平淡。社区里「趣味换装」类插件的做法,通常是在不改动 DSH 业务逻辑的前提下,用前端注入把外观、音效和背景换成另一套体验。

下面介绍维护者 JYT-copy 发布的 dsh-minecraft-ui(npm 包名 dsh-minecraft-theme):非官方 Minecraft 粉丝主题,把界面做成方块化像素组件,并附带照片壁纸、界面音效样本与可自建曲库的 BGM 播放器。代码 MIT 许可、零第三方依赖、不联网;颜色不额外染色,跟随 DSH 原有主题与亮/暗色模式。分类为「趣味换装」,GitHub 仓库当前约 1 star。

这是什么

dsh-minecraft-ui 是面向 DSH Web 客户端的主题插件:在 <body data-mc-theme="on"> 下生效样式与交互增强,通过 HUD 开关或 Ctrl/Alt+M(macOS 为 ⌘)可随时关闭,恢复原始 DSH 外观。

与 Mojang Studios / Microsoft 无官方关系;包内自带 1 张基础壁纸与 5 个 Minecraft 界面音效(约 60 KB),音效素材不在 MIT 范围内,详见仓库 THIRD_PARTY_NOTICES.md。不包含 C418 原声音乐等其余游戏美术素材。

核心功能

方块化界面

按钮、卡片、导航栏、弹窗、输入框、滚动条、提示气泡等统一为双色斜面立体方块风格;面板半透明,壁纸可从下方透出。侧栏与设置面板带极淡石纹。标签页条(对话/轨迹)保持原生几何,避免挤窄布局。

壁纸

来源 说明
内置 仓库自带「壁炉小屋」:cozy-cabin.webp(1600px WebP)及缩略图
插件目录 在 assets/wallpapers/ 放置 <slug>.webp 与 <slug>.thumb.webp
界面上传 「我的壁纸 → 上传壁纸」,支持 image/*,存浏览器 IndexedDB

可调:自动轮换(关 / 1 / 3 / 5 / 10 / 30 分钟)、手动下一张、暗度、壁纸亮度(最高 160%)、面板不透明度(0% 时面板全透明)、漂浮尘埃粒子。

音效与 BGM

交互音效优先播放 assets/sfx/ 下的 mp3;单个文件缺失时,仅该交互退回 WebAudio 合成音。悬停音效始终合成。开关与音量在 HUD 或设置中独立控制;浏览器需先有用户手势才能播放音频。

BGM 曲源来自插件目录 assets/music/(宿主扫描清单)与本机上传(单曲上限 60 MB,IndexedDB)。支持淡入、切歌交叉淡化、一曲结束自动下一首;默认关闭。页面隐藏时会 suspend 播放。

HUD 与设置

右下角 HUD 控制台可收起,集中控制主题开关、换壁纸、音效、BGM、下一首、隐藏与选项。完整配置在 设置 → Minecraft 主题,与 HUD 共用一份选项,持久化在 localStorage(键 dsh-minecraft-ui:options)。

页面内提供 window.MinecraftUI 控制台 API,便于脚本化切换壁纸、曲目或主题。

安装与启用

环境要求:DSH ≥ 0.2.1-rc.1,Node 22.19+ 或 24+(以 package.json 的 engines 为准)。

推荐从 npm 安装 bundle(包名与仓库名不同,因 npm 上 dsh-minecraft-ui 已被其他作者占用):

plugin_manager install_bundle  dsh-minecraft-theme

从本地目录安装(改源码或离线环境):

plugin_manager install_bundle  <仓库在本机的绝对路径>

install_bundle 会写入 profile 依赖与 dsh.profile.bundles;不要手动改 profile 的 package.json 或 cordis.patch.yml,也不要在 profile 目录内自行跑 pnpm。

安装后 Ctrl+R 刷新页面,右下角应出现方块控制台。若听不到声音,先点击界面任意处再打开「设置 → Minecraft 主题 → 音效」。

卸载:

plugin_manager remove_bundle  dsh-minecraft-theme

若曾安装早期 bundle 名 dsh-minecraft-ui,升级前先 plugin_manager remove_bundle dsh-minecraft-ui,再安装 dsh-minecraft-theme。

典型用法

个人素材目录(升级 npm 包不覆盖)

自备壁纸、音乐、覆盖音效时,放在用户主目录下(Windows 为 C:\Users\<你>\.dsh\minecraft-ui\assets):

~/.dsh/minecraft-ui/assets/
├── wallpapers/
│   ├── my-room.webp
│   ├── my-room.thumb.webp
│   └── manifest.local.json
├── sfx/
│   └── ui-stonecutter-select_recipe-1.mp3
└── music/
    └── example.ogg

可通过环境变量 MC_UI_ASSETS_DIR 指向 assets 这一层。同名文件优先于包内素材。往文件夹新增内容后需 Ctrl+R;界面内上传的壁纸/音乐存 IndexedDB,跨插件升级保留,换浏览器或清缓存会丢失。

默认配置结构

插件读取的默认选项形态如下(数值会被夹到合法区间):

{
  enabled: true,
  wallpaper: { auto: true, intervalSec: 300, sceneId: 'photo-cozy-cabin', dim: 0, gain: 1.18, blur: 0 },
  sfx:       { enabled: true, volume: 0.55 },
  bgm:       { enabled: false, volume: 0.22, trackId: '' },
  ui:        { glass: 0.5, achievements: true, hudHidden: false, hudDrop: 28 }
}

宿主只读 API(素材路由)

壁纸、音效、音乐由宿主端静态路由本地提供,例如:

GET /api/minecraft-ui/wallpapers
GET /api/minecraft-ui/wallpapers/<slug>.webp
GET /api/minecraft-ui/sounds/<name>.mp3
GET /api/minecraft-ui/music
GET /api/minecraft-ui/music/<file>

每个路由先查个人素材目录,再回退包内目录。

适用场景与注意

适合希望在本地 DSH Web 界面上获得 Minecraft 风格沉浸感、又希望保留 DSH 原主题配色的开发者。壁纸与 BGM 需自行准备合法素材;包内音效可按 README 删除后改用合成音。

插件以前端 bundle 形式注入 Web 客户端,并在宿主侧注册只读素材路由;安装前应在 GitHub 阅读源码、LICENSE 与 THIRD_PARTY_NOTICES.md,确认与自身合规要求一致。DSH 社区目录(如 SkillHub)为独立生态站点,与 DeepSeek / 幻方无官方从属关系。

结尾

dsh-minecraft-ui(npm:dsh-minecraft-theme)在不大改 DSH 配色的前提下,提供方块 UI、本地壁纸与音乐、界面音效与可撤销的主题开关。需要安装命令与素材说明时,以仓库 README 为准。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye