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

随身控制台 tomppi/webviewdp

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

在手机上通过 Tailscale 打开 harness 网页界面

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

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · ui
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 40 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
⚪ 扫描:无法判定尚无人工评估
展开查看扫描说明与证据 ↓

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

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

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

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

一个极简的 Android WebView 封装,用来打开 DeepSeek Harness 的网页界面,通过 Tailscale 网络访问。

README

由 DeepSeek 最新模型翻译生成
webviewdp 一个极简的 Android WebView 应用,通过 Tailscale tailnet 打开你的 DeepSeek Harness Web UI,让你用上专用应用,不必再开手机浏览器。 首次启动会显示设置页,你在那里粘贴 harness URL(Tailscale 的 https://<machine>.<tailnet>.ts.net/ 地址)。URL 存在设备上,之后启动直接进入 harness。 环境要求 - 手机上已安装并连接 Tailscale 应用。WebView 依赖 Tailscale VPN 提供 MagicDNS 和 tailnet 路由,不需要 exit node。 - 设备运行 Android 8.0(API 26)或更高版本。 下载构建 每次推送到 main(以及手动触发 workflow_dispatch)时,GitHub Actions 都会构建一个 debug APK: 1. 打开仓库的 Actions 标签页,打开最新的 Build APK 运行记录。 2. 下载 webviewdp-apk 产物。 3. 解压后把 app-release.apk 侧载到手机上。
展开完整文档(README 剩余 1 节)
webviewdp

一个极简的 Android WebView 应用,通过 Tailscale tailnet 打开你的 DeepSeek Harness Web UI,让你用上专用应用,不必再开手机浏览器。

首次启动会显示设置页,你在那里粘贴 harness URL(Tailscale 的 https://<machine>.<tailnet>.ts.net/ 地址)。URL 存在设备上,之后启动直接进入 harness。

环境要求

- 手机上已安装并连接 Tailscale 应用。WebView 依赖 Tailscale VPN 提供 MagicDNS 和 tailnet 路由,不需要 exit node。
- 设备运行 Android 8.0(API 26)或更高版本。

下载构建

每次推送到 main(以及手动触发 workflow_dispatch)时,GitHub Actions 都会构建一个 debug APK:

1. 打开仓库的 Actions 标签页,打开最新的 Build APK 运行记录。
2. 下载 webviewdp-apk 产物。
3. 解压后把 app-release.apk 侧载到手机上。

发布的 APK 是 release 变体,用仓库里提交的 signing/debug.keystore 签名:不是 android:debuggable,签名身份与之前的构建相同,所以能直接覆盖安装。

本地构建(可选)

1. 用 Android Studio 打开这个文件夹,等 Gradle 同步完成。
2. Build > Build App Bundle(s) / APK(s) > Build APK(s)。

修改或重置 URL

- 清除应用数据(Settings > Apps > WebView DP > Clear data),设置页会重新出现。
- 保存的 URL 加载失败时,应用也会回到设置页。

认证(harness 0.1.2-alpha.1 及更新版本)

harness 的浏览器会话门禁会返回 401,直到浏览器用服务商每次启动生成的 token 完成交换。这个 token 相当于一台机器的登录凭证,而 harness 能在这台机器上跑代码,所以谁都不会公开它:你只需粘贴一次启动 URL。

1. dsh-launch.ps1 启动服务,并捕获它打印的 ?token= URL,每个 authority(tailnet 名称、loopback)各一个。
2. 把该 URL 粘贴进本应用。加载它会返回 303,其 Set-Cookie 是一个 30 天有效的签名会话,WebView 会保存下来:此后应用打开普通地址即可,不再需要 token——harness 重启后也一样。
3. cookie 失效后(30 天到期,或应用数据被清除),应用会显示设置页并说明原因,而不是给你一个莫名其妙的 401 页面。

早期版本从 harness 所服务 dist 里的 auth.json 读取 token。每个静态资源都是公开的,所以那个文件对任何能访问端口的东西来说都是一份可用的登录凭证;启动器不再写它,本应用也不再读它。-PublishAuthJson 可恢复旧行为,WebView DP 1.4 及更早版本仍然需要它。

运行 harness

harness 本体是 deepseek-ai/deepseek-harness。构建一份 checkout,然后通过启动器启动,它会打印启动 URL:

powershell
powershell -ExecutionPolicy Bypass -File dsh-launch.ps1
- -TailHost 是客户端访问 harness 所用的地址,同时也会成为服务器的 --trusted-host。请使用 tailnet 名称,这样 TLS 和 MagicDNS 才能对应上;本地测试用裸地址即可。
- -Repo 是已构建的检出目录(apps/cli/lib/bin.js 必须存在)。node 从 PATH 中获取。
- 如果端口上已经有服务在运行,它会拒绝再启动第二个服务器;它会最多等待十分钟以获取 token,超时后放弃并输出日志尾部。
- -PublishAuthJson 还会额外写入 <Repo>\apps\web\dist\auth.json —— 一个公开的登录文件 —— 供版本太旧、无法粘贴 URL 的客户端使用。-DistRoot 和 -Port 用来指定一个临时实例。
- dsh-url.ps1 会再次打印当前的启动 URL,从启动器的日志中读取,适用于控制台内容已经滚走、或服务器作为计划任务运行的情况。它不需要参数;当发现 token 已过期时会给出警告。

在 Debian(或任何 POSIX shell)上,dsh-launch.sh 是功能相同的包装脚本,做同样的事,只是从环境变量而不是参数读取设置 —— DSH_REPO、DSH_PORT、DSH_TAIL_HOST、DSH_PUBLISH_AUTH_JSON、DSH_FOREGROUND —— 并打印同样的三个 URL,之后可以用 dsh-url.sh 再次打印它们。它的日志是 $XDG_STATE_HOME/dsh/web.<port>.out.log,两个脚本都会读取该文件;当服务器以 root 身份在 systemd 单元下运行时,该文件仅 root 可读,dsh-url.sh 必须用 sudo 运行。
- 它与服务器一同保持运行,因此可以用作计划任务。

说明

- 所有导航都保持在 WebView 内,并支持文件上传。
- 无依赖、无分析统计;它就是一个普通的 WebView,启用了 JavaScript 和 DOM 存储。
- 后台恢复: Android 可能在应用处于后台时回收 WebView 的渲染进程(内存压力;较重的 harness 页面更容易触发)。应用通过 onRenderProcessGone 感知到这一点,会自动重新加载当前页面,而不是留下白屏;在连续多次快速失败后,它会返回设置界面。Logcat(标签 WebViewDP)会记录每次重新加载及其原因。

许可证

MIT —— 见 LICENSE。
预览分享卡片长什么样 ↓tomppi/webviewdp
分享 · DeepSeek Harness Hub
tomppi/webviewdp

在手机上通过 Tailscale 打开 harness 网页界面

这是你的仓库?认领条目

回到顶部