前言¶
DeepSeek Harness(DSH)的 Web GUI 面向桌面浏览器设计:宽屏布局、插件面板、终端与市场都假设你在电脑前操作。实际开发里,智能体回合可能跑很久,中间还会弹出阻塞式提问或工具审批;若你暂时离开工位,只能等回到电脑前再处理,流式输出和会话状态也无法在手机上可靠查看。
社区插件 dsh-pocket(npm 包 @restregular/dsh-pocket,界面显示名 随身访问 / Pocket Access)由维护者 RestRegular 发布,定位为 DSH 的移动端伴侣:在手机上继续会话、盯住流式输出、回答问题与审批、下载产物,并支持局域网或隧道远程访问。本文基于 GitHub 仓库 与 SkillHub 目录页 公开说明整理,便于同行评估是否安装使用。
这是什么¶
Pocket Access 是 DeepSeek Harness 插件,分类为客户端。它不替代宿主 Web GUI,而是额外提供一套为小屏重写的轻量移动页,并在需要时把完整桌面 GUI 反向代理到手机(「桌面直通」)。同一套 DSH 能力可在两种界面间切换:日常在轻量页查看、回复、审批;需要终端、插件市场或第三方插件面板时,一键加载与桌面相同的 bundle。
运行环境要求 Node.js >= 22.13(见 package.json engines)。当前 npm 版本为 0.15.2,许可证 MIT。GitHub 仓库 RestRegular/dsh-pocket 星标数为 1(以目录页与仓库页面为准)。
核心功能¶
下面按 README 中的能力分类说明,均可在安装后通过手机浏览器或 PWA 主屏幕使用。
两种界面¶
| 轻量界面(默认) | 桌面直通 | |
|---|---|---|
| 首屏 | 为小屏重写的会话列表与聊天流 | 完整桌面 bundle(含全部插件) |
| 适合 | 查看、回复、审批、下载产物 | 终端、市场、插件专属 UI |
| 切换 | 手机设置 →「界面」;或 GET /__pocket/surface?to=desktop |
同上 |
桌面直通通过反向代理整页宿主 GUI,并处理 Pocket 令牌与 GUI Cookie 两层认证;隧道地址变化时仍可使用。
会话与实时对话¶
- 会话列表按桌面工作区顺序分组,支持折叠、搜索、新建、置顶、重命名、归档、复制 Session ID。
- WebSocket 流式输出、历史分批加载、思考过程折叠、工具调用参数与结果、token 用量。
- 远程控制:发送 / 排队 / 插话、停止回合、模型与思考等级、权限预设、
/技能引用。
人机交互与文件¶
- 阻塞式提问在手机上作答;工具审批支持「允许一次 / 拒绝」;跨会话提醒;手机回答后可撤回桌面弹窗。
- 工作区文件树、文本/图片预览、
@路径引用、文件下载到手机;消息最多 4 张图片并支持本地压缩。
远程访问与宿主能力¶
- 局域网直连;隧道可选
cloudflared(推荐)、localtunnel、localhost.run、自有服务器 SSH、custom命令,或固定publicUrl;auto按 cloudflared → localtunnel → localhost.run 顺序尝试。 - 桌面 随身访问 / Pocket Access 面板生成带令牌的二维码;账户余额、保持电脑常亮、令牌轮换。
安全模型(摘要)¶
- 128 位随机访问令牌;链接含令牌,等同于本机 DSH 钥匙,不宜公开分享。
- 桌面面板只接受回环请求;文件读取限制在会话 cwd 或已登记工作区;GUI Cookie 留在 Pocket 内部。
- 首次手机打开写入 30 天有效 HttpOnly Cookie;泄露令牌时在面板「轮换令牌」可使旧链接失效。
移动页面为原生 ESM,运行时依赖主要为 ws;无前端构建链。
安装与启用¶
DSH 生态中插件通过 Plugin Manager 等方式安装 bundle,具体以你当前 Harness 版本文档为准。README 给出的安装标识如下。
从 npm 安装(Plugin Manager →「安装 Bundle」,或调用 plugin_manager 的 install_bundle):
@restregular/dsh-pocket
也可使用本地目录安装(示例路径来自 README,请改为你本机克隆或解压的路径):
D:\DeepseekHarnessProjects\dsh-pocket
以 link: 方式链到 profile 时,Windows x64 若需自动带上 cloudflared,需先在插件目录执行 pnpm install;从 npm 正式安装时由包管理器处理可选依赖 agentroam-cloudflared-win32-x64。
安装后:
- 刷新 Web GUI,在侧栏全局面板打开 随身访问 / Pocket Access。
- 用手机扫描面板「扫码连接」中的二维码(隧道在线时为公网地址,否则为局域网地址)。
- 建议将手机页面「添加到主屏幕」;iOS 使用 180/192 PNG 图标,避免 SVG 主屏幕空白。
典型用法¶
本机与局域网¶
- 打开侧栏 随身访问 / Pocket Access。
- 扫描二维码,或复制面板中的本机 / 局域网 / 公网地址。
- 在轻量界面处理会话与审批;需要完整桌面能力时,在设置中切换到「桌面直通」。
远程隧道(示例:自有 SSH 服务器)¶
在配置中可选用 tunnel: ssh(也可在桌面面板「公网入口」选「自有服务器」填写后切换)。README 示例片段:
tunnel: ssh
sshHost: 203.0.113.10
sshUser: root
sshKeyPath: ~/.ssh/id_ed25519
sshPort: 22
sshRemotePort: 8790
sshExposePort: 80
# 可选:有域名/HTTPS 反代时填写
# sshPublicUrl: https://pocket.example.com
要求服务器能免密 SSH 登录并装有 Node.js;sshExposePort 需在防火墙与安全组放行。直接监听公网 80 时为 HTTP,生产环境建议反代 HTTPS 并设置 sshPublicUrl。
状态文件默认路径:~/.dsh/pocket/state.json(即 $DSH_HOME/pocket/state.json),保存访问令牌、面板选项等;端口与隧道地址每次启动重新协商。
隧道方式速查¶
| 方式 | 说明 |
|---|---|
cloudflared |
Quick Tunnel,无需账号;其他平台将 cloudflared 放入 PATH 或设置 cloudflaredPath |
localtunnel |
需 lt;首次访问可能有 511 提示页 |
localhost.run |
通过 ssh -R,需出站 22 可用 |
ssh |
自有服务器反向转发 |
custom |
自定义命令,%PORT% 替换本地端口 |
publicUrl |
已有固定域名,不起隧道进程 |
适用场景与注意¶
适合谁: 经常在移动场景跟进 DSH 会话、需要及时处理工具审批或阻塞提问、或希望把手机作为「第二块屏」查看流式输出与下载工作区文件的 Harness 用户。
权限与安全: 插件与当前 DSH 进程同权运行,可访问宿主已开放的会话与工作区能力。安装前请阅读 源码 与 MIT 许可证,并理解令牌与隧道暴露面的风险;勿将带令牌的链接发到公开渠道。
生态说明: DSH 采用「一切皆插件」思路;SkillHub 等为社区目录,与 DeepSeek / 幻方无官方从属关系。
已知限制: README 设有「已知限制」章节,升级前可在仓库查看最新说明;部分 DNS 环境可能导致本机无法解析 *.trycloudflare.com,手机 DNS 通常仍可用,必要时改用局域网或其它隧道。
结尾¶
dsh-pocket 用轻量移动页加可选桌面直通,把会话、流式输出、提问审批与文件下载接到手机上,并配合局域网与多种隧道降低「必须坐在电脑前」的约束。若你需要在 Harness 工作流里补一层移动端访问,可从目录页与仓库 README 的「快速开始」「配置」「HTTP 接口」继续对照本机环境。