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

壁纸背景 dugujun3-cloud/dsh-wallpaper

DeepSeek Harness
dugujun3-cloud52 天前有提交已提供中文文档扫描:含敏感能力

为整个应用换上本地或在线壁纸背景

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

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:待复验
是什么[目录]—
dsh 原生插件 · ui
暂无时间戳·判据 →
装得上吗[实装验证]—
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.1-rc.5,本站尚未在新版下复验
L4 · 真实安装等级说明 →
数据截至 2026/10/08·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/03·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 52 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

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

验证判据与等级说明 →

可信度证据

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

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件发起外部网络请求
查看扫描证据(共 39 处,展示前 22 条)
  • 读取本地文件
    lib/index.js:52
    if (!existsSync(USER_DIR)) mkdirSync(USER_DIR, { recursive: true })
  • 写入本地文件
    lib/index.js:52
    if (!existsSync(USER_DIR)) mkdirSync(USER_DIR, { recursive: true })
  • 读取本地文件
    lib/index.js:63
    const raw = JSON.parse(readFileSync(PREFS_FILE, 'utf8'))
  • 写入本地文件
    lib/index.js:73
    writeFileSync(PREFS_FILE, JSON.stringify(merged, null, 2))
  • 读取本地文件
    lib/index.js:79
    if (existsSync(join(ASSET_DIR, 'catalog.json'))) {
  • 读取本地文件
    lib/index.js:80
    const parsed = JSON.parse(readFileSync(join(ASSET_DIR, 'catalog.json'), 'utf8'))
  • 读取本地文件
    lib/index.js:95
    names = readdirSync(USER_DIR)
  • 读取本地文件
    lib/index.js:105
    meta = JSON.parse(readFileSync(join(USER_DIR, name + '.meta.json'), 'utf8'))
  • 写入本地文件
    lib/index.js:199
    writeFileSync(join(USER_DIR, file), bytes)
  • 写入本地文件
    lib/index.js:200
    writeFileSync(join(USER_DIR, file + '.meta.json'), JSON.stringify({
  • 请求外部主机wallhaven.cc
    lib/index.js:220
    const response = await fetch('https://wallhaven.cc/api/v1/search?' + params.toString(), {
  • 发起网络请求
    lib/index.js:220
    const response = await fetch('https://wallhaven.cc/api/v1/search?' + params.toString(), {
  • 发起网络请求
    lib/index.js:294
    const response = await fetch(body.url, {
  • 删除本地文件
    lib/index.js:326
    if (file && existsSync(file)) unlinkSync(file)
  • 删除本地文件
    lib/index.js:327
    if (file && existsSync(file + '.meta.json')) unlinkSync(file + '.meta.json')
  • 发起网络请求
    test-host.mjs:28
    const cat = await (await fetch(base + '/dsh-wallpaper/catalog')).json()
  • 发起网络请求
    test-host.mjs:37
    const img = await fetch(base + first.full)
  • 发起网络请求
    test-host.mjs:39
    const thumb = await fetch(base + first.thumb)
  • 发起网络请求
    test-host.mjs:46
    const img = await fetch(base + '/dsh-wallpaper/assets/full/.gitkeep')
  • 发起网络请求
    test-host.mjs:50
    const bad = await fetch(base + '/dsh-wallpaper/assets/..%2F..%2F..%2Fetc%2Fpasswd')
  • 发起网络请求
    test-host.mjs:54
    const saved = await (await fetch(base + '/dsh-wallpaper/prefs', {
  • 删除本地文件递归
    test-host.mjs:97
    rmSync(process.env.DSH_WALLPAPER_DIR, { recursive: true, force: true })
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 GitHub 仓库
涉及外部主机:wallhaven.cc

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

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 整站背景壁纸
  • 本地图库选择
  • 在线壁纸搜索

DSH web 插件:整站背景壁纸——本地图库、wallhaven 在线搜索、本地导入、右键操作

README

由 DeepSeek 最新模型翻译生成
dsh-wallpaper DeepSeek Harness(DSH)Web GUI 的背景图片插件。 在设置 → 通用里,外观(深色模式)那一行的正下方新增一行 背景图片 / Background image。点它打开居中的选择器对话框:从自己的壁纸库挑选、在线搜索(wallhaven,仅 SFW 动漫)、从磁盘导入图片——右键任意卡片即可设为背景,或打开原图页面。 不附带任何壁纸图片。所有代码采用 MIT 协议;美术作品不适用。随附图库刻意留空——见 资源政策。 功能 - 全应用背景——接管背景层:中和已有的皮肤背景图,通过可调的内容遮罩让应用外壳半透明,再把壁纸画在固定层上,置于所有内容之后。 - 正好位于深色模式下方——注册进官方外观行所用的同一个 settings.general.item 插槽,order: 11(官方是 10)。不 fork,不改官方代码。 - 居中选择器对话框——从设置行打开,通过 React portal 渲染进 document.body;按 Esc 或点击外部关闭。 - 本地图库——<plugin>/assets/full/* + catalog.json;每次请求时读取,随时丢文件进去,不用重启。 - 在线搜索——宿主代理 wallhaven v1 API(categories 010,purity 100 = 仅 SFW 动漫)。
展开完整文档(README 剩余 1 节)
dsh-wallpaper

DeepSeek Harness(DSH)Web GUI 的背景图片插件。

在设置 → 通用里,外观(深色模式)那一行的正下方新增一行 背景图片 / Background image。点它打开居中的选择器对话框:从自己的壁纸库挑选、在线搜索(wallhaven,仅 SFW 动漫)、从磁盘导入图片——右键任意卡片即可设为背景,或打开原图页面。

不附带任何壁纸图片。所有代码采用 MIT 协议;美术作品不适用。随附图库刻意留空——见 资源政策。

功能

- 全应用背景——接管背景层:中和已有的皮肤背景图,通过可调的内容遮罩让应用外壳半透明,再把壁纸画在固定层上,置于所有内容之后。
- 正好位于深色模式下方——注册进官方外观行所用的同一个 settings.general.item 插槽,order: 11(官方是 10)。不 fork,不改官方代码。
- 居中选择器对话框——从设置行打开,通过 React portal 渲染进 document.body;按 Esc 或点击外部关闭。
- 本地图库——<plugin>/assets/full/* + catalog.json;每次请求时读取,随时丢文件进去,不用重启。
- 在线搜索——宿主代理 wallhaven v1 API(categories 010,purity 100 = 仅 SFW 动漫)。选中的结果会下载进本地图库,离线也能用。
- 本地导入——文件选择器 AND 拖拽;导入的文件存在宿主侧 <plugin>/user/,浏览器存储被清空也不受影响。
- 右键菜单——设为背景 / 打开原图页面 / 复制 URL / 保存到图库(在线结果)/ 删除(仅限导入项;内置项受保护)。
- 显示控制——填充模式(cover/contain/stretch/center/tile)、模糊、遮罩、内容遮罩;遮罩颜色跟随浅色/深色主题。检测到角色美术皮肤(例如 maid-atelier)时,会多出一个 hide skin art 复选框。
- 干净的生命周期——每一处 DOM/CSS 写入都由 Cordis effect disposer 还原;卸载后不留残留。

要求

- DSH web 构建 0.1.1-rc.2(已测试)。用到 slots.inject('settings.general.item') 和 webServer.register({ kind:'prefix', path:'/dsh-wallpaper' })。
- Node.js ≥ 20。

安装

未发布到 npm——请从本仓库安装。(npm 上名为 dsh-wallpaper 的包是另一个无关项目:Wallpaper Engine 集成。)

git clone https://github.com/dugujun3-cloud/dsh-wallpaper.git
cd dsh-wallpaper
./install.sh # symlink into ~/.dsh/profiles/web/node_modules + cordis.patch.yml entry (backs up first)
kill $(pgrep -f 'dsh/lib/bin.js web') # launchd KeepAlive restarts it within ~10 s

然后刷新 http://127.0.0.1:3080 → 设置 → 通用:背景图片那一行就在外观行的正下方。

卸载:

./uninstall.sh
kill $(pgrep -f 'dsh/lib/bin.js web')
两个脚本都是幂等的,改动 cordis.patch.yml 之前会先备份。

素材策略

公开构建不附带任何壁纸图片。打包第三方同人图(wallhaven / safebooru / konachan)会侵犯画师权益。因此:

1. 自建图库,调用 Wallhaven API:

python3 make-assets.py # starter set (3 themes x 4)
python3 make-assets.py --query 'sakura anime' --query 'cyberpunk city' --per-theme 8

这条命令会写出 assets/catalog.json + assets/full/ + assets/thumb/;下次加载时对话框会自动读取(catalog 每次请求都重新读取,无需重启)。

2. 或者用应用内搜索 / 导入 —— 你选中的每条在线结果都会连同来源页面一起存到本地,随时可以右键 open image link 给画师署名。

assets/ 下的图片文件已加入 gitignore;make-assets.py 会记录每项的 page(原帖)和 source 链接,方便署名。

HTTP API

| Method | Path | Purpose |
| GET | /dsh-wallpaper/catalog | 内置图库 + 用户导入 + 偏好设置 |
| GET | /dsh-wallpaper/assets/<path> | 内置图片(已做目录穿越加固) |
| GET | /dsh-wallpaper/user/<name> | 导入的图片 |
| GET/POST | /dsh-wallpaper/prefs | 偏好设置读写 |
| POST | /dsh-wallpaper/upload?name= | 上传图片(最大 32 MB) |
| POST | /dsh-wallpaper/import-url | 把远程图片下载到本地图库 |
| POST | /dsh-wallpaper/delete | 删除导入的图片(内置图片受保护) |
| GET | /dsh-wallpaper/search?q= | 在线搜索(wallhaven,SFW 动漫) |

项目结构

lib/index.js host plugin: routes, catalog/upload/delete, wallhaven proxy, prefs persistence
lib/client.js browser plugin: settings row, portal dialog, grid + search + context menu, backdrop engine
assets/ your wallpaper library (images gitignored; see Assets policy)
user/ your imports (gitignored)
make-assets.py regenerate assets/catalog.json from the Wallhaven API
test-host.mjs 16 host-route tests (incl. traversal + built-in delete protection)
test-client.mjs 20 client wiring tests (slot order 11, stylesheet/canvas injection, full dispose)
install.sh idempotent live-profile install
uninstall.sh reversible uninstall (byte-level round-trip verified)

测试

node test-host.mjs && node test-client.mjs # 36 checks, all green

免责声明

- wallhaven 代理直接访问公开的 wallhaven.cc API,不带 key。这只是个便利封装,不是官方关联服务。
- 服务端只查询 SFW 动漫分类(categories=010、purity=100);客户端从不直接访问上游。
- 非官方社区插件。与 DeepSeek 无关联,未获其认可或支持。
- 插件依赖 settings.general.item 和 webServer.register({ kind: 'prefix' });如果 DSH 版本改动了这两处,可能需要小幅更新。

License

MIT © 2026 dugujun3-cloud(独孤菌)。美术素材除外——见素材政策。
预览分享卡片长什么样 ↓dugujun3-cloud/dsh-wallpaper
分享 · DeepSeek Harness Hub
dugujun3-cloud/dsh-wallpaper

为整个应用换上本地或在线壁纸背景

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