How to use dsh-pocket
Add a QR code entry to DSH for screen sharing. Users scan the QR code with their phone to view and operate DeepSeek Harness on the computer in real-time. Connects directly over LAN or via cloudflared tunnel for public networks.
This article is auto-derived from indexed fields (wiki / faq / compatibility_json), not freshly AI-generated.
This article is derived from the plugin's already-indexed fields (wiki / faq / compatibility_json / readme), not freshly generated by AI. Source field is noted at the end of each section.
Quick start
dsh-pocket
— source: plugin_wiki.wiki_content
Install & verify
dsh plugin --profile web add dsh-pocket
Run the command above in your DSH Web Profile. Then enable the plugin in the plugin list.
— source: plugins.install
Key points
- 下班路上,agent 在电脑上跑任务,你想掏出手机看看它干到哪了、结果如何
- 出门在外,突然想让电脑上的 agent 查点资料、写段代码,但没有远程桌面、没有 SSH
- 电脑在宿舍/办公室,你人在外面,想随时"操控你的 DeepSeek Harness"——发任务、看输出、点审批
- DSH 能执行你电脑上的代码。局域网二维码/URL 配上独立 8 位数字密码才是钥匙(密码默认开启,可关——关闭后局域网扫码直连,仅同一网络设备可访问),请勿把局域网二维码、URL 或密码发给别人
- 公网有 8 位数字密码保护:链接随机分配、每次开启换新密码、旧链接立即作废——泄露了也进不来,改密码/重开即可作废
— source: plugin_wiki.readme_en (fallback readme_raw)
FAQ
Where do I access it after installation?
After restarting dsh web, go to the Settings page, and you'll see a new 'Phone Access' entry in the left sidebar (at the same level as 'General Settings' and 'Models'). The LAN QR code will display immediately.
What's the difference between LAN and public network modes?
LAN mode requires the phone and computer to be on the same WiFi, and access speed depends on the local network; public network mode generates a random public URL through a cloudflared tunnel, usable on 4G or any network, but both the URL and access password change every time it's enabled.
Is an access password required?
Public network links always require an 8-digit password, which automatically refreshes each time the public network is enabled, immediately invalidating the previous link. LAN passwords are enabled by default and can be disabled with one click in the LAN section of the settings page (once disabled, devices on the same network can connect directly by scanning the QR code).
Why doesn't it take effect after installation/update?
You must restart the dsh web process, as the currently running process is still loading the old plugin code. The settings page provides a one-click restart button (except for desktop environment), or you can manually stop dsh web and restart it.
What to do when public network mode reports error 1033?
This is usually caused by local proxy/VPN (Clash, Surge, v2ray, sing-box TUN/enhanced mode) cutting off the cloudflared tunnel. First, disable the proxy's TUN mode or exit the proxy software and try again; when network environment is limited, using mobile hotspot + LAN mode can also fully meet the 'usable while outside' requirement.
How to handle port 3081 being occupied?
When an old dsh-pocket process occupies the port, the new process will automatically try the next port (consecutive 10 ports). If there's still a conflict, you need to manually terminate the old process: on macOS/Linux, use lsof -ti :3081 | xargs kill -9, on Windows, use netstat -ano to find the LISTENING PID and then taskkill /PID.
Can it be used on DSH Desktop?
The desktop version's QR code sync function works normally, but one-click update and one-click restart are managed by DSH Desktop itself, and this plugin will actively disable these two functions to avoid conflicts. Additionally, the desktop's 'advanced' mode doesn't support phone access yet (it will show a prompt overlay), so you need to switch to 'compatibility' mode and restart.
How to upgrade to version 1.x?
Use dsh plugin --profile web update dsh-pocket --latest -w to upgrade (with --latest flag to cross ^0.x range and upgrade to 1.x). After the update completes, you must restart dsh web to activate the new code.
— source: plugin_wiki.faq_json
Compatibility
- DSH: 未声明
- Node: >=22
- Platforms: macOS, Windows, Linux
— source: plugin_wiki.compatibility_json
Pitfalls
Review the upstream repo before installing. This guide is auto-derived from indexed fields and may lag the latest release. If anything contradicts the official docs, treat the upstream source as authoritative.
— source: general rule