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

界面美化 vi0let-dev/dsh-ui-beautify

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

自定义界面风格、透明度、背景图与字体

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

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么[目录]—
dsh 原生插件 · ui
暂无时间戳·判据 →
装得上吗[实装验证]—
本站尚未做安装检查
暂无时间戳·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 12 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

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

验证判据与等级说明 →

可信度证据

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

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

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

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

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

调整 DSH Web UI 外观:样式预设、界面透明度、壁纸和字体。

README

由 DeepSeek 最新模型翻译生成
dsh-ui-beautify 给 DeepSeek Harness(DSH)Web 界面加一层可配置的外观层:风格预设、表面透明度、背景图、界面/代码字体。 它只通过 DSH 官方 Client theme 服务的 overrideTokens 覆盖设计令牌,并用插件自己的 绘制背景图;不替换 app root、不追加第二个应用、不联网、不读会话内容。 状态:源码已完成,28 项单元测试、结构自检与安全扫描通过;尚未在你的 DSH 中安装、启用或做视觉验证。安装与验收由你自行完成。 仓库:<https://github.com/vi0let-dev/dsh-ui-beautify> 版本:0.1.2 —— 设置页固定 100% 不透明,表面透明度只影响设置页之外的界面;0.1.1 起背景图改为 IndexedDB Blob 存储(原文件上限 40 MB,解除 localStorage 字符上限)。
展开完整文档(README 剩余 1 节)
dsh-ui-beautify

给 DeepSeek Harness(DSH)Web 界面加一层可配置的外观层:风格预设、表面透明度、背景图、界面/代码字体。

它只通过 DSH 官方 Client theme 服务的 overrideTokens 覆盖设计令牌,并用插件自己的 绘制背景图;不替换 app root、不追加第二个应用、不联网、不读会话内容。

状态:源码已完成,28 项单元测试、结构自检与安全扫描通过;尚未在你的 DSH 中安装、启用或做视觉验证。安装与验收由你自行完成。

仓库:<https://github.com/vi0let-dev/dsh-ui-beautify>

版本:0.1.2 —— 设置页固定 100% 不透明,表面透明度只影响设置页之外的界面;0.1.1 起背景图改为 IndexedDB Blob 存储(原文件上限 40 MB,解除 localStorage 字符上限)。

功能

| 功能 | 说明 |
| 风格预设 | 跟随 DSH / 玻璃 / 暖纸 / 樱花 / 极简;每套都定义明亮与深色两组取值 |
| 表面透明度 | 0–100%,作用于主背景、卡片、侧栏、气泡、代码块等表面 |
| 设置页不透明 | 无论表面透明度调到多少,设置面板始终 100% 不透明,方便边调边看 |
| 背景图 | 本地上传(浏览器内压缩后保存)或 http(s) 图片链接;支持 0–24px 模糊、0–70% 遮罩 |
| 界面字体 | 跟随 DSH / 系统无衬线 / 衬线(宋体)/ 圆体 / 等宽 / 自定义字体列表 |
| 代码字体 | 跟随 DSH / 等宽 / 系统无衬线 / 自定义字体列表 |
| 圆角风格 | 随预设改变 --dsw-radius-;不改 DSH 的语义状态色 |
| 恢复默认 | 两次点击确认后恢复“跟随 DSH + 不透明 + 无背景图 + 跟随字体” |

设置入口:侧边栏 → 设置 → 界面美化。所有修改即时生效。

环境要求

- DSH >=0.2.1-rc.2 <0.3.0(见 package.json 的 engines.dsh)
- Node.js ^22.19.0 || >=24.0.0
- 仅适用于 Web 界面(dsh.client.platform = "web")

插件没有运行时依赖;react 由 DSH 浏览器模块表提供,不额外打包第二份 React。

契约按 DSH 0.2.1-rc.2 核对,使用的扩展点:

| 扩展点 | 用途 |
| Client ctx.theme.overrideTokens(source, tokens) | 以 { light, dark } 双套值覆盖设计令牌,卸载时移除该层 |
| settings.section | “界面美化”整页设置 |
| ctx.locale | 设置页与插件管理器文案 |
| | 背景图与设置页样式,卸载时移除 |

安装

以下命令需要你自己执行:本仓库不包含安装脚本,也不会自动修改你的 profile。

GitHub 仓库(公开):<https://github.com/vi0let-dev/dsh-ui-beautify>

方式一:插件页安装(推荐)

1. 侧边栏 → 插件 → 添加插件
2. 输入 github:vi0let-dev/dsh-ui-beautify
3. 按提示启用,完全退出 DSH 并重启,然后硬刷新页面(Windows/Linux Ctrl+F5,macOS Cmd+Shift+R)
4. 侧边栏 → 设置,左侧出现 界面美化,即安装成功

方式二:GitHub 命令行安装

先确认自己的 profile 名,不要照抄 $env:DSH_PROFILE

dsh plugin --profile <profile> add github:vi0let-dev/dsh-ui-beautify

