Skills Plugins MCP Prompt Model 导航 博客 资讯 我的中心

dsh-pocket

把 DeepSeek Harness 装进你的口袋:一个包、一个设置页,手机扫码即同步访问电脑上的 DSH(局域网 + 公网,实时同屏)。

hotpot1993 @hotpot1993 ⬇ 1 ★ 0 main

安装

dsh plugin --profile web add github:hotpot1993/dsh-pocket
下载安装清单

需要可复现安装时,可在仓库后追加 #commit 固定提交。

把 DeepSeek Harness 装进你的口袋:一个包、一个设置页,手机扫码即同步访问电脑上的 DSH(局域网 + 公网,实时同屏)。

该插件未提供要点说明,请参考仓库 README。

  1. 安装并启动 DeepSeek Harness:npx @deepseek-ai/dsh web
  2. 在终端执行上面的安装命令(CLI 会解析插件并核验来源)
  3. 用 dsh plugins list 确认已安装,必要时重启 Harness 生效

插件以当前 dsh 进程的权限运行,安装时可能执行代码。请先通读仓库源码与许可证,确认无破坏性命令与越权访问;本站只做索引,不对第三方插件安全性作担保。

代码仓库github.com/hotpot1993/dsh-pocket
许可证GPL-2.0
主要语言main
下载量1
GitHub 星标0
最近推送2026-08-28
收录日期2026-09-19
分类工具与能力

事实信息来自公开插件目录快照(2026-10-01),介绍文案由本站再加工。

以下为插件仓库 README 全文(原始内容,由公开目录抓取整理)。

[图片: DSH Pocket]

DSH Pocket

English | 中文

> 把 **DeepSeek Harness 装进你的口袋**:一个包、一个设置页,手机扫二维码就实时打开电脑上的同一个界面——人在外面也能用。

本仓库由 [dsh-pocket](https://github.com/shaobeichen/dsh-pocket) 派生,并做了精简(见下方「与上游的差异」)。

## 这是什么

你不在电脑前,也想用电脑上的 DeepSeek Harness。DSH Pocket 让你**用手机扫码就能看到并操控电脑上的 DSH**——发任务、看输出、点审批,实时同步。

  [图片: 手机上的 DSH 界面]

## 功能

| 功能 | 说明 |
|---|---|
| 👥 局域网扫码 | 打开设置 → 手机访问,即可看到局域网二维码,手机连同一 WiFi 扫码即开(自动识别本机局域网 IP,WSL 下取 Windows 物理网卡 IP) |
| 🌐 公网扫码 | 点「开启公网访问」→ cloudflared 隧道 → 出公网二维码,4G / 任何网络都能访问 |
| 🔐 访问密码 | 公网需 **8 位数字密码**(默认每次开启公网自动换新,可自定义固定密码);局域网有独立 **8 位数字密码**(默认开启,可关) |
| 🧘 会话保持 | 手机输一次密码后**长期免输**(绑定电脑上的 dsh web 进程;重启/更新后需重新输入一次) |
| ⚡ 实时同步 | 流式输出走 WebSocket 全透传,手机与电脑界面同步滚动,可双向操作;内置心跳保活与断线重连 |
| 🗜️ 传输压缩 | 大 JSON 响应自动 gzip/brotli 压缩(长会话 17MB → ~1MB),更省流量 |
| 🔁 隧道自动恢复 | DSH 重启后自动重新拉起之前开启的公网隧道 |
| 🧩 零依赖安装 | 一个 npm 包、一个设置页,无需账号、无需服务器 |

> **移动端适配**:由外部插件 [dsh-web-mobile](https://github.com/mexiaosqwq/dsh-web-mobile)(`@dsh-external/dsh-mobile-nav`,MIT)提供,需单独安装——让窄屏变抽屉布局、状态栏安全区、触控优化。见下方安装。

## 安装

**前提**:电脑已装好 [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness)。若 `dsh: command not found`,先 `npm install -g @deepseek-ai/dsh`(或每条命令前加 `npx @deepseek-ai/dsh`)。

```sh
# 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 + 二维码 |

## 开发

```sh
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](https://github.com/mexiaosqwq/dsh-web-mobile)(MIT)作为外部插件提供,请单独安装
- 公网隧道基于 [cloudflared](https://github.com/cloudflare/cloudflared)

## License

[GPL-2.0](LICENSE) —— 自由软件许可:可自由使用、修改、分发,但**修改版必须同样以 GPL 开源**并保留版权声明;商用同样适用。

---

**有问题?欢迎反馈**:请到 [GitHub Issues](https://github.com/hotpot1993/dsh-pocket/issues) 提交 🙏

数据来源:公开的 DeepSeek Harness 插件目录与各插件 GitHub 仓库。本站为独立第三方目录,与 DeepSeek、幻方(High-Flyer)及插件作者均无隶属或背书关系。

每日精选 Skill 推荐,免费送到你邮箱

输入邮箱,每天接收一个精选 AI Agent 技能推荐。完全免费,持续更新。

提交后我们会发送一封确认邮件,点击邮件里的链接才会开始收信。

完全免费,取消任意时间。我们不会发送垃圾邮件。