dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
The official DeepSeek Harness (DSH) Web UI, unmodified, running on HarmonyOS 2in1 / tablet inside the system ArkWeb — with the dsh Host on a real Node.js runtime embedded in the same process. No Electron, no bundled Chromium, no ArkUI rewrite of the Web UI.
中文 | English
The official DeepSeek Harness (dsh) Web UI, unmodified, running on HarmonyOS 2in1 / tablet inside the system ArkWeb — with the dsh Host on a real Node.js runtime embedded in the same process. No Electron, no bundled Chromium, no ArkUI rewrite.
compat), so side-loading needs no ACL-bound permission. A jit variant exists for devices granted the writable-code-memory permission.ohos profile, one bundle layer, seam plugins and six audited shims. Upgrading dsh means re-running the pipeline, not re-doing patches.HarmonyOS gets two independent editions with the same shell architecture, the same unmodified Web UI and the same data plane; the difference is which runtime provides Node:
| HarmonyOS Edition (this repo) | Electron on HarmonyOS Edition (dsh-desktop-hos) | |
|---|---|---|
| Renderer | The system ArkWeb — nothing bundled | Chromium, shipped inside Electron 37 |
| Node.js | libnode.so started in the app's own process (v24.2.0) | Inside the Electron runtime (Node 22.17) |
| Runtime plumbing | @fellow99/node-bridge + @fellow99/node-runtime (ohpm) | harmonypc-electron |
| Upstream dsh patches | 0 — profile + bundle layer + audited shims | 13 source patches |
| Install requirement | none (JIT-free default) | JIT restricted permission (ACL) |
| Package size | ≈88 MB | Electron-sized (hundreds of MB) |
| Maturity | 0.2.1 — device-verified on HarmonyOS 6.1.0.135 (API 24) | 0.2.1 — device-verified (0.2.0 baseline) |
Neither replaces the other: the Electron edition buys maximum desktop fidelity at the cost of a bundled Chromium and JIT; this edition buys a small payload and a permission-free install at the cost of covering platform gaps in the shim layer.
| Area | State |
|---|---|
| dsh Web UI, sessions, tools, skills, subagents | ✅ works as upstream |
| File read / write / edit, image attachments | ✅ |
| Workspace picker with Documents & Downloads (grant → read/write) | ✅ |
Git (21 tools, pure JS, no git binary needed) | ✅ |
| Local plugins loaded from the profile, own branding | ✅ |
Command execution (bash) | ⚠️ executor ships; a path-resolution fix is pending |
Content search (grep / glob) | ⚠️ needs a pure-JS backend (no ripgrep binary on arm64) |
| Delete / move / copy / chmod | ⚠️ upstream ctx.fs has no such primitives yet |
| Plugin marketplace, tray icon, window-state memory | — not in this edition |
The complete matrix — every capability, both editions side by side, with root causes — is docs/鸿蒙环境能力清单-0.2.1.md.
0.2.1 (versionCode 201) — runs on device. Verified on HarmonyOS 6.1.0.135 (API 24, 2in1): installs with zero ACLs, the payload self-extracts and reports ready, all shims install, node:sqlite/FTS5 available, text and image conversations, workspace picker across the three roots, git clone (public and intranet), and the branded window (checked through the WebView debugger). Known gaps and their fix points are listed in the capability inventory above.
Prerequisites: DevEco Command Line Tools (SDK API 24) and the sibling submodule ../deepseek-harness. The Node runtime is pulled from the OpenHarmony ohpm central repository: @fellow99/node-bridge (API + NAPI bootstrap) and @fellow99/node-runtime@24.2.0 (the libnode.so engine, SHA-256-locked by the bundled runtime.lock.json).
node scripts/assemble-payload.mjs --deploy --apply # ① materialize the dsh runtime
bash scripts/build-hap.sh # ② ohpm install → payload archive + HAP build/sign
hdc app install -r entry/build/default/outputs/default/entry-default-signed.hap
OHOS_CLT overrides the Command Line Tools root; node scripts/verify-upstream.mjs proves the upstream pin is intact (tag, clean tree, patch ids, brand/onboarding gates).
| Document | What it answers |
|---|---|
| Capability inventory 0.2.1 | What works, what does not, and how this compares to the Electron edition |
| Engineering plan | Why this architecture, what was rejected, and the shim whitelist |
| On-device notes | What broke on the device and how it was diagnosed |
| JIT and ACL · JIT-less decision | The two runtime forms and what each costs |
| Specifications | 11 spec modules (101–109, 204, 205) with plans and gates |
dsh-desktop — Electron shell for Windows / Linux / macOSdsh-desktop-hos — Electron on HarmonyOS Edition@fellow99/node-bridge / @fellow99/node-runtime — the ohpm packages that embed Node (node::Start) in-processdeepseek-harness — the wrapped agent host