锁定到本次发布的 tag:

dsh plugin --profile <profile> add "github:vi0let-dev/dsh-ui-beautify#v0.1.2"

当前分支为 main。插件页/命令行安装的是仓库默认分支 main 的最新提交;仓库更新后需要重新执行一次 dsh plugin ... add 才会拉取新版本。

本地开发调试:

dsh plugin --profile <profile> add "<项目绝对路径>"

本地目录是链接安装,不要移动或删除原目录,否则插件随之失效。

升级:GitHub 直装会在 profile 里放一份副本。升级到 0.1.2(设置页固定不透明)时,重新执行一次 dsh plugin --profile <profile> add github:vi0let-dev/dsh-ui-beautify(或锁定 #v0.1.2),完全退出 DSH 并重启,然后硬刷新页面;本地链接安装改完刷新页面即可。

卸载 / 恢复原始外观:在插件页停用并卸载,重启 DSH 后刷新页面。插件卸载时会移除 token 图层、背景图样式、根节点属性和 CSS 变量;浏览器 localStorage 里的两个键需要手动清除(见下方「配置」)。

使用

1. 打开 设置 → 界面美化。设置面板始终 100% 不透明,透明度滑块只改变面板之外的界面。
2. 在「外观风格」里选一套预设,或保持“跟随 DSH”。
3. 需要背景图时:选择本地图片,或粘贴 http(s) 图片链接后点「使用链接」。
4. 调「表面透明度」让背景图透出;文字不清楚时调高「背景遮罩」或降低「背景模糊」。
5. 在「字体」里选择界面字体/代码字体;选「自定义…」后输入逗号分隔的字体名。

典型组合:

- 玻璃 + 背景图 + 60% 透明度 + 20% 遮罩:半透明磨砂感,背景图可见且文字可读。
- 暖纸 + 不透明 + 衬线字体:接近纸张的阅读界面。
- 极简 + 不透明 + 等宽字体:低装饰、高信息密度。

配置

没有 Host 配置项,cordis.patch.yml 的 config 保持空对象。所有偏好保存在浏览器:

| 存放位置 | 内容 | 清理方式 |
| IndexedDB dsh-ui-beautify → store wallpaper | 背景图 Blob + 名称/尺寸/字节数(优先使用) | 设置页「清除背景图」,或 DevTools → Application → IndexedDB 删除 dsh-ui-beautify |
| localStorage['dsh-ui-beautify:settings'] | 风格、透明度、模糊、遮罩、字体选择(JSON) | 设置页「恢复默认」,或控制台 localStorage.removeItem('dsh-ui-beautify:settings') |
| localStorage['dsh-ui-beautify:wallpaper'] | 旧版/回退:背景图 data URL 或图片链接(仅当 IndexedDB 不可用时使用) | 设置页「清除背景图」,或控制台 localStorage.removeItem('dsh-ui-beautify:wallpaper') |

默认值:

| 字段 | 默认值 | 范围 |
| style | follow | follow / glass / paper / sakura / minimal |
| surfaceOpacity | 100 | 0–100 |
| wallpaperBlur | 0 | 0–24 |
| wallpaperDim | 0 | 0–70 |
| fontText | follow | follow / sans / serif / rounded / mono / custom |
| fontCode | follow | follow / mono / sans / custom |

- 非法/越界值在读取时回落到默认值。
- 本地背景图优先存到 IndexedDB(Blob),因此不再受 localStorage 的字符上限限制。原文件最大 40 MB;最长边超过 2560px 或原文件超过 8 MB 时,会先缩到最长边 2560px 并按质量阶梯压成 WebP,压缩结果上限 12 MB。
- IndexedDB 不可用时回退到 localStorage data URL,此时仍受约 180 万字符上限,并在存储配额不足时提示「仅本次会话生效」。
- 浏览器存储不可用或配额不足时,设置仍会在本次会话生效,但刷新后丢失。

项目结构

dsh-ui-beautify/
├── package.json # bundle 声明:dsh.bundle.patch + dsh.client ├── cordis.patch.yml # 把插件插入 profile 组合树 ├── index.js # Host 半边:空实现(本插件没有 Host 逻辑) ├── client.js # 全部实现:token 图层、背景图、字体、设置页 ├── locale/{zh,en}.json # 插件管理器显示的标题与描述 ├── icon.svg # 插件图标 ├── docs/banner.png # README 顶部 banner ├── test/client.test.mjs # node:test + node:vm 行为测试 ├── AUDIT.md # 代码审计与隐私检查报告 ├── README.md ├── LICENSE ├── .gitignore └── .gitattributes

依赖

运行时零依赖。开发/测试只使用 Node 内置的 node:test、node:vm、node:assert、node:fs。

隐私说明

| 问题 | 回答 |
| 读取哪些数据 | 只读取你在设置页主动选择的本地图片;不读会话内容、文件系统或其他插件数据 |
| 数据发往哪里 | 插件 JavaScript 不发任何网络请求;若你填写远程图片链接,浏览器会按该地址请求图片 |
| 是否持久化 | 背景图 Blob 写入本机 IndexedDB dsh-ui-beautify;设置写入 localStorage dsh-ui-beautify:settings;IndexedDB 不可用时背景图回退到 localStorage dsh-ui-beautify:wallpaper |
| 是否采集遥测 | 无 |
| 如何清除数据 | 设置页「恢复默认」/「清除背景图」,或删除 IndexedDB 数据库 dsh-ui-beautify 与上述 localStorage 键 |

安全注意事项

- 不执行动态代码:没有 eval、new Function、innerHTML、document.write。
- 背景图只接受 http(s) 链接或 data:image/(png|jpeg|webp|gif|avif);base64,...;拒绝 javascript:、file:、SVG data URL、带用户名/密码的 URL。
- 不替换 DSH 的 app root,不向 document.body 追加第二个应用;背景图只画在 body::before / body::after 两个插件自有伪元素上。
- 所有注册(locale、slot、样式、token 图层、CSS 变量、订阅)都挂在 ctx.effect 上并返回清理函数。
- 透明度过低会降低可读性;菜单/弹出层保留至少 88% 不透明度。
- 远程图片由浏览器加载,受你的浏览器 CSP、代理与网络策略约束;插件无法验证远端图片是否可用。

开发说明

node --check index.js
node --check client.js
node test/client.test.mjs # 28 项测试,直接运行(无需 spawn 子进程)

也可以 node --test test,但在某些受限沙箱里跑测试 runner 会因 spawn EPERM 失败,直接执行测试文件即可。
测试覆盖:模块注册 id、依赖声明、settings.section 注册参数、locale 字典、设置归一化与越界回退、hex→rgba 换算、预设 token 明暗双套、透明度表面覆盖、设置面板不透明 token、字体预设与自定义、背景图 URL/data URL 安全校验、背景图 CSS 生成与转义、本地图片的 IndexedDB Blob 路径与 localStorage 回退路径、超尺寸缩放、损坏图片拒绝、apply/cleanup 行为、存储异常兜底、token 图层去重、设置页 CSS token 使用,以及「无网络 / 无 eval / 无 HTML 注入」的静态断言。

改造指引:

- 五套调色板集中在 client.js 的 STYLES,每套含 palette.light / palette.dark / radius。改值即改观感。
- 字体预设集中在 FONT_TEXT_PRESETS / FONT_CODE_PRESETS。
- 新增预设需要同时更新 STYLE_IDS(按钮、校验、token 构建都读它)与 locale/{zh,en}.json 的 meta(插件管理器显示)。
- token 名必须与当前 DSH 版本一致;升级 DSH 后先用主题 inspect 复核 --dsw-alias- 与 --dsh-font-family-*。

已知限制

1. 尚未做真机视觉验证:本仓库只做了静态核对与单元测试。settings.section 是否正常渲染、五个预设的实际观感、深色模式下的对比度,都需要你在真实 DSH 中确认。
2. 只覆盖已知/常用的设计令牌:主背景、层、侧栏、气泡、代码块、边框、标签、品牌色与圆角。部分嵌套组件(菜单、对话框、第三方面板)可能保留自己的不透明表面。
3. 透明度需要背景图才明显:没有背景图时,透明表面露出的是画布底色(白/深),观感变化较小。
4. 菜单/弹出层有 88% 不透明度下限:避免为了透明而牺牲可读性,因此它们不会完全透明。
5. 背景图存储:优先存 IndexedDB Blob(原文件上限 40 MB,压缩结果上限 12 MB);IndexedDB 不可用时回退到 localStorage data URL,此时约 180 万字符上限,超限会提示改用图片链接。隐私模式或存储被禁用时,设置只在本次会话生效。
6. 远程图片受 CSP/网络影响:插件只校验 URL 协议;图片能否加载由浏览器决定。
7. 第三方 DSH 主题:透明表面与设置面板使用插件自带的明暗中性/预设色,不读取第三方主题的原始色值;换用第三方主题后,设置面板与透明表面的底色可能与主题不完全一致。
8. 字体覆盖优先于 DSH 字体设置:选择非「跟随 DSH」的字体后,DSH 自带的字体设置会被本插件覆盖;想恢复 DSH 字体请选「跟随 DSH」。
9. 未做动效:预设只改色彩、圆角与透明度,不做消息入场/悬停动画,避免依赖构建期哈希类名。
10. macOS 窗口样式差异:DSH 在 macOS 上让 AppFrame 透明、侧栏使用渐变;本插件按 Windows/Web 的令牌路径设计,macOS 上的透明表现可能不同。

许可证

MIT,见 LICENSE。
预览分享卡片长什么样 ↓vi0let-dev/dsh-ui-beautify
分享 · DeepSeek Harness Hub
vi0let-dev/dsh-ui-beautify

自定义界面风格、透明度、背景图与字体

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