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

皮肤壁纸切换 ManuSpurs/dsh-skin20260814

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

切换七款精选皮肤并设置自定义背景壁纸

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

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · vision
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 82 天前
档位由哪些信号合成

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

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

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

发起外部网络请求
查看扫描证据(共 1 处,展示前 1 条)
  • 发起网络请求
    lib/client.js:437
    return fetch(legacy).then((response) => response.blob()).then((blob) => idbPut(WALLPAPER_BLOB_KEY, blob)).then(() => true).catch(() => false);
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-theme@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-ui-slots
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 切换七款精选皮肤
  • 设置自定义背景壁纸
  • 壁纸原画质存储
展开完整介绍(239 字)↓

dsh-skin 增强版:为 DeepSeek Harness 提供皮肤切换与自定义背景壁纸。在原版基础上修复了两处问题——① 大图/特殊格式上传无响应(改用 createImageBitmap 直接解码、增加处理中与错误提示);② 主题切换时 overrideTokens 触发 theme/change 导致无限递归栈溢出(加皮肤/明暗守卫断开循环)。壁纸存储从 localStorage 压缩方案改为 IndexedDB 原文件直存,全画质显示、零压缩,并自动迁移旧数据。

README

由 DeepSeek 最新模型翻译生成
dsh-skin DeepSeek Harness 的皮肤切换器 + 自定义壁纸——一个秉承 Codex 主题精神的“换肤”功能。它把一组精选的调色板注册到 DSH 内置的主题运行时中,并在设置 → 通用中新增两行(位于内置的“外观”行下方): - 皮肤 / Skins——从 7 款精选调色板中选择一款(或选择默认 / Default 以跟随内置外观)。 - 背景图片 / Wallpaper——设置你自己的背景图片,并可控制透明度和模糊。 两项选择在重新加载后都会保留(localStorage)。 工作原理 DSH 的主题系统基于 token:Web 外壳提供 --dsw- 设计 token,而 ThemeRuntime 允许第三方插件注册主题,按配色方案覆盖别名层(--dsw-alias-)。本包是一个常规的双面插件: - 宿主端(lib/index.js)——一个 dsh.bundle 补丁层,插入一个加载器条目(skin);一个空操作的 apply,与随附的 ui-* 包完全一致。
展开完整文档(README 剩余 1 节)
dsh-skin

DeepSeek Harness 的皮肤切换器 + 自定义壁纸——一个秉承 Codex 主题精神的“换肤”功能。它把一组精选的调色板注册到 DSH 内置的主题运行时中,并在设置 → 通用中新增两行(位于内置的“外观”行下方):

- 皮肤 / Skins——从 7 款精选调色板中选择一款(或选择默认 / Default 以跟随内置外观)。
- 背景图片 / Wallpaper——设置你自己的背景图片,并可控制透明度和模糊。

两项选择在重新加载后都会保留(localStorage)。

工作原理

DSH 的主题系统基于 token:Web 外壳提供 --dsw- 设计 token,而 ThemeRuntime 允许第三方插件注册主题,按配色方案覆盖别名层(--dsw-alias-)。本包是一个常规的双面插件:

- 宿主端(lib/index.js)——一个 dsh.bundle 补丁层,插入一个加载器条目(skin);一个空操作的 apply,与随附的 ui-* 包完全一致。
- 浏览器端(lib/client.js)——一个 dsh.client 包(通过 /plugins/dsh-skin/client.js 提供),它会:
1. 通过 ctx.theme.register(...) 注册 7 款精选皮肤;
2. 恢复已保存的皮肤 id,并通过 ctx.theme.setTheme(...) 应用它;
3. 将壁纸渲染为固定的背景层(z-index: -1),并叠加一个 token 覆盖(ctx.theme.overrideTokens),使主画布(--dsw-alias-bg-base)和侧边栏(--dsw-specific-sidebar-fill)变为半透明,从而让图片透出,同时内部表面(卡片、输入框、气泡)保持不透明且可读;
4. 使插槽存储与 theme/change 保持同步(并在当前皮肤或浅色/深色方案变化时重新调整壁纸色调);
5. 将两行挂载到 settings.general.item 中。

每款皮肤都会设置其 colorScheme(light/dark),它驱动 body[data-ds-dark-theme],此外还有由 ui-layout 的 ThemePresenter 作为内联自定义属性应用到 上的别名 token 覆盖。

皮肤

