手机远程控制 DeepSeek Harness
用 ngrok 免费隧道把 dsh 网页版装进手机浏览器,不用装 App、不动路由器,八张实测截图走完全流程。
最近更新: 2026-09-30
DeepSeek Harness 天生就是个网页应用:Agent 跑在你家里的电脑上,操作界面却是浏览器里的 localhost:3080。视频里说得很到位——网页是通用平台,这正是它和 Codex、Claude Code 最大的不同:想远程不需要任何配套 App,只要让这个网页能被外面访问到就行。
这篇攻略跟着两支公开实测视频(来源见页尾)把同一件事讲透:dsh 在家里或服务器上跑着,人在外面,手上有手机。解法就是 ngrok 内网穿透——把本地 3080 端口发布成一个公网链接,可以自己敲命令,也可以直接让 Agent 替你开好。
七步搞定 DeepSeek Harness 远程访问
- 1
先把家里那台电脑上的 Harness 跑起来
远程的前提是家里在线:README 给的这条命令会启动网页端,控制台显示它跑在 localhost:3080。首次启动会让你填 DeepSeek API Key,去开放平台的 API keys 页面新建一个,确认弹窗后粘贴进去。这台机器别关机——等会儿手机连的就是它。
$npx @deepseek-ai/dsh web
一条命令启动全部——本攻略其余步骤都默认这个进程在家里跑着。看视频 4:40 处 
首次启动要填 Key:在平台新建一个,确认弹窗后交给 Harness。看视频 5:17 处 - 2
注册 ngrok,拿到 authtoken 授权码
开隧道需要一个免费的 ngrok 账号。后台的 Setup & Installation 页面一站式列齐了三样东西:对应系统的客户端安装命令、带你个人授权码的 ngrok config add-authtoken、还有转发命令。把授权码复制下来——没有它隧道起不来。(第二支视频是从 Gateway → Authtoken 进到同一页的。)

安装、授权码、转发命令集中在这一页——授权码就在这里复制。看视频 10:29 处 - 3
三条命令打通 3080 端口
在同一台机器的终端里依次执行:先装 ngrok 客户端(视频里是 Windows 的 winget,macOS 用 Homebrew 同理),再把授权码登记进去,最后让 ngrok 指向 Harness 端口。ngrok http 3080 会打印一个类似 https://xxx.ngrok-free.app 的转发地址——这个随机网址就是你从外网回家的门。
$winget install ngrok.ngrok$ngrok config add-authtoken <YOUR_AUTHTOKEN>$ngrok http 3080
授权码登记完成、隧道启动——下一条命令打印的公网地址就是手机要访问的链接。看视频 10:40 处 - 4
更省事:直接在对话里让 Agent 自己开隧道
视频里最秀的一步:博主直接让跑着的 Harness 自己把 3080 端口暴露出去。Agent 挂上 ngrok 插件,发现 winget 装的版本太旧就自己下载了新版,登记授权码、启动隧道、确认本地服务返回 200,最后把公网地址连同一个复制按钮贴进对话——还附了一句提醒:免费版的链接是随机的,重启就换。

Agent 自己的总结:地址已生成、转发到 3080,还提醒免费链接重启会变。看视频 10:56 处 - 5
手机打开公网链接,过一次访问确认页
把 ngrok-free.app 链接发到手机上,微信、二维码都行。首次访问会先看到 ngrok 免费版的 "You are about to visit" 拦截页——它是为了防止有人拿隧道做钓鱼页。点一次 Visit Site,完整的操作界面就在手机浏览器里打开了。

点一次 Visit Site,这个浏览器之后就不会再被拦。看视频 11:04 处 - 6
还是原来那个会话:历史、状态全同步
手机上打开的不是阉割版查看器:隧道转发的就是家里那个 localhost:3080 进程,会话列表、聊天历史、正在跑的 ngrok 任务全都原样在这。第二支视频实测的就是这个效果——这台电脑上发的指令,另一台机器上实时出现,两边都能同时指挥 Agent。

历史记录、会话状态、隧道的备注说明——手机上看到的和家里屏幕一模一样。看视频 11:28 处 - 7
用斜杠命令远程指挥
本地能用的远程全都能用。输入 / 呼出命令菜单:/compact 压缩上下文(手机上篇幅长了最实用),/export 导出当前会话,/permissions 切换沙箱权限,/model 换模型,外加 /plan 和 /feedback。

