shaobeichen / dsh-pocket
git clone https://github.com/shaobeichen/dsh-pocket.git
v2.12.0 · 5d ago
把 DeepSeek Harness 装进你的口袋:电脑上跑 dsh web,手机扫码即同步访问(局域网 + 公网,实时同屏)Put DeepSeek Harness in your pocket: run dsh web on your computer and access it synchronously by scanning a QR code on your phone (LAN + public network, real‑time screen mirroring)
+111
stars, 24h · #122
+~777
stars, 7 days · #166
+~3.3k
stars, 30 days · #166
2.2k
★ total · +59% this week
97
forks · 6 open issues
Star history (as recorded here)
LanguageJavaScript
LicenseGPL-2.0
Created2026-08-15 (2mo ago)
Last push5d ago
Watchers2
OwnerUser
Seen on GitHub Trending
- 2026-10-22 — #8 daily in javascript · +215 ★
GitHub topics
deepseekdeepseek-harnessdeepseek-harness-plugindshdsh-plugindsh-plugin-marketdsh-pluginsmobileqrremotetunnel
Links
README excerpt
DSH Pocket English | 中文 > 把 **DeepSeek Harness 装进你的口袋**:一个包、一个设置页,手机扫二维码就实时看到电脑上的同一个界面——人在外面也能用。 ⭐ 顺手留颗 Star,作者能高兴一整天 · 行,给你一颗 Star ## 这是什么 **你不在电脑前,也想用电脑上的 DeepSeek Harness。** - 下班路上,agent 在电脑上跑任务,你想掏出手机看看它干到哪了、结果如何 - 出门在外,突然想让电脑上的 agent 查点资料、写段代码,但没有远程桌面、没有 SSH - 电脑在宿舍/办公室,你人在外面,想随时"操控你的 DeepSeek Harness"——发任务、看输出、点审批 DSH Pocket 就是干这个的:**装上它,手机扫个码,就能实时看到并操控电脑上的 DeepSeek Harness 界面**——人在外面也能用。 实际效果——手机上的界面就是电脑上的界面,实时同步: ## ✨ 特性 | 特性 | 说明 | | ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | 📶 局域网扫码 | 装好即用:设置 → 手机访问,打开就有局域网二维码,手机连同一 WiFi 扫码即开(自动识别本机局域网 IP,**WSL 环境自动取 Windows 物理网卡 IP**) | | 🚪 局域网开关 | 设置页可**一键关闭/开启局域网访问**(切换时弹窗提醒):关闭后局域网二维码/链接立即失效,仅公网可用 | | 🌐 公网扫码(人在外面) | 点「开启公网访问」→ cloudflared 隧道 → 出公网二维码,4G/任何网络都能访问 | | 🏷️ 公网固定域名 | 可选「**命名隧道**」模式:填 Cloudflare Tunnel Token + 自己的域名,公网地址**固定不变**(重启不再变;见下方说明) | | 🔐 访问密码 | 公网链接默认使用 **8 位随机密码**(每次开启公网自动换新;**可自定义固定密码**——自定义后不再换新);局域网有独立的默认 **8 位随机密码**(默认开启,设置页可**一键关闭**——关闭后局域网扫码直连) | | 🔑 自定义密码 | 公网/局域网密码都可在设置页**设成自己固定的 8–64 位密码(英文字母大小写或数字)**(自定义后公网不再自动换新) | | 🧘 会话保持 | 手机输一次密码后**长期免输**(登录状态绑定电脑上的 dsh web 进程:只要它不重启,手机不用再输;**dsh web 重启/更新后需重新输入一次**) | | ⚡ 实时同步 | 流式输出走 WebSocket 全透传——**电脑上在输出,手机上同步在滚**,可双向操作;内置心跳保活(防路由器 NAT/省电机制静默断链,断线自动重连) | | 📱 移动端适配 | 窄屏自动变抽屉布局(移植 dsh-web-mobile,MIT):侧栏抽屉、会话全宽、状态栏安全区、触控优化 | | 🧭 可选右边栏 | 手机端显示原生右边栏入口;普通手机可在设置中关闭以保持紧凑,折叠屏展开后可更方便地同时使用终端底栏和右边栏 | | 📁 文件浏览 | 移动端「文件浏览」入口需要宿主提供 explorer 面板(dsh-web-ui 组件);官方 DSH 未内置时入口自动隐藏,不会出现"点了没反应" | | 🗜️ 传输压缩 | 大 JSON 响应自动 gzip/brotli(长会话 17MB → ~1MB,brotli 质量 6:快且省流量),手机加载更快、更省流量 | | 🔁 隧道自动恢复 | DSH 重启后自动重新拉起之前开着的公网隧道,无需手动重开 | | 🧩 零依赖安装 | 一个 npm 包、一个设置页,没有核心/适配器要分开装;无需账号、无需服务器 | ## 🚀 怎么用 **入口在哪**:安装完成并重启 `dsh web` 后,打开 **设置**,左侧边栏就能看到 **「手机访问」** 入口(和「通用设置」「模型」同级): **前提**:电脑上已装好 DeepSeek Harness。如果终端提示 `dsh: command not found`(找不到 dsh 命令),先安装: [code] [code] ### 局域网(同一 WiFi) 设置 → **手机访问** → 手机扫「📶 局域网」二维码 → 打开链接**输入局域网密码**(显示在设置页局域网区块,点「刷新」可换新,或点「自定义」设成自己固定的 8–64 位密码——英文字母大小写或数字)→ 打开的就是电脑上的 DSH,实时同步。 > 「**局域网访问**」开关默认**开**:可一键**关闭/开启**(切换时弹窗提醒)——关闭后局域网二维码/链接立即失效(手机打不开),**公网不受影响**;想恢复时再点「开」即可。 > > 局域网密码**默认开启**(安全优先)。如果只有自己用、嫌每次输密码麻烦,可在设置页局域网区块把「局域网访问密码」切到**关**——之后局域网扫码直连、无需密码(仅同一局域网设备可访问;**公网始终要密码**,不受影响)。 > > 手机登录一次后**长期免输**:只要电脑上的 dsh web 不重启,再次打开手机不用再输入(**dsh web 重启/更新后需重新输入一次**)。 > > 高级选项:自动识别在 Tailscale/VPN 等场景下可能选不到可达地址。可在「局域网地址」下拉框手动选择已检测到的 IP;一般不需要修改。 ### 公网(人在外面) 同一页点「**开启公网访问**」→ **每次都会先弹出安全免责声明**,勾选「我已知情」后才能开启(公司/涉密网络请先确认合规)→ 等隧道建立(首次会下载 cloudflared,macOS/Linux 走清华镜像秒下)→ 手机扫「🌐 公网」二维码 → 打开链接**输入访问密码**(密码显示在设置页公网区块,默认是**每次开启公网变新的 8 位随机密码**,也可点「自定义」设成 8–64 位固定密码——英文字母大小写或数字,自定义后不再换新)→ 人在外面(4G/公司网)也能访问。 > 更新到新版本:`dsh plugin --profile web update dsh-pocket --latest -w`(跨大版本时 `--latest` 是必须的,`^0.x` 范围不会自动升到 1.x)。 ### 公网固定域名(命名隧道,可选) 默认「快速隧道」的公网地址每次重启都会变(前缀随机)。想要**固定公网地址**,可用 Cloudflare **命名隧道**(需要 Cloudflare 账号 + 自己的域名): 1. 在 Cloudflare Zero Trust → **Networks → Tunnels** 创建