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

手机远程配对 w2112515/dsh-remote-host

DeepSeek Harness
w211251571 天前有提交已提供中文文档扫描:含敏感能力

把安卓手机配对到局域网主机,扫码即可远程使用

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

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

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

状态速览

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

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

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

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 46 处,展示前 34 条)
  • 写入本地文件
    runtime/command/index.js:1902
    await mkdir(childPath);
  • 写入本地文件
    runtime/remote/index.js:1496
    await mkdir(spec.stagingDir, { recursive: true, mode: 448 });
  • 删除本地文件
    runtime/remote/index.js:1501
    await rm(partPath(transferId), { force: true });
  • 删除本地文件
    runtime/remote/index.js:1502
    await rm(sidecarPath(transferId), { force: true });
  • 读取本地文件
    runtime/remote/index.js:1529
    sidecar = JSON.parse(await readFile(sidecarPath(transferId), "utf8"));
  • 读取本地文件
    runtime/remote/index.js:1533
    const staged = await stat(partPath(transferId)).catch(() => void 0);
  • 读取本地文件
    runtime/remote/index.js:1552
    const entries = await readdir(spec.stagingDir);
  • 读取本地文件
    runtime/remote/index.js:1557
    const entries = await readdir(spec.stagingDir);
  • 读取本地文件
    runtime/remote/index.js:1561
    const staged = await stat(path).catch(() => void 0);
  • 写入本地文件
    runtime/remote/index.js:1589
    await mkdir(spec.stagingDir, { recursive: true });
  • 写入本地文件
    runtime/remote/index.js:1596
    await writeFile(sidecarPath(declaration.transferId), JSON.stringify(sidecar), { flag: "wx", mode: 384 });
  • 写入本地文件
    runtime/remote/index.js:1597
    await writeFile(partPath(declaration.transferId), new Uint8Array(0), { flag: "wx", mode: 384 });
  • 读取本地文件
    runtime/remote/index.js:1653
    for await (const block of createReadStream(path)) {
  • 写入本地文件
    runtime/remote/index.js:17702
    writeFileSync(adjacentPath(options.secretFile, ".projection-bridge"), `127.0.0.1:${projection.port}
  • 删除本地文件
    runtime/remote/index.js:17730
    unlinkSync(lockFile);
  • 执行外部命令来自配置/变量
    runtime/remote/index.js:17750
    const child = spawn(binary, args, { stdio: ["ignore", "pipe", "inherit"] });
  • 执行外部命令来自配置/变量
    scripts/setup.mjs:67
    const result = spawnSync(command, args, {
  • 执行外部命令固定命令
    scripts/setup.mjs:78
    ? spawnSync('where.exe', [name], { encoding: 'utf8' })
  • 执行外部命令固定命令
    scripts/setup.mjs:79
    : spawnSync('sh', ['-c', `command -v ${name}`], { encoding: 'utf8' })
  • 写入本地文件
    scripts/setup.mjs:107
    mkdirSync(home, { recursive: true })
  • 写入本地文件
    scripts/setup.mjs:115
    writeFileSync(envPath, lines.join('\n'))
  • 执行外部命令来自配置/变量
    scripts/setup.mjs:122
    const dump = spawnSync(
  • 读取本地文件
    native/linux-x64/index.mjs:8
    const manifest = JSON.parse(readFileSync(join(root, 'prebuilds.json'), 'utf8'))
  • 读取本地文件
    native/linux-x64/index.mjs:13
    const digest = createHash('sha256').update(readFileSync(join(root, artifact.path))).digest('hex')
  • 读取本地文件
    native/win32-x64/index.mjs:8
    const manifest = JSON.parse(readFileSync(join(root, 'prebuilds.json'), 'utf8'))
  • 读取本地文件
    native/win32-x64/index.mjs:13
    const digest = createHash('sha256').update(readFileSync(join(root, artifact.path))).digest('hex')
  • 发起网络请求
    scripts/invite.mjs:16
    const res = await fetch(`${base}/remote-admin/${endpoint}`, {
  • 删除本地文件递归
    scripts/pack-runtime.mjs:65
    await rm(out, { recursive: true, force: true })
  • 写入本地文件
    scripts/pack-runtime.mjs:66
    await mkdir(join(out, 'control'), { recursive: true })
  • 写入本地文件
    scripts/pack-runtime.mjs:67
    await mkdir(join(out, 'command'), { recursive: true })
  • 写入本地文件
    scripts/pack-runtime.mjs:68
    await mkdir(join(out, 'remote'), { recursive: true })
  • 写入本地文件
    scripts/pack-runtime.mjs:69
    await mkdir(join(out, 'admissions'), { recursive: true })
  • 写入本地文件
    scripts/pack-runtime.mjs:70
    await mkdir(join(out, 'settings'), { recursive: true })
  • 写入本地文件
    scripts/pack-runtime.mjs:71
    await mkdir(join(out, 'protocol', 'v1alpha'), { recursive: true })
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

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

功能亮点

  • 局域网配对安卓手机
  • 扫码远程连接主机

可安装的 DeepSeek Harness 插件:通过局域网把 Android 手机配对到 DSH Host

README

由 DeepSeek 最新模型翻译生成
@w2112515/dsh-remote-host 一个 DSH Remote Host 包。把 Android 手机配到 DeepSeek Harness(局域网或公网 Host IPv4)。 手机是另装的签名 APK(当前用 0.2.0,配这版 Host 0.2.2):dsh-remote-android。 电脑继续用官方 dsh 网页(本机回环)。这个插件补的是手机通路。不要把 DSH 网页挂到公网域名。 库存 npm dsh 0.1.1-rc.2 不会把逐次允许/拒绝推到手机。手机「策略」页改的是 Host 会话策略。 安装(Linux x64) 需要官方 dsh 0.1.1-rc.2+ 和 Node。 git clone --branch v0.2.2 https://github.com/w2112515/dsh-remote-host.git cd dsh-remote-host sh scripts/setup.sh --bind YOUR_PUBLIC_IP # 只在同一局域网可以不加 --bind sh scripts/start.sh node scripts/invite.mjs setup 会装依赖、把本包装进 DSH profile、写 $DSH_HOME/remote-host.env、检查 dump-config。
展开完整文档(README 剩余 1 节)
@w2112515/dsh-remote-host

一个 DSH Remote Host 包。把 Android 手机配到 DeepSeek Harness(局域网或公网 Host IPv4)。

手机是另装的签名 APK(当前用 0.2.0,配这版 Host 0.2.2):dsh-remote-android。

电脑继续用官方 dsh 网页(本机回环)。这个插件补的是手机通路。不要把 DSH 网页挂到公网域名。

库存 npm dsh 0.1.1-rc.2 不会把逐次允许/拒绝推到手机。手机「策略」页改的是 Host 会话策略。

安装(Linux x64)

需要官方 dsh 0.1.1-rc.2+ 和 Node。

git clone --branch v0.2.2 https://github.com/w2112515/dsh-remote-host.git
cd dsh-remote-host
sh scripts/setup.sh --bind YOUR_PUBLIC_IP # 只在同一局域网可以不加 --bind sh scripts/start.sh
node scripts/invite.mjs

setup 会装依赖、把本包装进 DSH profile、写 $DSH_HOME/remote-host.env、检查 dump-config。start 在回环打开网页(127.0.0.1:3180)并听投影端口(默认 50051)。invite 打印 dsh-remote:// 和终端二维码;输入八位比较码确认。

侧载 APK,扫或粘贴 URI。

不要传 --bind 0.0.0.0。家里的机器只绑单播 IPv4,或只走局域网。

Windows:.\scripts\setup.ps1 --bind YOUR_PUBLIC_IP,再 .\scripts\start.ps1。这一版没有 Windows iroh;局域网或公网 IPv4 直连可以。

配对说明

在 Host 上跑 invite(SSH 进这台机器就够)。配对完成后手机直连宣告的 IPv4,不必一直开着 SSH。

如果想在另一台电脑的浏览器里打开设置页:

ssh -L 3180:127.0.0.1:3180 HOST

然后 http://127.0.0.1:3180 → 设置 → 手机访问。附近发现默认关(lanDiscovery: false),打开也只覆盖局域网。

备份

复制 $DSH_HOME/remote-host-security.bin(第一次 start 时生成)。丢了这个文件,已配对的手机都要重新配对。

可选:dsh plugin add

PATH 上有 pnpm 才用:

dsh plugin --profile web add github:w2112515/dsh-remote-host

仍要 sh scripts/setup.sh --skip-npm --bind YOUR_PUBLIC_IP(原生库和 env 文件),再 sh scripts/start.sh。

VPS 示例单元:contrib/dsh-remote-host.service。

0.2.2 没有

Firebase 推送。只走蜂窝的验收。库存 0.1.1-rc.2 上的逐次手机审批。市场整合包。macOS 预编译。Windows iroh。公网 DSH 网页。新 APK(继续用 0.2.0)。
预览分享卡片长什么样 ↓w2112515/dsh-remote-host
分享 · DeepSeek Harness Hub
w2112515/dsh-remote-host

把安卓手机配对到局域网主机,扫码即可远程使用

这是你的仓库?认领条目

回到顶部