dsh-web
zhu1090093659
DeepSeek Harness (DSH) Web 插件聚合生态 · 万物皆插件,通过创意工坊分发||DeepSeek Harness (DSH) Web Plugin Aggregation Ecosystem · Everything is a plugin, distributed via the Creative Workshop
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:YRN-playmaker/dsh-wallpaper_share
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
把 Wallpaper Engine(WE)当前壁纸同步为 DeepSeek Harness(DSH)Web 界面的背景,在 wallpaper_share 标签页调整渲染模式、透明度、模糊、阴影、专注透镜与壁纸库。已适配 harness 0.1.5。
同步功能读取 WE 状态,不更改桌面壁纸。安装目录会自动检测;眼动追踪在本机推理,摄像头画面不上传。
完整记录见 CHANGELOG.md。本仓库版本为 26.10.3;npm 的实际可用版本以页面徽章和注册表为准。
需要 DSH Web profile。使用原生场景捕获时,还需要在同一台 Windows 电脑上运行 WE 并应用场景壁纸。
从 GitHub 安装本仓库版本:
dsh plugin --profile web add github:YRN-playmaker/dsh-wallpaper_share
其他来源:
# npm 当前版本
dsh plugin --profile web add dsh-wallpaper_share
# 自行打包的本地安装包
dsh plugin --profile web add ./dsh-wallpaper_share-26.10.6-D.tgz
安装或升级后,重启 DSH Web profile 并刷新浏览器页面。默认地址为 http://127.0.0.1:3080,实际端口以启动日志为准。仅刷新页面不会更新已加载的后端程序。
新会话的会话区会出现 wallpaper_share 标签页;在其中开启同步并选择渲染模式。多显示器可通过「背景显示器」锁定来源。安装包包含前后端及 Windows 原生程序,用户无需自行构建;cordis.patch.yml 会随插件安装接入 profile。
| 模式 | 场景壁纸(scene) | 适用情况 |
|---|---|---|
| 预览(eco) | 显示静态预览图 | 节省资源 |
| 捕获(perf,默认) | 镜像 WE 正在渲染的桌面壁纸;不可用时回退浏览器渲染 | 使用 WE 自身的粒子、脚本和 shader 效果 |
| 完整(enhanced) | 解析 .pkg,在浏览器中重绘图层、粒子与骨骼动画 |
不依赖 WE 持续运行;部分复杂效果仍有差异 |
「完整」是模式名称,浏览器渲染器仍是 WE 引擎的子集。
| 壁纸类型 | 预览 | 捕获 / 完整 |
|---|---|---|
scene |
静态预览 | 按上表选择原生捕获或浏览器渲染 |
video |
静态预览 | 播放源视频,支持 HTTP Range |
web |
静态预览 | 在 iframe 中加载源页面 |
image |
静态预览 | 显示源图 |
application / other |
静态预览 | 背景回退预览;应用可在壁纸库中管理 |
窗口跟随仅用于原生 scene 捕获,在运行 WE 的同一台电脑上生效。小窗口位于屏幕左侧就显示左侧区域,移到右侧就显示右侧区域。鼠标移入页面后自动校准标题栏偏移;全屏时显示整屏。跟随范围由「背景显示器」决定,跨屏使用时请选择对应显示器,窗口超出所选屏幕的部分不会拉伸补齐。
需要新版本捕获器和前后端同时更新。旧捕获器、静态预览及浏览器回退仍居中铺满。原生捕获失败时,场景背景依次回退为浏览器渲染、提取纹理、预览图;当前通路显示在面板副标题。
F11,可在面板「快捷键设置」里改成任意按键)。开启时先切到新会话并隐藏会话界面、只留壁纸;再按一次、按 Esc,或点侧边栏任意按钮退出。F10),与面板里的「专注模式」按钮等效。.zip、.7z 或 .exe;智能粘贴可从分享文本识别链接、提取码、解压密码和启动文件。应用在「本地 → 应用」启动,列表显示名称、位置与下载时间。壁纸同步界面
专注模式演示
壁纸库界面
设置面板
截图用于介绍界面,具体布局以当前版本为准。
常用设置在 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;发布验证应使用实际安装包,并确认新会话的前端标签可见。
Sync the active Wallpaper Engine (WE) wallpaper into the DeepSeek Harness (DSH) Web UI. Use the wallpaper_share tab to adjust rendering, transparency, blur, shadows, the focus lens and the wallpaper library. Adapted for harness 0.1.5.
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.
See CHANGELOG.md for details. The repository version is 26.10.6-D; the npm badge and registry show the version actually available on npm.
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
Other sources:
# Current npm version
dsh plugin --profile web add dsh-wallpaper_share
# A locally packed installation archive
dsh plugin --profile web add ./dsh-wallpaper_share-26.10.6-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.
| 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.
This requires updating the capture program, frontend and backend together. Older capture programs, 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.Wallpaper sync
Focus mode demonstration
Wallpaper library
Settings panel
These screenshots illustrate the interface; the current layout may differ.
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.
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: ui。