Preface¶
The plugin ecosystem of DSH emphasizes “everything is a plugin”. When working in the DSH web profile, if you occasionally need to browse YouTube Shorts or Bilibili vertical videos, the common practice is to open a separate browser tab. dsh-shorts-wall moves this entry into DSH: it runs as a default side vertical bar by default, can also be switched to a draggable/resizable floating window, and allows switching between YouTube Shorts and Bilibili vertical videos in the same window.
It is maintained by imkingjh999, licensed under MIT, and the repository address is https://github.com/imkingjh999/dsh-shorts-wall.
Positioning¶
dsh-shorts-wall is a vertical short video plugin for DSH, targeting the web profile. It turns vertical content into a sidebar stream that is edge-attached, floating, and minimizable:
- YouTube Shorts: Uses official iframe embed playback.
- Bilibili vertical videos: Uses native mp4 video playback, proxied by the host, with draggable progress via Range.
It is suitable for placing on the edge of the workspace for browsing, requires no login, and does not replace the video sites themselves.
Core Features¶
Window Forms¶
The following window states can be switched between:
- Runs as a default side vertical bar.
- Can be switched to a draggable/resizable floating window.
- Can be recalled from a button in the bottom right corner after closing.
- When switching between floating, edge, and minimized states, the player remains mounted without reloading.
- 9:16 vertical lock, width/height does not exceed the viewport.
Dual Source Carousel¶
The top bar has a YT / Bilibili chip; clicking switches the source, and the selection is remembered.
The playback methods for the two sources are different:
| Source | Playback Method |
|---|---|
| YouTube Shorts | Official iframe embed |
| Bilibili vertical videos | Native mp4 video, proxied by host, draggable progress via Range |
When the YouTube source encounters a platform-level unavailability, the plugin will display a “YouTube temporarily unavailable” prompt and provide a one-click switch to Bilibili.
Switching & Continuous Play¶
You can switch to the next or previous video using the following methods:
- Scroll wheel
↑↓j/k‹/›buttons
Auto-play behaviors include:
- Automatically play the next video after finishing.
- Automatically continue the batch at the end.
- Automatically skip bad content; stop after skipping 3 consecutive items.
Keywords & Batches¶
Current keywords are displayed as chips; clicking the chip opens a keyword selection list; selecting a keyword switches the loading.
“Refresh batch of videos” means fetching a new batch of videos under the same keyword, not changing the keyword.
The keyword panel supports:
- Preset keyword library
- Custom region + keyword
- Inline editing
- Move up
- Delete
- Restore default
The keyword lists for both sources are persisted to localStorage independently.
Shortcuts & Language¶
Alt+S: One-click minimize; pressing again restores the floating/windowed/edge state before minimization. Auto-pauses during minimization, continues after restore.Alt+M: Quick mute/unmute.- UI follows the DSH host language (Chinese / English) with real-time switching.
Installation & Enablement¶
Prerequisites¶
- DSH ≥ 0.1.0 web profile.
- better-sidebar is no longer required.
- YouTube source requires the local browser to be able to access YouTube; the source is unavailable during platform risk control, but can be switched to Bilibili with one click.
Installation¶
Execute the installation command:
dsh plugin --profile web add github:imkingjh999/dsh-shorts-wall
After installation, restart dsh web and perform a hard refresh in the browser (⌘⇧R or Ctrl+Shift+R). After refreshing, a “Shorts” floating window entry will appear in the bottom right corner of the page.
Optional Configuration¶
If you need to configure proxy whitelists or personal proxies in the profile’s cordis.patch.yml, you can write:
- id: shorts-wall
config:
extraAllowSuffixes: [cdn.example.com] # Append domain suffixes to proxy whitelist
resolveProxyUrl: http://127.0.0.1:7890 # Optional: YouTube scraping/thumbnails use personal proxy (HTTP CONNECT)
There are two boundaries here:
extraAllowSuffixesis used to append proxy whitelist domain suffixes.resolveProxyUrlis the optional personal proxy; if not configured, it falls back to reading environment variables likeHTTPS_PROXY/HTTP_PROXY(only forhttp://).- Regardless of the source, only YouTube domain names go through the tunnel; Bilibili API and video CDN always connect directly.
Typical Usage¶
- After installation and refresh, open the plugin via the “Shorts” entry in the bottom right corner of the page.
- Click the
YTorBilibilichip in the top bar to switch sources. - Click the keyword chip to open the keyword selection list; you can directly select a keyword.
- When maintaining the keyword library, open the keyword panel to replace or append the whole set of presets, or add region + custom keywords.
- Switch videos using the scroll wheel,
↑↓,j/k, or‹/›buttons; use “Refresh batch of videos” to fetch a new batch under the same keyword. - Press
Alt+Sto temporarily collapse; pressAlt+Mto mute or unmute.
Local Development Installation¶
If installing from a local source code link, first enter the web profile directory:
cd ~/.dsh/profiles/web
pnpm add link:~/projects/dsh-plugins/dsh-shorts-wall
Then append "dsh-shorts-wall" to dsh.profile.bundles in package.json, and execute:
pnpm install && pnpm run build
in the local plugin directory linked.
Applicable Scenarios & Notes¶
- It states it is for personal viewing only; all traffic goes through anonymous public interfaces and official playback channels; no login, no cracking, no forged signatures. Please comply with the corresponding platform’s terms of service before use.
- The plugin runs with the current
dshprocess permissions. It is recommended to check the source code, dependencies, and license before installing. - Anonymous file quality: YouTube is determined by the official embed; Bilibili is about 480p/720p, higher requires login.
- YouTube anonymous search has no pagination: about 15-30 items per batch, continuation relies on re-searching with the same keyword for deduplication.
- YouTube source requires the local browser to be able to access YouTube; the source is unavailable during platform risk control, but can be switched to Bilibili with one click.
- The README states that
review_auditis not a security authentication, the score only indicates the currently measurable engineering health.
Conclusion¶
dsh-shorts-wall provides a vertical short video entry around the DSH web workspace: default edge-mounted, floating, and minimizable, supporting dual-source carousel for YouTube Shorts and Bilibili vertical videos.
Repository address: https://github.com/imkingjh999/dsh-shorts-wall