前言¶
DSH(DeepSeek Harness)的 Web 界面默认是干净的系统主题,若想在本地开发环境里加一层个人化的全屏背景,常见做法是改主题 CSS 或手动换资源文件,手机和电脑不在同一条链路上时尤其麻烦。插件 dsh-wechat-bg(维护者 XinpengWei)走另一条路:在 DSH 设置里打开「背景图」,用手机微信扫二维码,从相册选一张照片,电脑上的 DSH 会在几秒内换上该背景,并支持图库、浓度滑杆、裁剪与显示方式切换。下文按「是什么 → 能做什么 → 怎么用 → 实现要点与注意」介绍,事实以 GitHub README 为准。
这是什么¶
dsh-wechat-bg 是面向 DSH Web 客户端的社区插件(package.json 版本 1.1.0,许可证 MIT)。它解决的是:在不变更 DSH 核心的前提下,用局域网 + 微信扫码,把手机相册里的图片设为 DSH 全屏背景,并在设置页里管理图库、透明度与裁剪。
插件归属社区生态:SkillHub 目录页与 GitHub 仓库相互引用;DSH 本身秉承「一切皆插件」,社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。
核心功能¶
微信扫码上传¶
- 手机与电脑须连接同一 Wi-Fi。
- 插件在宿主机上除 DSH 本机监听外,另起监听
0.0.0.0的随机端口服务,仅接受带随机 token 的/p/<token>路径;二维码由服务端用内联 SVG 生成(qrcode-generator已 vendored 到vendor/,不依赖 CDN)。 - 照片在手机上先压到长边 2560 px 的 JPEG 再上传,原图不离开手机;上传后保存在这台电脑的
$DSH_HOME/wechat-bg/photos/,重启 DSH 后仍生效。
设置页「背景图」¶
入口在 DSH 设置 → 背景图(settings.section),不再占用侧边栏底部或主界面其它位置。
浏览器侧(client.js)通过 shell.overlay 注入全局样式,把照片铺在 html 上,并调节 --dsw-alias-bg-base 等主题 token,使会话区、侧栏透出背景形成磨砂观感;不写 DOM、不操作 document.body、不用 iframe。
图库与删除¶
传过的照片留在「照片库」:点缩略图即可切换背景;悬停右上角 × 第一次进入待确认(红色 !),再点一次才删除。「移除背景」仅撤下当前显示、恢复页面原样,图库文件仍保留。
索引写在 $DSH_HOME/wechat-bg/library.json;裁剪结果以 <id>.crop.jpg 等形式写入 $DSH_HOME/wechat-bg/,原图文件保持不动。
浓度与显示方式¶
两根滑杆配置保存在浏览器本地,下次打开保留上次档位:
- 背景浓度(默认 60%):0 为完全不透明(看不到照片),100 为完全透明(照片原样,含渐变处理)。
- 侧栏浓度(默认 60%):仅作用于左侧导航,与背景浓度独立。
显示方式:「铺满」对应 background-size: cover;「完整」对应 background-size: contain,两侧留深色底。可在页内「裁剪」里用取景框调整构图;取景框默认「窗口比例」,也可切为「整张照片」并联动显示方式为「完整」。
裁剪¶
裁剪界面展示手机上传的整张原图:滚轮或触控板双指缩放,拖动白色取景框;方向键微调(Shift 加大步长),或用「− / +」缩放,点「用框内区域」设为新背景。每次从原图重新裁,避免反复裁切变糊;「用整张原图」放弃本次裁剪。需重新上传时可再扫码。
同源 API¶
DSH 同源注册路径包括:/api/dsh-wechat-bg/{state,image,source,select,delete,clear,crop,rotate},与手机页、图库状态协同。
安装与启用¶
已抓取资料中未给出独立的 CLI 安装命令行原文。添加插件时应通过你当前 DSH 版本文档中认可的插件安装方式,从 GitHub 仓库 获取源码并核对 package.json 中的 dsh.bundle.patch(cordis.patch.yml)与 dsh.client 注入项。
安装前建议:插件以当前 dsh 进程权限运行,会监听局域网端口并读写 $DSH_HOME/wechat-bg/;请自行审阅 index.js、client.js 等源码及 MIT 许可证条款。
典型用法¶
按 README 可复现的完整流程如下:
- 确保手机和电脑在同一 Wi-Fi。
- 打开 DSH「设置」,左侧点「背景图」。
- 手机微信「扫一扫」,打开插件提供的上传页。
- 选照片,点「设为 DSH 背景」;页面约 2 秒内自动刷新,背景生效。
上传后可按需调节「背景浓度」「侧栏浓度」、切换「铺满 / 完整」、在图库中点选历史照片,或使用「裁剪」精调构图。
适用场景与注意¶
适合谁:长期在本地跑 DSH Web、希望用个人照片做全屏背景、且习惯用手机传图的开发者。
环境注意(来自 README「注意」一节):
- macOS 首次运行可能弹出是否允许「DeepSeek Harness」接受传入连接,须允许,否则手机无法打开上传页。
- 多网卡(VPN、虚拟网桥)时,插件优先选
192.168.*/10.*地址;若手机打不开,可在面板点「换一个二维码」重试。 - 手机上传页由插件自管,与 DSH 登录态无关;刷新二维码会更换 token。
结尾¶
dsh-wechat-bg 把「手机选图 → 局域网上传 → Web 全屏背景 + 图库管理」收成设置里的一页流程,实现上分 Host(index.js)与浏览器(client.js)两半,并遵循 DSH 主题 token 约束。