The DSH Web GUI is designed for desktop use and has a poor experience on mobile. dsh-deepsleep specifically addresses these two issues: it adapts the layout for mobile through a plugin and provides a password-protected LAN proxy so you can access it directly from your phone.
What Is This¶
This is a DSH client plugin maintained by xxxsirrrr. It has two main parts: a mobile layout adaptation plugin and a LAN access proxy. The plugin follows the MIT license.
Core Features¶
Mobile Layout Adaptation
The desktop three-column layout automatically switches to a single-column conversation flow, drawer-style sidebar, and floating detail panel at mobile widths. The plugin automatically adjusts the layout structure based on viewport width.
Mobile-Specific Polish
Supports 100dvh dynamic viewport, safe-area notch adaptation, input-field zoom prevention, horizontal scrolling for code blocks, and 44px touch targets.
Polyfill Support
Provides a crypto.randomUUID polyfill for non-localhost environments, ensuring the DSH client works correctly over LAN HTTP.
Password-Protected LAN Proxy
Provides a password-protected LAN access proxy. When accessed from a phone, it automatically handles Host header rewriting for WebSocket/SSE support.
Installation and Enablement¶
Install this directory as a bundle for the web profile.
dsh plugin --profile web add -w <path-to-this-directory>
After installation, restart dsh web (plugin collection changes take effect only after restart). At desktop widths, it produces no visible changes; on mobile, it activates automatically.
Typical Usage¶
Start the Proxy
You can use the PowerShell script or run the MJS file directly.
# 使用 PowerShell 脚本(会交互式提示密码和端口)
powershell -ExecutionPolicy Bypass -File start-mobile-link.ps1
# 或直接运行代理(默认端口 3082)
node lan-proxy-3080.mjs
How to Access
On your phone, open http://<电脑局域网IP>:<代理端口>. On first access, a login page is shown; after entering the correct password, you can use it normally.
Use Cases and Notes¶
Use Cases
It is recommended to use this only on a secure, trusted network (such as home Wi-Fi). It is suitable for developers who need to view DSH status or perform simple interactions on a mobile device.
Security Warnings
1. The proxy uses plaintext HTTP transport; the password is not encrypted within the LAN and cannot prevent packet sniffing.
2. DSH itself has no authentication layer; this proxy only provides a password gate.
3. proxy-password.txt is excluded by .gitignore; do not commit it to the code repository.
4. Do not enable this proxy on public networks. Use Tailscale or HTTPS for stronger protection.
Summary¶
dsh-deepsleep combines DSH’s mobile experience and remote access capability into one package, making it suitable for users who want to operate DSH in mobile scenarios.