dsh-background-studio
用你自己的图片,替换 DeepSeek Harness 的纯色背景。
这是一个 DeepSeek Harness(DSH)插件。它会在界面右侧边缘中间放一个低调的圆形按钮,点开即可从电脑的任意文件夹导入一张图片,并在不离开当前页面的情况下调整铺满方式、模糊、遮罩和界面不透明度。设置会自动保存,重启 DSH 后仍然有效。
当前版本:
1.1.1· 面向 DSH0.2.1-rc.2的 Web GUI · 无构建步骤、无第三方运行时依赖。
功能
- 本地图片替换纯色背景:JPG、PNG、WebP、GIF、AVIF,最大 25 MB。
- 从任意文件夹导入:点击按钮打开系统文件选择器,或直接把图片拖进预览框。
- 可拖动的小面板与按钮:按住标题栏移动面板,双击标题栏回到中间;右侧圆形按钮也能直接拖动。两者都被限制在窗口内,不会拖出屏幕。
- 实时编辑:
- 铺满 / 完整 / 拉伸 / 平铺
- 图片可见度
- 背景模糊
- 背景遮罩(亮色主题压白、暗色主题压暗)
- 界面不透明度(让文字更清晰,或让图片更明显)
- 自动保存:修改后约 0.45 秒写入磁盘;关闭面板或重启 DSH 都不会丢。
- 跟随主题:亮色 / 暗色主题分别使用不同的表面透明度和遮罩颜色。
- 随时暂停:关闭“启用背景”立即恢复原生纯色界面,图片仍保留,随时可再打开。
- 一键移除:删除图片并把界面恢复到原生状态。
- 中英双语界面:跟随 DSH 的界面语言。
安装
方式一:从 GitHub 安装(发布之后)
打开 DSH 左侧栏的 插件 / Plugins。
点击 添加插件 或右上角的 +。
选择 安装第三方插件。
在包名输入框中粘贴你的仓库地址,例如:
https://github.com/你的GitHub用户名/dsh-background-studio点击 安装,等待完成。
安装完成后如果组合包没有自动启用,在插件列表里找到 dsh-background-studio 并打开开关。
刷新 DSH 页面(或重启 DSH)。界面右侧中部出现圆形图片按钮即安装成功。
包名现在是
dsh-background-studio。GitHub 仓库建议同名;如果你保留旧仓库名dsh-background,安装 URL 用旧地址也可以,DSH 会以仓库里的package.json为准。仓库根目录必须直接包含package.json,不要放进packages/dsh-background-studio/之类的子目录。
从 1.0.x 升级:先在插件页卸载旧的
dsh-background,再安装新的dsh-background-studio。图片和设置仍在%USERPROFILE%\.dsh\dsh-background\,不会被删除。
方式二:从本地文件夹安装(开发 / 试用)
在 DSH 插件页选择 安装第三方插件,粘贴本文件夹的绝对路径:
D:\dsh\插件
安装并启用后刷新页面。
本地目录安装通常以链接方式接入。之后修改
client.js或index.js,在插件页关闭再打开该插件、或重启 DSH,即可加载新代码。正式发布前建议再从 GitHub 安装一次,确认打包后的文件完整。
方式三:命令行(可选)
如果你已经把 dsh 命令加入 PATH:
dsh plugin --profile desktop add "D:\dsh\插件"
这条命令只负责把包加入 profile;启用组合包仍建议在 DSH 的插件页操作。
使用
- 点击界面右侧边缘中部的圆形图片按钮(鼠标移上去会变清晰)。这个按钮本身也可以按住拖动;不移动直接松开就是打开面板。
- 如果面板挡住对话栏,按住面板顶部的标题栏拖动;双击标题栏可以回到屏幕中间。面板外的区域仍然可以正常点击。面板和按钮都只能在窗口内移动,四周会留出边距。
- 点击 选择图片,在系统文件选择器中进入任意文件夹,选中一张图片。
- 也可以直接把图片拖到预览区域。
- 用下面的控件调整效果,背景会立即变化:
- 铺满方式:
铺满会裁切图片填满窗口;完整会保留整张图并留边;拉伸会把图片拉到窗口比例;平铺会重复图片。 - 图片可见度:10% 接近隐藏,100% 完全显示。
- 背景模糊:0–24px。
- 背景遮罩:在图片上叠加一层与主题匹配的纯色,提升文字对比度。
- 界面不透明度:控制聊天区、侧栏等界面表面的透明度。调高更容易读字,调低更容易看清图片。
- 铺满方式:
- 点击 完成。所有修改已经自动保存。
关闭、恢复与移除
- 关闭面板:点右上角 ×、按
Esc,或点 完成。面板外的区域可以直接操作,所以点击外面不会自动关闭。 - 启用背景 开关:暂时关闭背景,图片和设置都保留。
- 恢复默认:把铺满方式、可见度、模糊、遮罩、界面不透明度恢复为默认值,但保留图片。
- 移除图片:第一次点击会变成“再次点击确认”,再点一次才真正删除图片并恢复原生界面。
图片与隐私
图片只保存在这台电脑上,不会上传到任何服务器,也不会写进对话记录。
数据目录:
%USERPROFILE%\.dsh\dsh-background\数据目录沿用旧名
dsh-background,所以从 1.0.x 升级到 1.1.x 时,之前导入的图片和设置不会丢。其中:
settings.json:显示设置和图片元信息;background-*.jpg|png|webp|gif|avif:当前图片。
卸载插件不会自动删除这个目录;如果确认不再使用,可以手动删除
%USERPROFILE%\.dsh\dsh-background。大于 8 MB 或最长边超过 4096px 的静态图片会在浏览器里缩放、转成 WebP 再上传,以减少磁盘和内存占用。GIF / AVIF 不转码,以保留动画。
不支持 SVG(避免外部资源与脚本风险)。
工作原理
插件由两个半边组成:
- Host 半边(
index.js):注册 4 个本地 HTTP 路由,读写$DSH_HOME/dsh-background/,并把图片以正确的 Content-Type 返回给页面。 - Client 半边(
client.js):通过 DSH Client 模块加载器注册到shell.overlay槽位,渲染右侧边缘按钮和设置对话框;用主题 token 把界面表面变成半透明,并用body::before绘制背景图片。
没有构建步骤:client.js 是加载器直接执行的普通脚本,React 从 DSH 的浏览器模块表取得。没有 node_modules、没有安装脚本、没有原生依赖,因此从 GitHub 安装时不需要批准构建脚本。
常见问题
界面右侧没有按钮
- 确认插件已安装并在插件页处于启用状态。
- 刷新页面或完全退出后重新打开 DSH。
- 打开 DSH 的日志,搜索
dsh-background-studio,看是否有激活失败信息。 - 如果刚修改过代码,先关闭再启用插件,让 Client 模块重新加载。
图片导入了,但背景没变化
- 检查 启用背景 是否打开。
- 把 界面不透明度 调低一些;如果它接近 100%,界面会几乎完全盖住图片。
- 检查图片是否真的在磁盘上(用“移除图片”再重新导入一次)。
- 亮色主题下,背景遮罩 太高会让图片发白;暗色主题下则会发黑。
提示“图片太大”
单张图片上限为 25 MB。请先压缩,或换一张更小的图片。大于 8 MB 的静态图片通常会被自动压缩,但极端尺寸(例如超长全景图)仍可能超过上限。
升级 DSH 后失效
DSH 的内部主题 token 或槽位可能随版本变化。先确认插件仍处于启用状态;如果按钮消失,查看 DSH 日志中的 Client 模块错误。项目会尽量跟随当前稳定版接口。
兼容性
- DSH Web GUI(桌面版的 Web 界面)。
- 插件数据是全局的:同一台电脑、同一个 DSH profile 下的所有会话共享同一张背景。
- 插件运行时不修改 DSH 安装目录,也不改写 profile 的
package.json;所有用户数据都在$DSH_HOME下。
开发
# 只检查语法
node --check index.js
node --check client.js
# Host 路由、设置归一化、Client 渲染冒烟测试
node test/host.test.mjs
node test/client.test.mjs
目录结构:
dsh-background-studio/
├─ index.js Host:图片/设置存储与 HTTP 路由
├─ client.js Client:右侧边缘按钮、编辑面板、背景 CSS
├─ cordis.patch.yml Bundle 行
├─ package.json DSH 清单(dsh.bundle / dsh.client)
├─ locale/{en,zh}.json 插件页显示名称与描述
├─ icon.svg 插件图标
├─ test/ Host 测试与 Client 渲染冒烟测试
├─ README.md
└─ PUBLISHING.zh.md 发布到 GitHub 的详细步骤
发布到 GitHub
第一次发布 GitHub 仓库的逐步说明(含网页上传、GitHub Desktop 和 Git 命令三种方式)见 PUBLISHING.zh.md。
No comments yet. Be the first to write one.