What it does
DSH Web UI 手机端适配插件:抽屉式布局、聊天背景+毛玻璃、AI 聊天气泡、消息头像、中英双语(桌面端与原版一致)
Installation
dsh plugin --profile web add dsh-client-ui-mobileInstall method: npm · not yet tested in container (L3+)
Compatibility
| DSH Version | Status |
|---|---|
| not stated | Declared — not tested |
Requirements
- • Node.js: not stated
- • DSH: declared "not stated"
- • External credentials: none detected
Security Report
Automated static scan, not manual review.
No critical or warning findings in the automated scan. The result is valid only for the commit hash shown.
0122ebf867e62026-08-160122ebf867e6The 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.
• Static heuristic scan: done (5 files)
• Dependency vulnerabilities: requires deep audit (L3+)
• Permission sandboxing: requires runtime testing (L4+)
Scan findings · 6
- infoUses localStoragelib/client.js:1205return window.localStorage.getItem(ENTER_MODE_KEY) === "newline" ? "newline" : "send";
- infoUses localStoragelib/client.js:1209try { window.localStorage.setItem(ENTER_MODE_KEY, mode); } catch (_e) { /* ignore */ }
- infoUses localStoragelib/client.js:1238try { return window.localStorage.getItem(AI_BUBBLE_KEY) === "on"; } catch (_e) { return false; }
- infoMakes network requests (fetch / axios)lib/client.js:2013return fetch("/api/dshm/message-edit", {
- infoMakes network requests (fetch / axios)lib/index.js:96response = await fetch(endpoint, { ...init, ...(signal !== void 0 ? { signal } : {}) });
- infoMakes network requests (fetch / axios)lib/index.js:814const r = await fetch(u, { headers, signal: AbortSignal.timeout(8000) });
Heuristic static scan — may produce false positives. Review the source yourself before trusting.
Activity
Last commit 2026-08-16 · activity: Active
• Repo created: 2026-08-16
• Stars: ★ 3 · Forks: 0
• Health: Active — committed within last 30 days