整个命令菜单远程都能用——小屏幕上 /compact 用得最多。看视频 11:52 处
浏览器访问:dsh web 命令与 Web UI
在碰任何隧道之前,Harness 本来就有一张浏览器面孔:官方 dsh web 命令在本机 127.0.0.1:3080 启动 Web UI 并自动打开默认浏览器。后面的一切——ngrok、隧道、手机客户端——都是为了从别的地方访问同一个页面。
npx @deepseek-ai/dsh web
一条命令,不用全局安装。Web UI 监听 127.0.0.1:3080 并自动开浏览器;加 --no-open 可以跳过(SSH 场景好用)。URL 由命令打印——如果页面提示 authentication required,重新打开命令打印的那个完整地址,别手敲裸地址。
默认只听本机回环——这是设计
Web UI 开箱只监听 127.0.0.1,同一 Wi-Fi 下的手机直接敲电脑 IP 是进不去的。想扩大访问圈有两条正路:一条转发 3080 端口的隧道(上面的 ngrok 步骤),或者把配对交给插件来管——这就是下面 dsh-pocket 的活。
手机优先?从 dsh-pocket 开始
装上 dsh-pocket(dsh plugin --profile web add dsh-pocket -w),再跑一次 dsh web,设置里会多出手机访问面板:带 8 位密码的局域网二维码,外加可选的 cloudflared 公网隧道。逐帧实测教程在 /learn/dsh-pocket;远程与手机访问集合(/collections/remote-mobile)把各路方案摆在一起对比。
手机客户端:到底有没有 DSH App?
用浏览器远程访问是一回事,手机上有个真正的 App 是另一回事。目前有四支客户端,而且它们并不都是同一类东西。
kelai141/dsh-mobile-apk(★545)
安卓壳:WebView 界面 + 内嵌 Termux 运行时快照,解压运行 APK 就能在手机上本地跑 DSH。不需要 root,也不用另外装 Termux。
clarklevis1995/dsh-mobile(★358)
原生 iOS 客户端,通过 dsh-plugin-mobile-gateway 这个 WebSocket 网关插件连回你的电脑。手机只是客户端,活还是电脑在干。
saya-ch/dsh-mobile(★318)
Android App 加一支安全远程访问插件,覆盖局域网与远程连接,移动界面可高度自定义。形态和 iOS 客户端一样,平台不同。
不是手机客户端:zseven-w/dsh-ios(★308)
星数高、极容易看错:这支插件是把一个实时 iOS 模拟器(或 USB 连接的真机)放进桌面端对话里,让 agent 去操作它,不是把 DSH 装进手机。安卓方向的 sorsama/deepseek-harness-mobile(★98)、scspotato/dsh-remote(★98)排在更后面补位。
Web 暴露安全:密码、MFA、多租户
dsh web 一旦能被机器外面访问,三个问题立刻出现:谁能打开、怎么证明身份、是不是共用同一套实例。插件对这三个问题都有答案,而「dsh web 密码」上一轮实测 9.6——那一批里最容易的词,通常意味着答案缺失,而不是真的容易。
给 Web UI 加一道密码
gdwhisper/dsh-web-startup-auth(★47)给远程 Web 启动加用户名/密码认证,slywalker2006/dsh-passwords(★64)更进一步做成服务级网关。密码能挡住知道地址的随手访问,但它本身不加密任何东西。
MFA 与角色权限
xgone/dsh-remote(★66)写了登录、MFA 两步验证、角色权限和远程文件预览,是这一簇里最接近真正访问控制的一支。juanwang-buaa/dsh-full-remote(★44)走审计路线:token 门控、按设备隔离会话。
一套实例多人用
slywalker2006/dsh-passwords(★64)把 DSH 变成多租户平台,pointer-a/dsh-server-login(★28)让用户注册、管理员审核,每人一套相互隔离的环境。只需要按设备授权的话,summer1238/dsh-remote-web-gateway(★155)用扫码配对 + 可随时撤销的独立设备授权。
DeepSeek Harness 远程访问常见问题
把 Harness 挂上公网之前,先看清楚这几件事。
手机上要装 App 吗?
不用。DeepSeek Harness 是网页应用,浏览器就是唯一的客户端。两支视频都做了同样的对比:Codex 想在手机上用得装配套 App,而 dsh 只需要一个能访问到的网址——隧道就是让这个网址在外面也能打开。
手机控制的是同一个实例吗?
是。隧道把公网地址转发回家里同一个 localhost:3080 进程,手机上看到的会话列表和历史记录完全一致。第二支视频实测:一台电脑上输入的指令实时出现在另一台上,两边都能同时指挥 Agent。
除了 ngrok 还有别的内网穿透方案吗?
有。Harness 就是个普通的 Node.js 网页服务,任何隧道或反向代理套在 3080 端口外面都行。视频里明确提到了 Cloudflare 的免费隧道可以替代;经常用的话,ngrok 的固定域名配置能免去随机网址的麻烦。
在同一 Wi-Fi 下还需要穿透吗?
不需要。同一个局域网里直接访问电脑的局域网地址就行,隧道可以完全省掉。穿透解决的是“人不在家”的场景:手机流量、公司网络都路由不到你家里,公网链接才是那座桥。
把 Harness 暴露到公网安全吗?
把这个链接当成密码来对待:谁知道地址谁就能用你的 Agent,免费版除了拦截确认页没有其他保护。视频里的 Agent 给完链接就提醒了——用完让它把隧道停掉即可;长期远程建议升级到带鉴权或固定域名的配置。
为什么这次的公网地址和上次不一样?
ngrok 免费版的链接是随机的,隧道每次重启都会换——视频里的 Agent 发完地址就明确说了这一点。重新跑一遍 ngrok http 3080(或让 Agent 代劳)就能拿到新地址;想固定域名需要在 ngrok 账号里配置保留域名。
相关攻略
把手机要连回的这套环境补齐。
把 dsh 部署到服务器 7×24 跑
十三步截图实测:从一台空 VPS 到常驻运行的 DeepSeek Harness——SSH 与浏览器终端、自定义模型和上下文窗口、不离开标签页装插件、构建结果直接给出公网链接。
阅读指南Mac 安装 DeepSeek Harness
截图逐步验证的 macOS 装机实测教程:一条 npx 命令,不需要 API key,第七步接好服务商。
阅读指南DeepSeek Harness 桌面版:官方 vs 社区
官方 Web UI、DSHDesktop 等社区客户端,以及一份安全下载清单。
阅读指南故障排查与报错百科
症状 → 原因 → 修复:安装失败、pnpm workspace allowlist 报错、cordis.patch.yml 冲突、bundle 格式错误与 Profile 不生效。
阅读指南DSH 常见报错与修复实操
按报错现象对照排查:安装失败、插件导致启动崩溃、更新后异常,全部步骤配真实录屏截图,命令与官方 Discussions 交叉核对。
阅读指南切换模型与自定义 Provider
会话中途换模型、接入 NVIDIA NIM 或 Ollama 自定义 Provider,并验证自己到底在和哪个模型说话。
阅读指南四种模式:Standard、PTC、Minimal、Creator
每种 agent preset 包含什么、什么场景用哪种,以及怎么在 Creator 模式里做自己的 preset。
阅读指南dsh Web UI 图文详解
浏览器端的完整能力:会话、设置、插件与技能——逐帧实测过的界面导览。
阅读指南局域网访问与端口
为什么 http://<你的IP>:3080 只有本机能打开,--port 怎么用,以及用 dsh-LAN 插件把 Web UI 连防火墙一起开放给手机。
阅读指南dsh-pocket:一个插件搞定手机配对
局域网二维码 + cloudflared 公网隧道,以插件形式安装——带真实扫码截图的实测教程。
阅读指南远程与手机访问合集
dsh-web、dsh-pocket、Agents-Anywhere、dsh-mobile——精选远程客户端一次看全。
阅读指南来源与致谢
全部截图来自搞机零距离的公开实测视频;手动 ngrok 步骤与双机实时演示参考了灵姐说AI | Ling Talk AI。每张图都可深链回原视频对应时间点。
