dsh-pocket-plus
把 DeepSeek Harness 装进口袋,扫一次码就进去。内网 / Tailscale / Cloudflare 三条链路自动择优,断线自动切换。
What it is
把 DeepSeek Harness 装进口袋,扫一次码就进去。内网 / Tailscale / Cloudflare 三条链路自动择优,断线自动切换。
How to install
Run this in the DSH web profile, then refresh the page.
$ dsh plugin --profile web add 'git+https://github.com/Mrsirlila/dsh-pocket-plus.git#95a9c06d936c4553f2bf46032aec2932c2ce49a2'
DSH versions accepted
Undeclared
Author and traction
Mrsirlila · ★ 16 · Updated 2026-11-08
About this plugin
dsh-pocket-plus
把 DeepSeek Harness 装进口袋 —— 扫一次码就进去。
在手机上继续会话、盯住流式输出、回答问题与审批、下载产物。
内网 / Tailscale / Cloudflare 三条链路自动择优,断线自动切换,切换不用重新扫码。
> dsh-pocket-plus 是 [shaobeichen/dsh-pocket](https://github.com/shaobeichen/dsh-pocket) 的增强发行版。插件本体仍是那个插件(包名 dsh-pocket),我们在它上面打了七处补丁,并配了一个能自动择优三条链路的安卓 App。
>
> English — An enhanced build of the dsh-pocket plugin for DeepSeek Harness: the access PIN is embedded in the QR code so scanning enters directly, a read-only /dsh-pocket/entry.json lets the phone app sync the current public address, and the companion Android app probes LAN / Tailscale / Cloudflare in order and fails over automatically.
目录
- [为什么会有这个版本](#为什么会有这个版本)
- [三条链路](#三条链路)
- [和上游的差异](#和上游的差异)
- [界面预览](#界面预览)
- [快速开始](#快速开始)
- [安装](#安装)
- [扫码为什么不用输密码](#扫码为什么不用输密码)
- [常见问题](#常见问题)
- [升级与自愈](#升级与自愈)
- [安全模型](#安全模型)
- [仓库结构](#仓库结构)
- [开发](#开发)
- [反馈与贡献](#反馈与贡献)
- [License](#license)
为什么会有这个版本
上游把「手机上用 DSH」这件事做到了能用。真正拿它当日常入口之后,剩下的是几件很具体的麻烦:
- 扫完码还要再输一遍密码。 二维码里只有地址,密码得跟着地址一起带着走才行。
- 公网地址每次重启都变。 手机里存的旧地址直接
ERR_NAME_NOT_RESOLVED,得回电脑前重新扫一次。 - 手机离开家就回不去。 内网地址在外面不通,公网绕一圈又慢,中间没有一个更近的选择。
- DSH 重启之后手机黑屏。 代理发现浏览器带着
dsh-auth-*cookie 就不补 launch token,旧 cookie 直接换来 401。 - 对话里的宽表格被裁掉。 窄屏下
overflow-x:hidden,触屏又没有 hover,右侧那一列永远看不到。
这个版本就是把这五件事逐个补掉,并把「离开家也能连上」做成 App 里的自动切换。
> 功能介绍与更新记录视频:[BV1XaeU65EHJ](https://www.bilibili.com/video/BV1XaeU65EHJ)
三条链路
同一台电脑,三条路到达同一个 DSH。App 按 内网 → Tailscale → 公网 的顺序探测,选第一条真正通的加载,断了自动换下一条。
| 链路 | 地址形态 | 免密码 | 适用 | 速度 |
| --- | --- | --- | --- | --- |
| 内网 | http://192.168.x.x:3081 | 是 | 手机与电脑在同一 Wi-Fi | 最快 |
| Tailscale | http://100.x.x.x:3081 | 是 | 不同网络,手机与电脑登录同一个 tailnet | 接近内网,点对点 |
| 公网 | https://xxx.trycloudflare.com | 否(扫码免) | 任意网络,无需装任何东西 | 取决于 Cloudflare 中转 |
- 探测是 TCP + HTTP 双重判定:端口能连上还不算通,
GET /返回状态码< 500才算这条链路可用。 - 长按 App 顶栏的 ⚙ 可以在三个入口之间 锁定,锁定后不再被自动探测覆盖。
- 公网地址变了也没关系:App 连上任意一条链路时会去拉
/dsh-pocket/entry.json,把最新的公网地址与密码同步本地,下次出门不用重新扫码。 - Tailscale 那一条之所以免密码,是因为插件把
100.64.0.0/10(CGNAT)和 RFC1918 一并判定为「局域网」,走的是内网规则。手机要装 Tailscale 并登录同一个账号。
和上游的差异
插件侧七处补丁,全部只改行为、不改接口:
| # | 位置 | 改动 | 解决的问题 |
| --- | --- | --- | --- |
| ① | lib/service.mjs | 二维码文本追加 ?token= | 扫码直达,不再手输密码 |
| ② | lib/index.js | 新增只读路由 GET /dsh-pocket/entry.json | 手机同步当前公网地址与密码 |
| ③ | lib/tunnel.mjs | spawn 加 windowsHide: true | Windows 上弹黑框、关窗即断隧道 |
| ④ | lib/proxy.mjs | 上游 401 时清 dsh-auth-* cookie 并 302 重握手 | DSH 重启后手机黑屏 |
| ⑤ | client/mobile/mobile.css.ts | 表格容器可横向滚动、单元格解除最小宽度 | 宽表格右侧被裁 |
| ⑥ | lib/service.mjs 等 | 新增 Tailscale 卡片、tailscaleUrl、tailscaleQr | 第三条链路的入口 |
| ⑦ | client/mobile/mobile.css.ts | 窄屏强制 grid-template-columns: 0 minmax(0,1fr) 0 | DSH 0.2.2 窄屏主列宽度为 0、整页黑屏 |
App 侧(DSH掌上版-1.41.apk):
- 三入口优先级探测与自动降级、锁定入口
- 扫码分流:
100.64/10自动识别成 Tailscale 入口 - 连上后回拉
entry.json同步三条地址 - 表格渲染、401 自愈后自动重载
界面预览
左:三条链路 · 内网 / Tailscale / 公网各一张二维码 | 右:手机端会话 · 流式输出与代码块
左:宽表格 · 可横向滚动,长单元格自动换行 | 右:冷启动 · 加载插件中
> 截图为演示数据,域名、PIN、二维码均为示例。
快速开始
1. 装插件(Web profile):
dsh plugin --profile web add "dsh-pocket@github:Mrsirlila/dsh-pocket-plus#path:/plugin"
2. 重启 DSH,侧栏打开「DSH Pocket」设置页,能看到内网 / Tailscale / 公网三块卡片。
3. 装 App:下载 [DSH掌上版-1.41.apk](DSH掌上版-1.41.apk) 安装。
4. 扫码:手机扫任意一张二维码。带密码的那张会直接进入,不用再输 PIN。
安装
插件
推荐用 GitHub 子目录安装,升级时 pnpm update dsh-pocket 即可:
node "\lib\bin.js" plugin --profile web add "dsh-pocket@github:Mrsirlila/dsh-pocket-plus#path:/plugin"
也可以直接在插件市场里装上游 dsh-pocket,再手动覆盖 D:\deepseek\deepsleep\dsh-pocket-publish\plugin 里的文件 —— 但那样升级会被 pnpm 换回官方版,见 [升级与自愈](#升级与自愈)。
装完检查一下补丁还在:
$d="$env:USERPROFILE\.dsh\profiles\web\node_modules\dsh-pocket" (Get-Item "$d\lib\service.mjs").Length # 26509 = 补丁版;22202 = 官方原版
Compare in this category
The five most-starred plugins in the same category.
| Plugin | Author | Stars | Version | Updated |
|---|---|---|---|---|
| Mole | tw93 | 74.5K | 0.0.0 | 2026-11-10 |
| DeepSeek-Reasonix | esengine | 36.1K | 0.0.0 | 2026-11-10 |
| dsh-desktop | anywhere-labs | 35.6K | 0.4.1 | 2026-11-06 |
| awesome-dsh-plugin | awesome-dsh-plugin | 24.1K | 0.1.0 | 2026-11-10 |
| dsh-market | dsh-market | 11.8K | 1.73.17 | 2026-11-09 |