| id | 方案 | 风格 |
| ocean | 深色 | DeepSeek 蓝深海 |
| graphite| 深色 | 中性单色 |
| forest | 深色 | 绿色宁静 |
| sunset | 深色 | 暖紫色 |
| midnight| 深色 | 纯黑 OLED |
| paper | 浅色 | 暖色纸张 |
| sakura | 浅色 | 粉色点缀 |

选择默认 / Default 会恢复为内置外观(跟随系统)并清除已保存的皮肤。

壁纸

在设置 → 通用 → 背景图片 / Wallpaper中:

- 选择图片 / Choose image——选择一张本地图片;原始文件按原样存储(IndexedDB,不重新压缩)并以完整质量显示,仅保存在此浏览器中。
- 透明度 / Opacity 和 模糊 / Blur 滑块用于调整图片在 UI 背后的呈现方式。
- 移除图片 / Remove 会清除它。
壁纸位于 z-index: -1 的固定层上,因此只能透过半透明的主画布和侧边栏看到;消息界面保持其不透明背景以确保可读性。它还会跟随你当前皮肤色调(切换皮肤会重新调整半透明表面的色调)。

持久化

壁纸图片以原始质量存储在 IndexedDB 中(原始 Blob——浏览器的 localStorage 配额无法容纳全尺寸图片);滑块值和皮肤选择保存在 localStorage 中(dsh-skin:skin、dsh-skin:wallpaper-opacity、dsh-skin:wallpaper-blur)。
DSH 的 Host 设置接线仅向浏览器客户端暴露一组白名单命名空间(dsh-host-apiproxy 中的 WEB_SETTINGS_NAMESPACES),因此第三方命名空间会返回 settings-not-exposed;产品本身将远程浏览器偏好保持为进程本地,而 localStorage 与这一边界一致,适用于视觉偏好,同时在同一源上重新加载后仍然保留。

安装

从任意位置将包添加到 web 配置文件:

dsh plugin --profile web add -w /path/to/dsh-skin

-w 标志是必需的:每个配置文件都附带一个 pnpm-workspace.yaml,因此
pnpm 9 会将配置文件目录视为工作区根目录,并拒绝裸 add,报错
ERR_PNPM_ADDING_TO_ROOT。

这会在 ~/.dsh/profiles/web 中运行 pnpm,安装该包,并将其追加到 dsh.profile.bundles(其补丁层会插入 skin 加载器条目)。
必须重启正在运行的 Web 服务器以加载新的 bundle 层:

停止正在运行的实例,然后:
dsh web

打开 Settings → General 以使用这两项功能。

发布(npm)

DSH(rc.6)没有单独的插件市场——插件分发渠道就是 npm 注册表。一个声明了 dsh.bundle(宿主补丁层)和 dsh.client(浏览器 bundle)的包,正是 dsh plugin --profile add 所安装的内容,因此将此包发布到 npm 就是当今“上架”的含义:

1. 选择一个唯一的名称(带作用域的名称更安全,例如 @yourscope/dsh-skin),并填写 author、repository、keywords 和 CHANGELOG。
2. 确保 files 包含 lib/index.js、lib/client.js、lib/types、 cordis.patch.yml(已配置)。
3. 发布到官方 npm 注册表(本机的默认注册表是镜像——发布到镜像不会到达 npmjs):
npm publish --registry https://registry.npmjs.org

4. 用户使用以下命令安装:
dsh plugin --profile web add -w @yourscope/dsh-skin

然后重启 dsh web。

需要向用户说明的已知平台边界:浏览器端偏好存储在 localStorage 中(第三方设置命名空间尚未通过网络暴露),并且客户端 bundle 只能 require 模块表实体(平台种子 + 已注册的客户端 bundle)。

开发

客户端 bundle 直接以 __ModuleLoader__ bundle 格式编写(与 tsdown 为已发布的 ui-* 包生成的形态相同),因此无需构建步骤。lib/client.js 只能 require 模块表中的实体:平台种子词(react、react/jsx-runtime、……)以及已注册的客户端 bundle(@deepseek-ai/dsh-client-runtime/client、@deepseek-ai/dsh-client-ui-theme/client、……)。编辑后,重启 Web 服务器(bundle 内容会重新哈希,并以新的 rev 提供;loader 条目会在启动时重新扫描)。
预览分享卡片长什么样 ↓ManuSpurs/dsh-skin20260814
分享 · DeepSeek Harness Hub
ManuSpurs/dsh-skin20260814

切换七款精选皮肤并设置自定义背景壁纸

这是你的仓库?认领条目

回到顶部