dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
A native HarmonyOS client for DeepSeek Harness, designed to work with the dsh-pocket plugin: scan the QR code on your desktop DSH settings page and use DeepSeek Harness on your phone in real time.
📱 Target: HarmonyOS 7.0 (phones / foldables / tablets) · personal use, not planned for app-store release 🇨🇳 中文: README.md
🔑 AGC dependency setup (not committed; required before building): place the downloaded
agconnect-services.jsonunderentry/src/main/resources/rawfile/; AGC credentials (AppID/key) go intotools/push-notify/.env(real values never committed; see.env.example); release signing materials live incerts/(gitignored — private keys must never be pushed)
| Home (latest session / one-tap connect) | Settings (connection / web data) | Chat (agent conversation) |
|---|---|---|
DSH Harmony (ArkWeb)
│ scan to get URL
▼
dsh-pocket proxy (desktop :3081) ── rewrites Host/Origin to loopback, bypassing the browser trust fence
│ in-page 8-digit PIN auth (App not involved)
▼
DeepSeek Harness web (desktop :3080)
See the dsh-pocket README for plugin installation and usage.
| Item | Requirement |
|---|---|
| OS | HarmonyOS 7.0 (exact API version per your phone's About screen) |
| Dev | DevEco Studio 26.0.0 Beta2 (hvigor / ohpm / hdc / HarmonyOS SDK 26) |
| Device | A HarmonyOS phone / foldable / tablet with USB debugging enabled |
SDK config:
compileSdkVersion / targetSdkVersion = 26.0.0(26)(SDK 26.0.0 Beta2 / API 26),compatibleSdkVersion = 6.0.0(20).
hdc install -r or local install)./scripts/dev-tools.sh # Detect DevEco/SDK/hvigor/ohpm/hdc paths
./scripts/build.sh # Build debug HAP (output entry/build/.../*.hap)
./scripts/build.sh release # Release build (unsigned)
./scripts/build.sh --install # Build and install to the connected device
./scripts/smoke.sh # On-device smoke: install→launch→UI check→log check→uninstall
./scripts/unit-test.sh # Unit tests (device required; or run the Test config in DevEco)
./scripts/devecocli.sh # DevEco CLI unified entry (toolchain/device/ui/docs/lint/mcp)
./scripts/ui-smoke.sh # On-device UI smoke (devecocli ui layout assert + screenshot + logs)
./scripts/gen-changelog.sh # Generate a per-day CHANGELOG section
Toolchain paths can be overridden via environment variables (DEVECO_HOME / DEVECO_SDK_HOME / HVIGORW / OHPM / HDC); CI must provide them explicitly.
The project is wired to Huawei's official DevEco CLI (devecocli, @deveco/deveco-cli@stable) as a unified entry:
./scripts/devecocli.sh auto-points the toolchain to the local Command Line Tools 26.0.0.821 (Release) and DevEco Studio, then passes through devecocli subcommands.--check-env, device list, ui screenshot|layout|click|swipe|text, log --level E, docs search|read (offline docs), check lint, check compat, signature generate, build/run.devecocli check lint needs code-linter.json5 (committed); check compat needs DevEco Studio../scripts/devecocli.sh --mcp configures the deveco-mcp (.ets/C/C++ syntax check) into the project (writes .mcp.json / .cursor/ / .codex/, all gitignored, regenerable); ./scripts/devecocli.sh --skill installs the deveco-cli skill into supported agents.@deveco/deveco-code, AI-agent tool deveco): if the local ~/.local is root-owned and blocks its data dir, run sudo chown -R $(whoami) ~/.local or set XDG_DATA_HOME/STATE_HOME/CACHE_HOME to writable paths.entry/src/test/ — URL validation and connection model serializationscripts/smoke.sh (uitest dumpLayout assertions + hilog error scan)├── AppScope/ App-level config (bundleName: com.dsh.lite)
├── entry/ Main module
│ └── src/main/ets/
│ ├── entryability/ EntryAbility (lifecycle)
│ ├── pages/ Index (entry) / WebShell (ArkWeb shell) / SettingsPage
│ ├── components/ Connection card, manual URL dialog
│ ├── common/ constants / utils / store
│ └── model/ Data models
├── entry/src/test/ Hypium unit tests
├── entry/src/ohosTest/ UI smoke tests
├── scripts/ Build / test / smoke / changelog helpers
├── .github/workflows/ CI (build + sign + release)
├── .agents/skills/ Local dev skill (coding/review standards; gitignored, private)
└── docs/ Architecture and other docs
v*: release build + signing (repository secrets) → GitHub ReleaseFirst-time CI setup — provide the toolchain package (this repo distributes via GitHub Release; CLT_URL already configured):
| Option | Notes |
|---|---|
| Release distribution (current) | gh release upload the package to a Release; point CLT_URL at the asset URL |
| Huawei download-center direct link | paste in workflow_dispatch inputs, or set variable CLT_URL / CLT_SHA256 |
| Local download | download package locally then upload to Release (GitHub 2GiB single-file cap; split if larger) |
Get the package from Huawei Developer download center - Command Line Tools — choose Linux x64 matching the project SDK (26.0.0 / API 26 Beta2).
Signing secrets: SIGNING_KEY (p12 base64) / SIGNING_CERT / SIGNING_PROFILE / KEYSTORE_PASSWORD / KEY_PASSWORD / KEY_ALIAS
Changes are recorded per day in CHANGELOG.md; commit messages follow Conventional Commits prefixes (feat/fix/perf/docs/test/chore/refactor); use scripts/gen-changelog.sh to generate a day's section automatically.
MIT