- Home
- Plugin
- Strumenti e capacità
- dsh-pocket
dsh-pocket
hotpot1993/dsh-pocket
把 DeepSeek Harness 装进你的口袋:一个包、一个设置页,手机扫码即同步访问电脑上的 DSH(局域网 + 公网,实时同屏)。
Installazione
dsh plugin --profile web add github:hotpot1993/dsh-pocketREADME
DSH Pocket
把 DeepSeek Harness 装进你的口袋:一个包、一个设置页,手机扫二维码就实时打开电脑上的同一个界面——人在外面也能用。
本仓库由 dsh-pocket 派生,并做了精简(见下方「与上游的差异」)。
这是什么
你不在电脑前,也想用电脑上的 DeepSeek Harness。DSH Pocket 让你用手机扫码就能看到并操控电脑上的 DSH——发任务、看输出、点审批,实时同步。
功能
| 功能 | 说明 |
|---|---|
| 👥 局域网扫码 | 打开设置 → 手机访问,即可看到局域网二维码,手机连同一 WiFi 扫码即开(自动识别本机局域网 IP,WSL 下取 Windows 物理网卡 IP) |
| 🌐 公网扫码 | 点「开启公网访问」→ cloudflared 隧道 → 出公网二维码,4G / 任何网络都能访问 |
| 🔐 访问密码 | 公网需 8 位数字密码(默认每次开启公网自动换新,可自定义固定密码);局域网有独立 8 位数字密码(默认开启,可关) |
| 🧘 会话保持 | 手机输一次密码后长期免输(绑定电脑上的 dsh web 进程;重启/更新后需重新输入一次) |
| ⚡ 实时同步 | 流式输出走 WebSocket 全透传,手机与电脑界面同步滚动,可双向操作;内置心跳保活与断线重连 |
| 🗜️ 传输压缩 | 大 JSON 响应自动 gzip/brotli 压缩(长会话 17MB → ~1MB),更省流量 |
| 🔁 隧道自动恢复 | DSH 重启后自动重新拉起之前开启的公网隧道 |
| 🧩 零依赖安装 | 一个 npm 包、一个设置页,无需账号、无需服务器 |
移动端适配:由外部插件 dsh-web-mobile(
@dsh-external/dsh-mobile-nav,MIT)提供,需单独安装——让窄屏变抽屉布局、状态栏安全区、触控优化。见下方安装。
安装
前提:电脑已装好 DeepSeek Harness。若 dsh: command not found,先 npm install -g @deepseek-ai/dsh(或每条命令前加 npx @deepseek-ai/dsh)。
# 1. 装插件(一个包全都有)
dsh plugin --profile web add @hotpot1993/dsh-pocket -w
# 2. (可选,推荐)装移动端适配插件——让 DSH 在手机竖屏下更好用
dsh plugin --profile web add github:mexiaosqwq/dsh-web-mobile
# 3. 重启 dsh web
npx @deepseek-ai/dsh web
重启后打开 设置,右侧边栏即可看到 「手机访问」 入口(与「通用设置」「模型」同级)。
局域网(同一 WiFi)
设置 → 手机访问 → 扫「📶 局域网」二维码 → 输入局域网密码(可刷新/自定义)→ 打开的就是电脑上的 DSH,实时同步。
- 「局域网访问」开关默认开,可一键关闭/开启(关闭后局域网二维码/链接立即失效,公网不受影响)。
- 局域网密码默认开启,可在设置页关闭(关闭后局域网扫码直连,仅同网络设备可访问;公网始终要密码)。
- 手机登录一次后长期免输;只要电脑上的 dsh web 不重启,再次打开无需再输。
公网(人在外面)
同一页点「开启公网访问」→ 每次先弹安全免责声明,勾选「我已知情」→ 等隧道建立(首次会下载 cloudflared)→ 扫「🌐 公网」二维码 → 输入 8 位访问密码 → 人在外面也能访问。
更新到新版本:
dsh plugin --profile web update @hotpot1993/dsh-pocket --latest -w(跨大版本需--latest)。
安全(必读)
- DSH 能执行你电脑上的代码。局域网二维码/URL 配上独立 8 位数字密码才是钥匙,请勿把二维码、URL 或密码发给别人。
- 开启公网前必须阅读并勾选免责声明(服务端强制校验,无法绕过)。公网 = 把能执行代码的 DSH 暴露到互联网,请用强密码、用完即关、涉密网络勿用。
- 公网 8 位数字密码 默认每次开启换新、旧链接立即作废;自定义密码后不再自动换新。
- 登录限速:同一 IP 连续输错 5 次锁定 60 秒,防止暴力破解。
- 公网 URL 由 cloudflared 随机分配,每次重启会变化(旧链接自动失效)。
- 公网密码存本机
$DSH_HOME/@hotpot1993/dsh-pocket/token(默认每次开启换新),局域网密码存token-lan,开关/自定义标记存settings.json。
常见问题
| 现象 | 原因与解决 |
|---|---|
dsh: command not found | dsh CLI 没装:npm install -g @deepseek-ai/dsh,或命令前加 npx @deepseek-ai/dsh |
ERR_PNPM_ADDING_TO_ROOT | pnpm 9 workspace 限制:安装/更新命令末尾加 -w |
| 装完/更新了但没变化 | 必须重启 dsh web 才生效 |
公网 error 1033 | 多半是本机代理/VPN(Clash 等 TUN 模式)掐断了隧道连接:先关掉代理的 TUN 模式,或彻底退出代理后重试;必要时给代理加直连规则放行 *.argotunnel.com、*.trycloudflare.com |
首次开启公网时「下载 cloudflared」失败:macOS/Linux 优先走清华镜像;Windows 走官方直连。全部失败时可手动安装 cloudflared(brew install cloudflared / winget install cloudflared 等),装好后插件直接用 PATH 里的,不再下载。
与上游的差异(本仓库精简点)
- 移除「一键更新 / 自重启 dsh web / 版本检测」——更新请走 CLI(见上)。
- 移动端适配外部化:删除内置的
dsh-web-mobile移植码,改为依赖外部@dsh-external/dsh-mobile-nav插件。 - 保留局域网 + 公网扫码同屏、代理、密码、免责声明等核心功能。
架构
| 文件 | 说明 |
|---|---|
lib/index.js | 插件入口:自动起代理 + 注册 RPC + 访问密码管理 + 局域网开关 + 桌面端适配 |
lib/settings.mjs | 设置持久化(局域网开关 / 密码开关 / IP 覆盖 / 自定义密码标记)存 settings.json |
lib/service.mjs | 服务:代理生命周期(端口自适应)、公网隧道(自动恢复)、状态快照(含二维码) |
lib/proxy.mjs | 改头反向代理:Host/Origin → loopback,HTTP + WebSocket 透传 + polyfill 注入 + gzip/brotli 压缩 + 按 Host 区分的访问令牌认证 |
lib/tunnel.mjs | cloudflared:多镜像源下载(清华优先)/自适应多线程/启动/解析公网 URL |
lib/web-rpc.js | loopback RPC:status / tunnel.start / tunnel.stop / 局域网与密码相关端点 |
client/ | 设置页「手机访问」(局域网/公网二维码 + 密码 + 免责声明);移动端适配由外部插件提供 |
bin/hotpot1993-dsh-pocket.mjs | CLI:局域网/公网模式,打印 URL + 二维码 |
开发
npm install
node client/build.mjs # 改 client/ 后重新打包
npm test # 代理 / 认证 / 压缩 / 隧道 / 服务 / RPC
npm run docs:sync # 同步「开发日志」/ docs 文档
开发日志 / 文档(标准文件路径)
| 类别 | 路径 | 用途 |
|---|---|---|
| 开发日志 | 开发日志/DEVLOG.md | 记录每次开发事项;npm run docs:sync 自动追加 |
| 需求 | docs/需求/ | 各版本功能需求 |
| 技术方案 | docs/方案/ | 关键实现方案与取舍 |
| 设计规范 | docs/设计规范/ | 代码风格、文档格式、目录约定 |
| 执行步骤 | docs/执行步骤.md | 一项目标的分步执行记录 |
约定:改代码 → 更新 docs/需求/docs/方案 → 跑 npm run docs:sync 汇总进开发日志;
npm run prepare 会把 git core.hooksPath 指向 .githooks,提交前自动触发。
致谢
- 移动端适配由 dsh-web-mobile(MIT)作为外部插件提供,请单独安装
- 公网隧道基于 cloudflared
License
GPL-2.0 —— 自由软件许可:可自由使用、修改、分发,但修改版必须同样以 GPL 开源并保留版权声明;商用同样适用。
有问题?欢迎反馈:请到 GitHub Issues 提交 🙏
Plugin correlati
archify (deepseek-harness)
tt-a1i/archify
WeKnora (dsh-weknora)
tencent/weknora
weknora
tencent/weknora
BrowserSkill (dsh-plugin-browserskill)
tencent/browserskill