
Security News
Deno Goes the Way of the Dinosaur
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.
dsh-wallpaper_share
Advanced tools
Sync active Wallpaper Engine wallpapers(image/video/scence/app)to DeepSeek Harness Web UI as a customizable dynamic background.
把 Wallpaper Engine(WE)当前壁纸同步为 DeepSeek Harness(DSH)Web / 桌面端界面的背景,在 wallpaper_share 标签页调整渲染模式、透明度、模糊、阴影、专注透镜与壁纸库。本次在Harness 0.1.0-rc.6 与0.2.0-rc.2环境完成实际安装与验证。
同步功能读取 WE 状态,不更改桌面壁纸。安装目录会自动检测;眼动追踪在本机推理,摄像头画面不上传。
wallpaper_share 页面固定使用白天蓝色背景,不随本地时间切换,并采用开销更低的普通气泡;完整模式保留昼夜切换、夜间暖红水体与完整剪影、水花及按钮变色。

完整记录见 CHANGELOG.md。仓库源码版本为 26.10.13-D;2026-10-12 核对 npm latest / desktop 为 26.10.9-D、web 为 26.10.3,不含本次入水页面修复。
需要 DSH Web profile。使用原生场景捕获时,还需要在同一台 Windows 电脑上运行 WE 并应用场景壁纸。
从 GitHub 安装本仓库版本:
dsh plugin --profile web add github:YRN-playmaker/dsh-wallpaper_share
npm 安装(默认推荐 desktop 版本):
Web 端可通过 npm 的 web 标签获取:下方命令中的 --profile web 指定 DSH Web profile,@web 指定插件的 Web 版本。web 标签当前指向 26.10.3;如需固定该版本,可将 @web 替换为 @26.10.3。
# 默认 desktop 版本(latest 标签,版本号带 -D)
dsh plugin --profile web add dsh-wallpaper_share
# 明确选择 desktop 渠道
dsh plugin --profile web add dsh-wallpaper_share@desktop
# 保留的 Web 版本(web 标签)
dsh plugin --profile web add dsh-wallpaper_share@web
# 自行打包的本地安装包
dsh plugin --profile web add ./dsh-wallpaper_share-26.10.13-D.tgz
安装或升级后,重启 DSH Web profile 并刷新浏览器页面。默认地址为 http://127.0.0.1:3080,实际端口以启动日志为准。仅刷新页面不会更新已加载的后端程序。
新会话的会话区会出现 wallpaper_share 标签页;在其中开启同步并选择渲染模式。多显示器可通过「背景显示器」锁定来源。安装包包含前后端及 Windows 原生程序,用户无需自行构建;cordis.patch.yml 会随插件安装接入 profile。
从 1.3.2 Release 下载壁纸 deepseek-day-night.dwp 和本插件包。
安装插件,重启 DSH Web profile 并刷新页面:
dsh plugin --profile web add ./dsh-wallpaper_share-26.10.13-D.tgz
在「壁纸库 → 市场」更新日夜壁纸到 1.3.2,或导入下载的 DWP,然后重新挂载。
打开 wallpaper_share 查看入水;滚轮下潜,再切回对话检查退出过渡。选择「完整」查看焦散和泡泡照明;开启专注后查看呼吸模糊。
人物、水花十帧、U 型展开、剪影渐变、滚轮深度、光效与界面浓度参数均随 DWP 分发,插件负责通用渲染。普通 DWP 播放器继续显示日夜背景;两档纹理及自动昼夜切换保留。系统「减少动态效果」会抑制动态效果。
若未出现新版效果,确认插件为 26.10.13-D、壁纸为 1.3.2,重启后台后重新挂载。仅更新 DWP 或仅刷新网页不能更新插件渲染器。参数与验证说明见 页面动画文档。
| 模式 | 场景壁纸(scene) | 适用情况 |
|---|---|---|
| 预览(eco) | 显示静态预览图 | 节省资源 |
| 捕获(perf,默认) | 镜像 WE 正在渲染的桌面壁纸;不可用时回退浏览器渲染 | 使用 WE 自身的粒子、脚本和 shader 效果 |
| 完整(enhanced) | 解析 .pkg,在浏览器中重绘图层、粒子与骨骼动画 | 不依赖 WE 持续运行;部分复杂效果仍有差异 |
「完整」是模式名称,浏览器渲染器仍是 WE 引擎的子集。
| 壁纸类型 | 预览 | 捕获 / 完整 |
|---|---|---|
scene | 静态预览 | 按上表选择原生捕获或浏览器渲染 |
video | 静态预览 | 播放源视频,支持 HTTP Range |
web | 静态预览 | 在 iframe 中加载源页面 |
image | 静态预览 | 显示源图 |
application / other | 静态预览 | 背景回退预览;应用可在壁纸库中管理 |
窗口跟随仅用于原生 scene 捕获,在运行 WE 的同一台电脑上生效。小窗口位于屏幕左侧就显示左侧区域,移到右侧就显示右侧区域。鼠标移入页面后自动校准标题栏偏移;全屏时显示整屏。跟随范围由「背景显示器」决定,跨屏使用时请选择对应显示器,窗口超出所选屏幕的部分不会拉伸补齐。
高 DPI 显示缩放需要 we-capture 0.4.3 或更新版本,并同步更新前后端。捕获器会按显示器缩放转换屏幕坐标,使背景与窗口所在区域对齐;旧捕获器会提示升级。不提供屏幕坐标的旧捕获器、静态预览及浏览器回退仍居中铺满。原生捕获失败时,场景背景依次回退为浏览器渲染、提取纹理、预览图;当前通路显示在面板副标题。
F11,可在面板「快捷键设置」里修改)。开启时先切到新会话并隐藏会话界面、只留壁纸;再按一次、按 Esc,或点侧边栏任意按钮退出。F10),与面板里的「专注模式」按钮等效。.zip、.7z 或 .exe;智能粘贴可从分享文本识别链接、提取码、解压密码和启动文件。应用在「本地 → 应用」启动,列表显示名称、位置与下载时间。快捷键设置
在「视觉效果」与「壁纸读取位置」之间找到「快捷键设置」,点击对应功能右侧的键位按钮,再按下新按键或组合键即可替换;录制中按 Esc 取消。录制期间不会触发沉浸或专注切换,设置会自动保存。组合键需要完整匹配,例如绑定 Ctrl+K 后单按 K 不会触发。在输入框或可编辑文本区域内,普通字符及编辑键让位于输入;F10、F11 和组合键仍可触发。
当前版本已移除侧边栏 / 右上角状态圆点及桌面悬浮球;专注模式的任务状态响应保留。
壁纸同步界面
专注模式演示
壁纸库界面
设置面板
截图用于介绍界面,可能来自旧版本;其中若有状态圆点或桌面悬浮球,已不适用于 26.10.6-D。具体布局以当前版本为准。
常用设置在 wallpaper_share 面板中调整。开发或自定义部署可修改 src/index.ts 顶部 CONFIG 后重新构建:
| 配置项 | 默认值 | 用途 |
|---|---|---|
wallpaperEngineDir | '' | 自动检测 WE 安装目录,失败时手动指定 |
workshopContentDir | '' | 自动推导工坊目录 |
pollIntervalMs | 2000 | WE 状态轮询间隔,毫秒 |
sceneRendererPath | '' | 自动发现随包捕获器,或指定外部 renderer |
wallpaperEngineAssetsDir | '' | 默认使用 <weDir>/assets |
sceneRenderWidth / sceneRenderHeight | 1920 / 1080 | 捕获输出分辨率,低于原生尺寸时降采样 |
sceneRenderFps / sceneRenderQuality | 30 / 80 | 目标帧率与 JPEG 质量 |
sceneRenderMode | 'auto' | 后端通路选择:auto / browser / external |
particleRateScale / particleSizeScale | 1 / 1 | 浏览器粒子发射率与尺寸倍率 |
effectStrengthScale | 0.6 | 浏览器图层效果强度倍率 |
puppetMeshRender | true | 骨骼网格渲染 |
workspaceDir | '' | 工作区脉搏扫描根,默认插件进程工作目录 |
workspacePulseWindowMs | 90000 | 工作区变化保留时长,毫秒 |
workspacePulseAutoInstall | true | 自动安装内置工作区脉搏包 |
后端 sceneRenderMode 与面板的三档渲染按钮是不同设置。其余开发配置见源码。
出现背景空白、版本未更新或标签页缺失时:
wallpaper_share 标签页出现,检查浏览器控制台有无插件加载错误。/we-sync/diag 的显示器、捕获器版本和当前渲染状态;捕获模式下确认 WE 已运行。wallpaperEngineDir;反馈问题时附上插件版本、harness 版本和错误信息。pnpm install --frozen-lockfile
npm run typecheck
npm test
npm run build
npm run check:package
npm run test:package
npm pack
修改原生源码后,在 Windows 上先运行 npm run build:native。原生版本与源码指纹必须和 bin/ 程序一致;含非 ASCII 字符的工具链路径可能导致 GNU 链接器失败,可使用 ASCII 路径并配置 RUSTUP_HOME / CARGO_HOME。
Chrome 像素回归:
node tools/test-shake-browser.mjs
node tools/test-particle-browser.mjs
node tools/test-capture-browser.mjs
# Windows + WE 运行时:验证真实捕获帧
node tools/test-capture-browser.mjs --native
lib/index.js 和 lib/client.js 是随包预构建入口。面板版本由 package.json 在构建时注入,因此更新版本后必须重新构建。
src/scene/:场景协议、捕获中继、素材解析与骨骼模型。src/client/:面板、背景层、图层效果、粒子与窗口裁切。native/we-capture/:Windows 捕获器源码;bin/ 是随包程序。vendor/dwp/:DWP 运行时快照;src/market/、src/launcher/ 管理壁纸库与应用。docs/:格式与实现记录,包括 scene-fallback.md 和 effect-shake.md。提交与打包前遵守 AGENTS.md 和 编码与发布规范。package.json 必须为 UTF-8 无 BOM;发布验证应使用实际安装包,并确认新会话的前端标签可见。
我是 YRN-playmaker,这个插件的开发者。感谢你使用、反馈问题和分享这个项目。
如果这个插件对你有帮助,欢迎通过 Ko-fi 支持我请我喝杯咖啡,以加速维护、兼容适配与新功能开发提供支持。
Sync the active Wallpaper Engine (WE) wallpaper into the DeepSeek Harness (DSH) Web / Desktop UI. Use the wallpaper_share tab to adjust rendering, transparency, blur, shadows, the focus lens and the wallpaper library. This update was installed and tested with Harness 0.1.0-rc.6 and 0.2.0-rc.2.
Wallpaper sync reads WE state without changing your desktop wallpaper. The installation directory is detected automatically. Eye tracking runs locally; camera frames are not uploaded.
wallpaper_share page, Preview keeps the daytime blue background regardless of local time and uses lower-cost bubbles. Full retains day/night switching, warm-red water and a full silhouette at night, with matching splash and button colors.

