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

手机远程操控 JochenYang/dsh-remote

DeepSeek Harnessv0.8.42
JochenYang51 天前有提交已提供中文文档扫描:含敏感能力

用手机浏览器远程操作桌面端,自托管中继安全隧道

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

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

自动兼容检查有告警:npm 同名包「dsh-remote」归属 flymysql/dsh-remote,装到的可能不是本插件;安装清单取自 dsh-remote/package.json。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add JochenYang/dsh-remote
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

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

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意

npm 同名包「dsh-remote」归属 flymysql/dsh-remote,装到的可能不是本插件;安装清单取自 dsh-remote/package.json

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-remote @ 0.8.42
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/11 22:24:43

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

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

读写/删除本地文件发起外部网络请求
查看扫描证据(共 12 处,展示前 12 条)
  • 读取本地文件
    dsh-remote/src/config.ts:46
    const raw = await readFile(join(dir, CONFIG_FILE), 'utf8')
  • 写入本地文件
    dsh-remote/src/config.ts:60
    await mkdir(dir, { recursive: true })
  • 写入本地文件
    dsh-remote/src/config.ts:63
    await writeFile(tmp, `${JSON.stringify(settings, null, 2)}\n`, 'utf8')
  • 写入本地文件
    dsh-remote/src/config.ts:64
    await rename(tmp, target)
  • 发起网络请求
    dsh-remote/src/http-plane.ts:186
    return fetch(this.options.origin() + pending.path + pending.query, {
  • 读取本地文件
    dsh-remote/src/identity.ts:21
    const raw = await readFile(file, 'utf8')
  • 写入本地文件
    dsh-remote/src/identity.ts:32
    await mkdir(dir, { recursive: true })
  • 写入本地文件
    dsh-remote/src/identity.ts:33
    await writeFile(file, `${JSON.stringify(identity, null, 2)}\n`, 'utf8')
  • 读取本地文件
    relay-server/src/store.ts:58
    content = await readFile(this.file, 'utf8')
  • 写入本地文件
    relay-server/src/store.ts:62
    await mkdir(this.dir, { recursive: true })
  • 写入本地文件
    relay-server/src/store.ts:130
    await appendFile(this.file, line, 'utf8')
  • 删除本地文件
    relay-server/src/store.ts:276
    await rm(join(dir, 'relay.jsonl'), { force: true })
扫描于 2026/11/2(1 天前) · 范围 全包扫描 · 来源 GitHub 仓库

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

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

功能亮点

  • 手机远程操控桌面端
  • 自托管中继隧道
  • 移动端适配界面

用手机操控 DeepSeek Harness:自托管中继 + 桌面插件隧道,配移动端适配的 Web UI。MIT

README

由 DeepSeek 最新模型翻译生成
dsh-remote — 手机上的 DeepSeek Harness License: MIT CI TypeScript Node pnpm Protocol PRs Welcome 用手机浏览器完整操作 DeepSeek Harness 桌面端:自托管中继 + 桌面插件的点对点隧道,不改 dsh 内核与前端,并为手机自动注入移动适配层。 组成 | 目录 | 角色 | 文档 | | relay-server/ | 自托管中继:配对认证、HTTP 反向代理、WS 帧桥接、管理台。部署在公网 VPS(TLS 之后)。 | 简体中文 · English | | dsh-remote/ | 桌面 host 插件:注册到中继,把手机流量桥接到本地 dsh web server;内置移动适配层与设置页。 | 简体中文 · English | | android-app/ | 原生 Android 客户端(开发中):配对+会话+聊天骨架,直连 relay 代理面;设计方向见需求确认记录。 | — | | docs/PROTOCOL.md | 两端共同遵守的隧道协议契约(v1):帧格式、握手、安全边界。
展开完整文档(README 剩余 1 节)
dsh-remote — 手机上的 DeepSeek Harness

License: MIT
CI
TypeScript
Node
pnpm
Protocol
PRs Welcome

用手机浏览器完整操作 DeepSeek Harness 桌面端:自托管中继 + 桌面插件的点对点隧道,不改 dsh 内核与前端,并为手机自动注入移动适配层。

组成

| 目录 | 角色 | 文档 |
| relay-server/ | 自托管中继:配对认证、HTTP 反向代理、WS 帧桥接、管理台。部署在公网 VPS(TLS 之后)。 | 简体中文 · English |
| dsh-remote/ | 桌面 host 插件:注册到中继,把手机流量桥接到本地 dsh web server;内置移动适配层与设置页。 | 简体中文 · English |
| android-app/ | 原生 Android 客户端(开发中):配对+会话+聊天骨架,直连 relay 代理面;设计方向见需求确认记录。 | — |
| docs/PROTOCOL.md | 两端共同遵守的隧道协议契约(v1):帧格式、握手、安全边界。 | — |

架构

手机浏览器 ──HTTPS──> relay-server ──WS 帧──> dsh-remote 插件 ──HTTP/WS──> 本地 dsh web server │ │ └─────────── 下行事件流透传(/events/)────────────┘
│ (127.0.0.1:)
├── 上行:/d// 全量反代,帧序即流序(SSE / blob 不受影响) ├── 配对:6 位配对码 + 一次性挑战-响应(HMAC-SHA256),HOST_TOKEN 为信任边界 └── 安全:落盘只存 sha256 摘要;日志永不打印令牌与配对码

快速开始

1. 部署中继(公网 VPS,Node ≥ 22 + caddy TLS): relay-server/ 内 pnpm build 后按其 README 的 systemd + caddy 步骤部署; CentOS/Rocky/Alma 可用自带 deploy/install.sh 一键完成。
2. 安装插件(桌面 DSH,含 web profile):从 Releases 下载 dsh-remote-.tgz,
dsh plugin --profile web add ./dsh-remote-.tgz 并重启 DSH。
从源码构建:dsh-remote/ 内 pnpm install && pnpm build && pnpm build:client && pnpm pack。
3. 配对:桌面 设置 → 手机连接 填中继地址与 HOST_TOKEN,手机扫二维码或在 /pair 输入 6 位配对码即可进入与桌面同源的操作界面。

移动适配(亮点)

dsh 自带 web 界面是纯桌面布局,本仓库在隧道内为手机补齐了完整移动体验:

- 聊天正文与输入卡片全宽(重定义布局 CSS 变量,非侵入);
- 设置弹窗全屏化、导航横滑条;模型下拉视口钳制;
- 侧栏抽屉化(展开时悬浮,不再挤压聊天区);
- 键盘不再遮挡输入框(interactive-widget=resizes-content)。

适配样式只注入隧道流量,桌面 / GUI 打开的界面零变化;锚点全部避开构建期 hash 类名,dsh 升级若结构变化则自动退回原生桌面布局,不会更糟。

安全模型
- HOST_TOKEN 是 relay 的唯一信任边界;配对走一次性挑战-响应,防重放。
- 中继落盘只存 sha256(code) / sha256(token);日志脱敏。
- 手机经 HttpOnly 会话 cookie 认证;管理台独立口令与会话。
- 新版 dsh 的浏览器会话认证(client-connection)由主机插件在进程内桥接:用 Connection 启动令牌换取绑定回环 authority 的 cookie 并附到隧道流量上,令牌绝不下发手机;老版 dsh 无此服务时自动降级为透传。
- 部署必须置于 TLS 之后(README 提供 systemd + caddy 完整示例)。

完整威胁模型与帧格式见 docs/PROTOCOL.md。

开发

两个包均为独立 pnpm 项目:

cd relay-server && pnpm install && pnpm build && pnpm typecheck
cd dsh-remote && pnpm install && pnpm build && pnpm typecheck

dsh-remote 的 tsconfig 类型映射指向本机的 deepseek-harness 检出(../../deepseek-harness),CI 只做构建与 node --check。

License

MIT © 2026 JochenYang
预览分享卡片长什么样 ↓JochenYang/dsh-remote
分享 · DeepSeek Harness Hub
JochenYang/dsh-remote

用手机浏览器远程操作桌面端,自托管中继安全隧道

回到顶部