🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

远程操控客户端 MerrillXu/dsh-Tailscale-remote

DeepSeek Harness
MerrillXu11 天前有提交已提供中文文档扫描:无法判定

把电脑上的 Harness 变成手机桌面图标,点开即用

29.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/25 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add MerrillXu/dsh-Tailscale-remote
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么[目录]—
dsh 原生插件 · ui
暂无时间戳·判据 →
装得上吗[实装验证]—
本站尚未做安装检查
暂无时间戳·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 11 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
⚪ 扫描:无法判定尚无人工评估
展开查看扫描说明与证据 ↓

已尝试扫描但取不到可分析的源码:仓库或包不存在、已删除,或为非 JS/TS 实现、未随包发布源码。无法判定,不代表安全。

  • · 包内无可扫 JS
  • · TS 源码(可能为非 JS 实现或未发布源码),无法判定
扫描于 2026/11/4(1 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

README

由 DeepSeek 最新模型翻译生成
DSHR 把跑在自己电脑上的 DeepSeek Harness,变成手机桌面上一个能直接点开的图标。 DSHR 是一个极简的 Android 外壳(约 190 KB):不内置任何模型、不托管任何服务,只是用一个全屏 WebView 打开你自己的 Harness 地址,并处理好首次配对、Cookie 持久化、返回键这些细节。 手机 (DSHR) ──HTTPS──► 你的电脑 (DSH) ──► 本地工作区 / 会话 这是什么 如果你在电脑上跑 DeepSeek Harness,并且通过 Tailscale(或其他方式)把它暴露成一个 HTTPS 地址,那么每次用手机访问都得:打开浏览器 → 输网址 → 等加载。DSHR 把这一步变成一个图标。 配套的 DSHD 是一个更小的 App,只做一件事:打开你的文件下载页,点文件 → 确认 → 下载。 📖 完整搭建教程(含所有踩坑记录):docs/SETUP.md 截图 | DSHR — 首页 | DSHR — 对话 | DSHD — 文件列表 | | home | chat | files | 截图中的工作区名称已替换为示例值。 它不是什么 - 不是官方客户端,和 DeepSeek 官方没有任何关系 - 不是一个自带模型的 App,它自己不产生任何回答 - 不是远程穿透工具。
展开完整文档(README 剩余 1 节)
DSHR

把跑在自己电脑上的 DeepSeek Harness,变成手机桌面上一个能直接点开的图标。

DSHR 是一个极简的 Android 外壳(约 190 KB):不内置任何模型、不托管任何服务,只是用一个全屏 WebView 打开你自己的 Harness 地址,并处理好首次配对、Cookie 持久化、返回键这些细节。

手机 (DSHR) ──HTTPS──► 你的电脑 (DSH) ──► 本地工作区 / 会话

这是什么

如果你在电脑上跑 DeepSeek Harness,并且通过 Tailscale(或其他方式)把它暴露成一个 HTTPS 地址,那么每次用手机访问都得:打开浏览器 → 输网址 → 等加载。DSHR 把这一步变成一个图标。

配套的 DSHD 是一个更小的 App,只做一件事:打开你的文件下载页,点文件 → 确认 → 下载。

📖 完整搭建教程(含所有踩坑记录):docs/SETUP.md

截图

| DSHR — 首页 | DSHR — 对话 | DSHD — 文件列表 |
| home | chat | files |

截图中的工作区名称已替换为示例值。

它不是什么

- 不是官方客户端,和 DeepSeek 官方没有任何关系
- 不是一个自带模型的 App,它自己不产生任何回答
- 不是远程穿透工具。它不会帮你打洞、建隧道、做 NAT 穿透——它假定你已经有一个可访问的 HTTPS 地址
- 不包含任何服务器地址、密钥或账号;地址需要在编译前自行填写

两个 App

| | DSHR | DSHD |
| 用途 | 加载 Harness 界面 | 下载文件 |
| 打开后 | 你的对话界面 | 文件列表 |
| 特色 | 配对对话框、窄屏适配 | 点文件先确认再下载 |
| 包名 | com.dsh.remote | com.dsh.download |

它们互相独立、可以单独安装。

特性

| 特性 | 说明 |
| 全屏 WebView | 无地址栏、无标签页,状态栏与应用同色 |
| 按设备宽度排版 | useWideViewPort + loadWithOverviewMode=false,不会被渲染成 980px 桌面页再缩小 |
| 首次配对对话框 | 检测到 401 引导文本时弹窗,粘贴配对链接即可完成授权 |
| Cookie 持久化 | 配对一次长期有效,重启 App 不用重新授权 |
| 返回键 | 网页能后退就后退,不能才退到后台 |
| 文件下载(DSHD) | 点链接先弹原生确认框,确认后才交给系统下载管理器 |
| 窄屏隐藏浮动挂件 | 只在 max-width:1023px 下隐藏,桌面端不受影响 |
| 极小体积 | 各约 185 KB,无第三方依赖、无统计、无多余权限 |

工作原理

1. 手机打开 App,WebView 加载 START_URL
2. 如果你的 Harness 尚未授权这台设备,会返回一段纯文本 401(dsh web authentication required)
3. App 检测到这段文本 → 弹出「配对」对话框
4. 粘贴远程访问面板生成的配对链接 → 完成授权 → Cookie 落地
5. 之后每次打开都直接进入界面

状态栏刻意不隐藏,并且不绘制到屏幕挖孔下方。早期版本试过沉浸式全屏,结果是页面自己的标题栏被刘海裁掉,所以回退了。

前置条件

| 依赖 | 说明 |
| DeepSeek Harness | 跑在电脑上,且能通过某个 HTTPS 地址访问 |
| HTTPS 地址 | 推荐 Tailscale Serve(证书由 Tailscale 签发,仅 tailnet 内可达) |
| 手机侧网络 | 若用 Tailscale,手机需登录同一 tailnet 并保持连接 |
| 构建环境 | JDK 17、Android SDK(platforms;android-34、build-tools;34.x) |

用 Tailscale Serve 暴露(示例)

在跑 Harness 的机器上 tailscale serve --bg http://127.0.0.1:<你的 Harness 端口>

会得到类似: https://your-machine.your-tailnet.ts.net/

构建

1. 先用编辑器改地址(两个 App 各有一处) dshr/src/com/dsh/remote/MainActivity.java -> START_URL (Harness 地址) dshd/src/com/dsh/download/MainActivity.java -> START_URL (文件列表地址)

2. 设置工具链 $env:JAVA_HOME = 'C:\path\to\jdk-17' $env:ANDROID_HOME = 'C:\path\to\android-sdk'

3. 打包(PowerShell 7 用 pwsh,Windows 自带的 5.1 用 powershell) powershell -ExecutionPolicy Bypass -File tools/build.ps1 -App dshr # -> dist/dshr.apk powershell -ExecutionPolicy Bypass -File tools/build.ps1 -App dshd # -> dist/dshd.apk

首次构建会自动生成 keystore/dshr.keystore(口令 dshrbuild),仅用于自签名安装。
如果你想长期分发,请自己生成并妥善保存一个 keystore,否则签名一变就无法覆盖升级。

安装与首次配对

1. 把 dist/dshr.apk 传到手机,允许「未知来源」安装
2. 打开 App
3. 若停在 dsh web authentication required 文本上,会弹出配对对话框
4. 在电脑的远程访问面板里生成配对链接,粘贴进对话框,点「Pair」
5. 之后直接打开即可

修改地址

地址是编译期常量,改 MainActivity.java 里的 START_URL 后重新构建。
之所以不做成运行时设置,是为了少一个输入界面、少一处误配置。

DSHD:下载文件

WebView 默认不会处理下载——点了链接要么毫无反应,要么直接跳走。DSHD 做了两层:

1. DownloadListener —— 兜住真正的下载响应
2. JS 点击拦截 + JavascriptInterface —— 普通链接也能先问一句

流程:点文件 → 弹原生「下载 / 取消」→ 确认后才交给 DownloadManager(Cookie 与 UA 会一并转发)。文件存到系统「下载」目录,通知栏可点开。

它打开的就是你的文件列表页(START_URL 指向 /f/):

一个只读的极简文件服务,监听 127.0.0.1:57900
node outbox-server.cjs

挂到已有的 tailnet HTTPS 上,路径 /f tailscale serve --bg --set-path /f http://127.0.0.1:57900

这样 / 仍是 Harness,/f 是文件下载,共用同一个 HTTPS 域名。
仓库不包含那个文件服务器的实现,你可以换任意静态服务器。

注意:这个目录通常不带鉴权,只有 tailnet 内的设备能访问。别往里放敏感文件。

常见问题

Q: 打开是白屏 / 一直转圈? 检查 START_URL 是否能在手机浏览器里打开。打不开说明网络或服务没通,与 App 无关。

Q: 提示证书错误? START_URL 必须是有效的 HTTPS。自签证书需要另行配置信任,当前版本不处理。

Q: 配对后又要求配对? Cookie 被清了,或者换了域名/端口。重新配对即可。

Q: 手机上装了两个版本互相覆盖不了? 签名不同。卸载旧的再装,或统一使用同一个 keystore。

目录结构

dshr/ 主 App:加载 Harness AndroidManifest.xml res/ 应用名与 5 档密度图标 src/com/dsh/remote/MainActivity.java dshd/ 配套 App:下载文件 AndroidManifest.xml res/ src/com/dsh/download/MainActivity.java tools/ build.ps1 一键构建(javac → d8 → aapt → zipalign → apksigner) docs/ SETUP.md 从零搭建教程 + 踩坑记录 icon-512.png DSHR 图标预览 icon-dshd-512.png DSHD 图标预览

素材来源与致谢

这个项目本身代码很少,价值主要来自它站在哪些东西上面。

本项目原创

| 内容 | 说明 |
| 应用图标(DSHR / DSHD 两张启动图) | 由本项目作者自行生成,非取自任何第三方项目。文字标识与构图均为原创 |
| 全部 Java 源码、构建脚本、文档 | 见 LICENSE |

依赖与致谢

以下内容并非本项目原创,本项目只是使用或与之配合:

| 内容 | 来源 | 用途与本项目的关系 |
| DeepSeek Harness (DSH) | 本地运行的 Harness 应用 | DSHR 只是它的一个客户端外壳,不含其任何代码 |
| @linxin666/dsh-web-ui(remote-web-ui) | 由 @linxin666 开发的 DSH 插件 | 提供远程访问、设备配对、/pair-app 免 Cookie 应用壳等能力。DSHR 的「首次配对对话框」正是为了配合它的配对机制 |
| dsh-web-mobile | 移动端适配插件 | 提供手机竖屏布局。DSHR 中「窄屏隐藏浮动挂件」的 CSS 是针对其周边挂件元素写的 |
| Tailscale | https://tailscale.com | 提供点对点的 HTTPS 通道(tailscale serve),本项目只消费它,不包含它 |
| Android WebView | Android 平台 | 全部界面能力都由它提供 |

许可

本仓库的全部内容——包括代码、构建脚本、文档以及应用图标——均由本项目作者创作,以 MIT 许可证发布,见 LICENSE。

免责声明

本项目为个人自用工具,按「现状」提供,不附带任何担保。使用它意味着你理解:

- 你需要自己保证服务端的安全(鉴权、网络边界、访问控制)
- 把服务暴露到网络上存在风险,请自行评估
- 与 DeepSeek 官方无关,请勿据此寻求官方支持
预览分享卡片长什么样 ↓MerrillXu/dsh-Tailscale-remote
分享 · DeepSeek Harness Hub
MerrillXu/dsh-Tailscale-remote

把电脑上的 Harness 变成手机桌面图标,点开即用

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部