dsh-desktop avatar

dsh-desktop

DeepSeek Harness (DSH) desktop client — custom glassmorphism UI, official interactions, Windows & macOS

PluginDesktopUI & Skins
Verification
L2 · Structured
Security
High
Health
Active
Trust
Silver

What it does

DeepSeek Harness (DSH) desktop client — custom glassmorphism UI, official interactions, Windows & macOS

Installation

dsh plugin --profile web add dsh-desktop-23

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.SOHIGH-RISKSCAN7 FILES
f4cd20
Automated review · daily
HIGH-RISK

Critical findings in non-blocking categories (dynamic code execution, shell execution, install scripts, obfuscation). Common in CLI/terminal plugins but worth reviewing.

3 critical·1 warning·10 info·7 files scanned
code-exec ×2shell ×1
scanned commitf4cd20d3d59c2026-08-17
latest commitf4cd20d3d59c

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: High3 critical · 1 warning · 10 info

• Static heuristic scan: done (7 files)

• Dependency vulnerabilities: requires deep audit (L3+)

• Permission sandboxing: requires runtime testing (L4+)

Scan findings · 12

  • criticalChild process module usage (Node.js)src/main/backend.js:9
    import { spawn } from 'node:child_process';
  • criticalspawn() with shell: truesrc/main/backend.js:141
    this.child = spawn(dsh.file, args, { ...opts, shell: true });
  • infoReads process.envsrc/main/backend.js:18
    return process.env.DSH_URL || DEFAULT_BASE_URL;
  • infoReads process.envsrc/main/backend.js:33
    const guess = join(process.env.ProgramFiles || 'C:\\Program Files', 'nodejs', 'node.exe');
  • infoReads process.envsrc/main/backend.js:48
    if (process.env.DSH_FORCE_NO_DSH === '1') return null;
  • warningHTTP request to a raw IP addresssrc/main/dsh-client.js:15
    export const DEFAULT_BASE_URL = 'http://127.0.0.1:3080';
  • infoMakes network requests (fetch / axios)src/main/dsh-client.js:49
    const response = await fetch(this.url(`/api/${method}`), {
  • infoMakes network requests (fetch / axios)src/main/dsh-client.js:89
    const response = await fetch(this.url('/api/respond'), {
  • infoMakes network requests (fetch / axios)src/main/dsh-client.js:116
    const response = await fetch(this.url(path), { signal });
  • infoHardcoded IP addresssrc/main/dsh-client.js:15
    export const DEFAULT_BASE_URL = 'http://127.0.0.1:3080';
  • criticalChild process module usage (Node.js)src/main/main.js:15
    import { spawn } from 'node:child_process';
  • infoReads process.envsrc/main/main.js:26
    if (process.env.DSH_DESKTOP_USER_DATA) {

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

Activity

Last commit 2026-08-17 · activity: Active

• Repo created: 2026-08-17

• Stars: ★ 4 · Forks: 0

• Health: Active — committed within last 30 days

Source

GitHub: github.com/marcon0203/dsh-desktop

Was this page helpful?