See CHANGELOG.md for the full history. Repository source reports 26.10.13-D. As checked on 2026-10-12, npm latest / desktop point to 26.10.9-D and web to 26.10.3; these channels do not include this water-entry page fix.
A DSH Web profile is required. Native scene capture also requires WE to be running with a scene wallpaper on the same Windows computer.
Install this repository version from GitHub:
dsh plugin --profile web add github:YRN-playmaker/dsh-wallpaper_share
npm installation (desktop is the recommended default):
To get the Web version, use the npm web tag: --profile web selects the DSH Web profile, while @web selects the plugin's Web version. The web tag currently points to 26.10.3; replace @web with @26.10.3 to pin that version.
# Default desktop version (latest tag, -D version suffix)
dsh plugin --profile web add dsh-wallpaper_share
# Explicit desktop channel
dsh plugin --profile web add dsh-wallpaper_share@desktop
# Preserved Web version (web tag)
dsh plugin --profile web add dsh-wallpaper_share@web
# A locally packed installation archive
dsh plugin --profile web add ./dsh-wallpaper_share-26.10.13-D.tgz
After installing or upgrading, restart the DSH Web profile and refresh the browser page. The default address is http://127.0.0.1:3080; check the startup log for the actual port. Refreshing the page alone does not reload the backend.
Open a new session and find the wallpaper_share tab in the session area. Enable sync and choose a render mode there. With multiple displays, use Background monitor to select the source. The package includes prebuilt frontend, backend and Windows native programs, so users do not need to build it. Its cordis.patch.yml is added to the profile during installation.
Download deepseek-day-night.dwp and this plugin package from the 1.3.2 release.
Install the plugin, restart the DSH Web profile and refresh the page:
dsh plugin --profile web add ./dsh-wallpaper_share-26.10.13-D.tgz
Update the wallpaper to 1.3.2 in Wallpaper Library → Market, or import the downloaded DWP, then remount it.
Open wallpaper_share to view water entry, scroll to dive, then return to the conversation to check the exit transition. Select Full for caustics and bubble lighting; enable Focus to see breathing blur.
The portrait, ten splash frames, U-shaped reveal, silhouette gradient, scroll depth, lighting and UI intensity settings ship inside the DWP. The plugin supplies a generic renderer. Standard DWP players retain the day/night background, both texture tiers and automatic switching. Reduced-motion preferences suppress motion.
If the new effects are missing, confirm plugin 26.10.13-D and wallpaper 1.3.2, restart the backend and remount. Updating the DWP or refreshing the browser alone does not update the renderer. See tab-scene documentation.
| Mode | Scene wallpapers | Use case |
|---|---|---|
| Preview (eco) | Static preview image | Lowest resource use |
| Capture (perf, default) | Mirrors the desktop wallpaper rendered by WE; falls back to browser rendering when unavailable | WE's own particles, scripts and shader effects |
| Full (enhanced) | Parses .pkg files and redraws layers, particles and skeletal animation in the browser | Works without WE continuously running; some complex effects still differ |
Full is the mode's name; the browser renderer remains a subset of the WE engine.
| Wallpaper type | Preview | Capture / Full |
|---|---|---|
scene | Static preview | Native capture or browser rendering, as above |
video | Static preview | Source video playback with HTTP Range support |
web | Static preview | Source page in an iframe |
image | Static preview | Source image |
application / other | Static preview | Preview background; apps are managed in the library |
Window following applies to native scene capture only, on the computer running WE. A window on the left shows the left desktop region; moving it right shows the right region. Moving the pointer into the page calibrates the browser chrome offset. Fullscreen shows the whole display. Background monitor sets the capture boundary: select the corresponding monitor when moving between displays. Areas beyond the selected display are not filled by stretching its edges.
High-DPI display scaling requires we-capture 0.4.3 or newer, with both frontend and backend updated. The capture program converts screen coordinates using the display scale to align the background with the window; older versions show an upgrade hint. Older capture programs without screen geometry, static previews and browser fallback still use a centered cover layout. When native capture fails, the scene background falls back through browser rendering, extracted textures and the preview image. The panel subtitle identifies the active path.
F11, rebindable in the panel's Keyboard Shortcuts section). Entering switches to a new session and hides the conversation UI, leaving only the wallpaper; press the hotkey again, press Esc, or click any sidebar button to exit.F10) and equivalent to the panel's Focus Mode button..zip, .7z or .exe files using HTTP(S) direct links or 139 share links. Smart Paste detects the link, share passcode, archive password and launch file from a share post. Launch apps from Local → Apps; the list shows name, location and download time.Keyboard Shortcuts
Find Keyboard Shortcuts between Visual Effects and Wallpaper Read Locations. Click the binding button beside a function, then press a new key or key combination; press Esc to cancel recording. Immersive and focus shortcuts are suspended during recording, and new bindings are saved automatically. Modifiers must match exactly: K alone does not trigger a Ctrl+K binding. In input fields and editable text, plain character and editing keys are reserved for typing; F10, F11 and key combinations still work.
Sidebar / top-right status dots and the desktop floater have been removed. Focus mode still responds to task activity.
Wallpaper sync
Focus mode demonstration
Wallpaper library
Settings panel
These screenshots may show older versions. Any status dots or desktop floater shown are no longer available in 26.10.6-D; refer to the current interface for the layout.
Use the wallpaper_share panel for common settings. For development or custom deployments, edit CONFIG at the top of src/index.ts and rebuild:
| Key | Default | Purpose |
|---|---|---|
wallpaperEngineDir | '' | Detect WE automatically; set manually if detection fails |
workshopContentDir | '' | Infer the workshop directory |
pollIntervalMs | 2000 | WE state polling interval in milliseconds |
sceneRendererPath | '' | Discover the shipped capture program, or specify an external renderer |
wallpaperEngineAssetsDir | '' | Uses <weDir>/assets by default |
sceneRenderWidth / sceneRenderHeight | 1920 / 1080 | Capture output resolution; downsample when below native size |
sceneRenderFps / sceneRenderQuality | 30 / 80 | Target frame rate and JPEG quality |
sceneRenderMode | 'auto' | Backend path: auto / browser / external |
particleRateScale / particleSizeScale | 1 / 1 | Browser particle emission rate and size multipliers |
effectStrengthScale | 0.6 | Browser layer-effect strength multiplier |
puppetMeshRender | true | Skeletal mesh rendering |
workspaceDir | '' | Workspace Pulse root; defaults to the plugin process working directory |
workspacePulseWindowMs | 90000 | File-change retention in milliseconds |
workspacePulseAutoInstall | true | Automatically install the built-in Workspace Pulse package |
Backend sceneRenderMode is separate from the panel's three-mode switch. See the source for additional development options.
If the background is blank, the version looks old or the tab is missing:
wallpaper_share appears and inspect the browser console for plugin-loading errors./we-sync/diag for monitors, capture version and render status. Make sure WE is running when using Capture.wallpaperEngineDir if detection fails. Include the plugin version, harness version and error text when reporting a problem.pnpm install --frozen-lockfile
npm run typecheck
npm test
npm run build
npm run check:package
npm run test:package
npm pack
After changing native source, run npm run build:native on Windows first. Native versions and source fingerprints must match the programs in bin/. Non-ASCII toolchain paths can break the GNU linker; use an ASCII path and configure RUSTUP_HOME / CARGO_HOME if needed.
Chrome pixel regressions:
node tools/test-shake-browser.mjs
node tools/test-particle-browser.mjs
node tools/test-capture-browser.mjs
# Windows with WE running: validate actual captured frames
node tools/test-capture-browser.mjs --native
lib/index.js and lib/client.js are the shipped prebuilt entry points. The panel version is injected from package.json at build time, so rebuild after changing it.
src/scene/: scene protocol, capture relay, asset parsing and skeletal models.src/client/: panel, background layers, effects, particles and viewport cropping.native/we-capture/: Windows capture source; bin/ contains shipped programs.vendor/dwp/: DWP runtime snapshot; src/market/ and src/launcher/ manage wallpapers and apps.docs/: format and implementation notes, including scene-fallback.md and effect-shake.md.Follow AGENTS.md and the encoding and release rules before committing or packaging. package.json must be UTF-8 without a BOM. Validate the actual installation archive and confirm that the frontend tab appears in a new session.
I’m YRN-playmaker, the developer of this plugin. Thank you for using it, reporting issues and sharing the project.
If this plugin helps you, consider buying me a coffee on Ko-fi to support maintenance, compatibility improvements and new features.
FAQs

Security News
Cloudflare is acquiring Deno’s team, which will provide another year of bug fixes and security updates before ending support for the runtime.

Security News
Anthropic’s free OSS Scanner uses Mythos and other Claude models to find open source vulnerabilities and send maintainers reports with proposed fixes.

Security News
On Front Lines’ Early Adopters: CISO podcast, Andrew Becherer shares lessons from Datadog, weighs the long-term costs of AI-built tools, and explains how founders can actually gain a CISO’s trust.