dsh-mobile avatar

dsh-mobile

Use DeepSeek Harness from your iPhone / iPad: LAN reverse proxy, iOS PWA (add-to-home-screen) chrome, and touch/mobile CSS for the web GUI

PluginBrowserNetworkWeb search
Verification
L2 · Structured
Security
Medium
Health
Active
Trust
Silver

What it does

Use DeepSeek Harness from your iPhone / iPad: LAN reverse proxy, iOS PWA (add-to-home-screen) chrome, and touch/mobile CSS for the web GUI

Installation

dsh plugin --profile web add dsh-mobile-2

Install method: npm · not yet tested in container (L3+)

Compatibility

DSH VersionStatus
not statedDeclared — not tested

Requirements

  • • Node.js: not stated
  • • DSH: declared "not stated"
  • • External credentials: none detected

Security Report

Automated static scan, not manual review.

DSH.SOWARNINGSCAN10 FILES
33415c
Automated review · daily
WARNING

No critical findings, but warning-level issues were detected (file writes, remote imports, base64 decoding, downloads).

0 critical·6 warning·9 info·10 files scanned
scanned commit33415c77045c2026-08-16
latest commit33415c77045c

The scan result is only valid for the scanned commit. If the latest commit differs, the badge shows outdated until the daily pipeline rescans.

Disclaimer: automated static analysis, not a security guarantee. Always review what you install.

Risk: Medium0 critical · 6 warning · 9 info

• Static heuristic scan: done (10 files)

• Dependency vulnerabilities: requires deep audit (L3+)

• Permission sandboxing: requires runtime testing (L4+)

Scan findings · 12

  • warningHTTP request to a raw IP addresslib/index.js:110
    if (new URL(origin).host === proxyAuthority) out.origin = `http://127.0.0.1:${loopbackPort}`;
  • warningHTTP request to a raw IP addresslib/index.js:558
    const lanUrl = primary === void 0 ? `http://127.0.0.1:${proxy.port}` : `http://${primary}:${proxy.port}`;
  • warningHTTP request to a raw IP addresslib/index.js:582
    ctx.logger.info("dsh-mobile: 桌面浏览器打开 http://127.0.0.1:" + String(loopbackPort) + "/mobile 可显示大二维码");
  • infoHardcoded IP addresslib/index.js:74
    server.listen(port, "0.0.0.0", () => {
  • infoHardcoded IP addresslib/index.js:107
    out.host = `127.0.0.1:${loopbackPort}`;
  • infoHardcoded IP addresslib/index.js:110
    if (new URL(origin).host === proxyAuthority) out.origin = `http://127.0.0.1:${loopbackPort}`;
  • warningHTTP request to a raw IP addresssrc/index.ts:80
    const lanUrl = primary === undefined ? `http://127.0.0.1:${proxy.port}` : `http://${primary}:${proxy.port}`
  • warningHTTP request to a raw IP addresssrc/index.ts:99
    ctx.logger.info('dsh-mobile: 桌面浏览器打开 http://127.0.0.1:' + String(loopbackPort) + '/mobile 可显示大二维码')
  • infoHardcoded IP addresssrc/index.ts:80
    const lanUrl = primary === undefined ? `http://127.0.0.1:${proxy.port}` : `http://${primary}:${proxy.port}`
  • infoHardcoded IP addresssrc/index.ts:99
    ctx.logger.info('dsh-mobile: 桌面浏览器打开 http://127.0.0.1:' + String(loopbackPort) + '/mobile 可显示大二维码')
  • warningHTTP request to a raw IP addresssrc/lan-proxy.ts:131
    out.origin = `http://127.0.0.1:${loopbackPort}`
  • infoHardcoded IP addresssrc/lan-proxy.ts:83
    server.listen(port, '0.0.0.0', () => {

Heuristic static scan — may produce false positives. Review the source yourself before trusting.

Activity

Last commit 2026-08-15 · activity: Active

• Repo created: 2026-08-16

• Stars: ★ 3 · Forks: 0

• Health: Active — committed within last 30 days

Source

GitHub: github.com/cindyguyuehu123/dsh-mobile

Was this page helpful?