一键开启,带身份验证,用手机访问 DeepSeek Harness。
36.6/100
综合分
10
GitHub 星标
54
npm 周下载
—/5
用户评分
数据截至 2026/9/27 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-remote-gatewaynpm 源 · dsh-remote-gateway 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · ui
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 38 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-remote-gateway @ 0.2.0
✓Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/31 04:50:06
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 34 处,展示前 34 条)
- 读取本地文件lib/index.js:38
const raw = JSON.parse(readFileSync(join(resolveGatewayDir(), "config.json"), "utf8")); - 读取本地文件lib/index.js:64
if (!existsSync(join(gatewayDir, "scripts", "start.js"))) { - 读取本地文件lib/index.js:65
if (!existsSync(sourceDir)) { - 写入本地文件lib/index.js:69
mkdirSync(gatewayDir, { recursive: true }); - 写入本地文件lib/index.js:73
mkdirSync(join(gatewayDir, "runtime"), { recursive: true }); - 读取本地文件lib/index.js:74
const marker = existsSync(join(gatewayDir, "scripts", "start.js")); - 发起网络请求lib/index.js:89
const response = await fetch(url, { ...options, signal: controller.signal }); - 读取本地文件lib/index.js:164
const raw = JSON.parse(readFileSync(stateFile, "utf8")); - 写入本地文件lib/index.js:173
mkdirSync(dirname(stateFile), { recursive: true }); - 写入本地文件lib/index.js:174
writeFileSync(stateFile, JSON.stringify({ autoStart }, null, 2)); - 写入本地文件lib/index.js:214
mkdirSync(dirname(logFile), { recursive: true }); - 写入本地文件lib/index.js:363
mkdirSync(join(dir, "runtime"), { recursive: true }); - 发起网络请求lib/client.js:127
fetch(API, { cache: "no-store" }) - 发起网络请求lib/client.js:160
fetch(API, { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(Object.assign({ action: action }, extra)) }) - 写入本地文件sidecar/src/config.js:40
mkdirSync(RUNTIME_DIR, { recursive: true }) - 读取本地文件sidecar/src/config.js:41
if (!existsSync(CONFIG_PATH)) { - 写入本地文件sidecar/src/config.js:42
writeFileSync(CONFIG_PATH, `${JSON.stringify(DEFAULT_CONFIG, null, 2)}\n`, 'utf8') - 读取本地文件sidecar/src/config.js:97
return JSON.parse(readFileSync(CONFIG_PATH, 'utf8')) - 读取本地文件sidecar/src/config.js:125
return candidates.find((candidate) => isAbsolute(candidate) && existsSync(candidate)) ?? candidates.at(-1) - 执行外部命令来自配置/变量sidecar/src/dsh.js:15
const child = spawn(command, { - 发起网络请求sidecar/src/index.js:69
const res = await fetch(config.upstream.origin.toString(), { signal: controller.signal, redirect: 'manual' }) - 写入本地文件sidecar/src/share.js:16
await mkdir(SHARE_DIR, { recursive: true }) - 写入本地文件sidecar/src/share.js:30
await writeFile(textPath, text, 'utf8') - 写入本地文件sidecar/src/share.js:45
await writeFile(htmlPath, html, 'utf8') - 执行外部命令固定命令sidecar/src/share.js:66
? execFile('cmd.exe', ['/c', 'start', '', target], { windowsHide: true }) - 执行外部命令固定命令sidecar/src/share.js:68
? execFile('open', [target]) - 执行外部命令固定命令sidecar/src/share.js:69
: execFile('xdg-open', [target]) - 读取本地文件sidecar/src/share.js:79
return await readFile(textPath, 'utf8') - 读取本地文件sidecar/src/tunnel.js:17
await access(path) - 执行外部命令来自配置/变量sidecar/src/tunnel.js:33
const child = spawn(config.tunnel.cloudflaredPath, ['tunnel', '--url', `http://${config.server.bindAddress}:${String(config.server.bindPort)}`], { - 读取本地文件sidecar/src/whitelist.js:21
const parsed = JSON.parse(readFileSync(WHITELIST_PATH, 'utf8')) - 写入本地文件sidecar/src/whitelist.js:31
mkdirSync(dirname(WHITELIST_PATH), { recursive: true }) - 写入本地文件sidecar/src/whitelist.js:33
writeFileSync(tmp, JSON.stringify({ devices }, null, 2) + '\n', 'utf8') - 写入本地文件sidecar/src/whitelist.js:34
renameSync(tmp, WHITELIST_PATH)
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-host-webserver@deepseek-ai/dsh-subprocess@deepseek-ai/schemastery给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
界面预览
4 张 · 点击查看大图功能亮点
- 一键开启手机访问
- 带身份验证
- 托管隧道接入
一键为 DeepSeek Harness 提供带认证的手机访问,走托管 Cloudflare Quick Tunnels
README
由 DeepSeek 最新模型翻译生成DSH Remote Gateway
一键开启,带身份验证,用手机访问 DeepSeek Harness。
简体中文 · CLI installation · AI-assisted installation · Security
DSH Remote Gateway 在 DeepSeek Harness 设置里加了一个精致的远程访问页面。它能检测或安全安装 cloudflared,创建一个临时 HTTPS 地址,并在代理 HTTP 和 WebSocket 流量之前,用专用登录保护 Harness。
[!WARNING]
DeepSeek Harness 能运行 shell 命令、访问文件。远程访问等同于远程控制你的电脑:请用独立密码,让 Harness Web 服务器始终绑定 127.0.0.1,不要分享隧道 URL,不用时关掉隧道。
预览
远程访问设置
DSH Remote Gateway desktop settings
手机端体验
自适应设置页面带身份验证的登录页
截图使用隔离的测试配置档和虚构凭据,不含任何个人账号、文件系统路径或 Harness 会话数据。
展开完整文档(README 剩余 1 节)
DSH Remote Gateway 一键开启,带身份验证,用手机访问 DeepSeek Harness。 简体中文 · CLI installation · AI-assisted installation · Security DSH Remote Gateway 在 DeepSeek Harness 设置里加了一个精致的远程访问页面。它能检测或安全安装 cloudflared,创建一个临时 HTTPS 地址,并在代理 HTTP 和 WebSocket 流量之前,用专用登录保护 Harness。 [!WARNING] DeepSeek Harness 能运行 shell 命令、访问文件。远程访问等同于远程控制你的电脑:请用独立密码,让 Harness Web 服务器始终绑定 127.0.0.1,不要分享隧道 URL,不用时关掉隧道。 预览 远程访问设置 DSH Remote Gateway desktop settings 手机端体验 自适应设置页面带身份验证的登录页 截图使用隔离的测试配置档和虚构凭据,不含任何个人账号、文件系统路径或 Harness 会话数据。 亮点 - 在 Harness 设置里一键完成配置并启动隧道 - 界面自适应,支持英文和简体中文 - 带身份验证的 HTTP 和 WebSocket 反向代理 - 安全 Cookie、登录限流、临时封禁来源地址 - 自动发现 cloudflared,或由插件托管安装 - 锁定 Cloudflare 版本,校验文件大小和 SHA-256 - 支持 Windows x64/ARM64、Linux x64/ARM64、macOS x64/ARM64 - 已注册隧道的公开登录页无法访问时,自动替换 - 随 Harness 一起干净关闭隧道和进程树 工作原理 Phone browser │ HTTPS ▼ Cloudflare Quick Tunnel │ HTTP on loopback ▼ DSH Remote Gateway :3088 │ authenticated HTTP + WebSocket proxy ▼ DeepSeek Harness Web on 127.0.0.1 Quick Tunnel 每次重建,公开地址都会变。不需要路由器端口转发,不需要 Cloudflare 账号,也不需要自定义域名。 环境要求 - DeepSeek Harness,需支持配置档包和 dsh plugin - Harness Web 服务器服务 @deepseek-ai/dsh-host-webserver >= 0.0.1-rc.1,或兼容的旧版 httpServer 服务 - Node.js ^22.19.0 或 >=24.0.0 - dsh plugin 命令能调用 pnpm - Windows 安装需要系统自带的 curl.exe,受支持的现代 Windows 版本都包含它,用于公开可达性检查本项目目前面向预发布版 DeepSeek Harness API。升级任一项目前,请先查看发布说明。 安装 dsh plugin --profile web add github:Yari-tuber/dsh-remote-gateway Git 依赖会运行本包的 prepare 构建。pnpm 10 及更新版本默认阻止依赖构建脚本,除非显式放行。如果第一条命令报出 allowBuilds,把下面这项加进 Harness 打印的配置档文件,通常是 ~/.dsh/profiles/web/pnpm-workspace.yaml: allowBuilds: dsh-remote-gateway: true 再次运行安装命令,然后启动 Harness: dsh --profile web 打开 Settings → Remote Access,选一个唯一的用户名和密码,然后点 Set up and start。本地检出安装、卸载和故障排查见完整命令行指南。 AI 辅助安装 把AI 辅助安装里经过审计的提示词交给你的编码智能体。它会指示智能体只安装这个包,保留现有 Harness 设置,避免打印凭据,并在不把 Harness 直接暴露到网络的前提下验证插件。 配置参考 这个包在 cordis.patch.yml 里提供了安全的默认值。当部署相关的值需要持久保留时,配置档补丁可以替换整个 dsh-remote-gateway 配置。 | 字段 | 默认值 | 用途 | | enabled | true | 随 Harness 启动带认证的网关。 | | listenHost | :: | 在支持双栈的地方接受局域网 IPv4/IPv6。 | | port | 3088 | 带认证的网关端口。 | | username | admin | 初始登录用户名。 | | password | 空 | 启动时在内存中生成强密码。 | | maxFailedAttempts | 5 | 触发临时封禁前的登录失败次数。 | | banDurationMinutes | 15 | 临时封禁时长。 | | cloudflaredPath | cloudflared | 可执行文件名或绝对路径。 | | autoInstallCloudflared | true | 缺失时安装经过验证的固定版本构建。 | | autoStartQuickTunnel | false | Harness 启动期间开启公网隧道。 | | tunnelProtocol | http2 | Cloudflare 连接器传输方式:auto、http2 或 quic。 | | tunnelStartupTimeoutMs | 30000 | 单次分配的注册超时。 | | tunnelStartupAttempts | 3 | 失败前尝试的分配次数。 | | tunnelReachabilityTimeoutMs | 10000 | 公网登录页探测超时。 | | processGraceMs | 5000 | 进程树关闭宽限期。 | | webServerStartupTimeoutMs | 30000 | Harness Web 服务发现超时。 | 运行时修改用户名、密码、端口和启用状态会立即生效。需要持久保留的部署值请写进配置档补丁;密码留空会在重启后有意生成新密码。 托管的 cloudflared 当没有可用的已配置可执行文件或系统可执行文件时,插件会下载 Cloudflare 官方发行版到 $DSH_HOME/tools/dsh-remote-gateway。资源版本、字节长度和 SHA-256 摘要都固定在源码里。安装使用私有临时存储,并以原子方式替换可执行文件和安装清单。 Windows ARM64 通过 Windows 模拟运行 Cloudflare 的 x64 可执行文件,因为 Cloudflare 没有为固定版本发布 Windows ARM64 Quick Tunnel 资源。 Cloudflare 可能会临时限制频繁创建 Quick Tunnel。插件在遇到第一次明确的 HTTP 429/错误 1015 或非 JSON 分配拒绝后就停止;等一会儿再重试,不要反复点击启动。 安全与隐私 - 让主 Harness Web 服务器保持在回环地址上。把它绑定到局域网或公网接口会绕过这个网关。 - 认证状态、登录失败计数器和生成的凭据都只存在内存中。 - 插件没有遥测。托管安装会访问 GitHub Releases;Quick Tunnel 运行会访问 Cloudflare。 - Quick Tunnel 不保证可用性,只适合个人临时访问,不适合生产环境或多用户部署。 启用远程访问前,请阅读 SECURITY.md 和 PRIVACY.md。 开发 pnpm install pnpm run typecheck pnpm run test pnpm run prepare 贡献和验证要求见 CONTRIBUTING.md。 许可证 MIT。这个社区项目不是 DeepSeek 或 Cloudflare 的官方产品。产品名称和商标归各自所有者所有。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Yari-tuber/dsh-remote-gateway
一键开启,带身份验证,用手机访问 DeepSeek Harness。
相关插件 · UI / 主题
破甲增强版JeffKeeping/dsh-purge-plus
dsh-purge 的非官方分支fork:适配 DeepSeek Harness 0.2.1-rc.2、破甲内核…
★ 387已汉化DeepSeek 客户端
71.9
无代码业务系统平台nocobase/nocobase
NocoBase 是什么
★ 24,804已汉化DSH
71.8
1Panel 服务器面板1Panel-dev/1Panel
全球 250 万+ 自托管用户共同喜爱。
★ 37,350已汉化DSH
71.5
工作状态行动态ccch1mneyyy/working-activity
作者:chimney@ccch1mneyyy。社区项目,非 DeepSeek 官方项目。
★ 664已汉化DSH
71.2
多模型配置管家farion1231/cc-switch
跨平台桌面一体化助手,支持 Claude Code、Codex、OpenCode、DeepSeek Harness 等工具,唯一官网 ccswitch.io
★ 151,506已汉化DSH
71.1
AI 矢量设计工具ZSeven-W/openpencil
全球首个 AI 原生开源矢量设计工具。
★ 7,027已汉化DSH
71.1
这是你的仓库?认领条目