packages/dsh-task-board
zhu1090093659/dsh-web侧边栏多列任务看板:卡片交给真实 DSH 智能体会话执行,支持 cron 定时(Host 侧到点执行,关浏览器也生效)。
DSH 侧栏底部的内嵌抖音窗口:用 Electron webview 租约绕过 douyin.com 的 X-Frame-Options: DENY。仅桌面版。
An embedded Douyin window docked in the DSH sidebar footer — watch Douyin in the bottom-left corner while you keep working.
Desktop only. The panel needs DSH's Desktop renderer: it mounts a real Electron
<webview>through the preload bridge (dshDesktop.browser.acquire), which does not exist in a browser tab. In the Web UI the sidebar button still appears, and the panel explains why it cannot work.
douyin.com answers with X-Frame-Options: DENY and a CSP frame-ancestors
list that does not include 127.0.0.1, so an iframe is rejected outright. A
<webview> is a separate renderer guest, which frame-ancestors cannot reach —
that is the whole reason this plugin exists.
partition comes from the Desktop guest lease, so the Douyin login
survives panel close/reopen. Keep the partition persistent (see
dsh-侧栏浏览器分区持久化) if you want it to survive a restart too.⛶ control is intercepted and re-implemented in-page: Electron's
WEB_VIEW_ATTRIBUTES has no allowfullscreen, so the native request would be
silently denied. The shim rewrites the Fullscreen API inside the guest and
scales the video to the panel's own viewport.--dsw-alias-bg-base,
--dsw-alias-bg-layer-1), so it matches whichever skin you run.dsh plugin --profile desktop add dsh-douyin-webview
or list the package in your profile's dsh.profile.bundles.
MIT