mrkeyoor.com_
Tue 01 Sept 17:42 UTC
Dev Toolsevaluationupdated 26 Aug 2026

dsh-web review

The project is primarily documented in Chinese, and a maintained English README is available as `README.en.md`. Now named dsh-web, it is a collection of plugins for the DeepSeek Harness web and desktop interfaces, adding a task board, remote access, SSH tools, skins, Git views, image understanding, and recovery utilities without modifying the DSH source.

+540stars / 7d
Verdict

Our dsh-web-ui run built in 32 seconds, but its recursive test command stopped after dsh-ssh reported 139 of 140 tests passing. Install individual plugins first if one feature solves the problem; the full bundle makes sense for committed DSH users who will test profile migration and plugin interactions. Avoid v0.3.5 for a skin-plus-sidebar setup until issue 1222 is resolved or independently ruled out on your layout.

We ran it

Lab card: what happened when we ran dsh-webScreenshot of dsh-web (dsh-market.com)
Install✓ · 68s581 packages · 742 MB
Build✓ · 32s
Tests✗ · 51s2 passed · 0 failed of 2 (vitest)
Repo1749 files~218,951 lines of source · 89.2 MB · 13 CI workflows · tests dir

Answers from our run

Does dsh-web build from source?

Dependencies installed in 68 seconds (581 packages), and the build succeeded in 32 seconds. We cloned commit 82a9bb4 into a clean Debian container with 3 CPUs and no project-specific setup.

Do dsh-web's tests pass?

Yes: 2 of 2 passed when we ran the project's own test command (vitest). Some failures need services or credentials a bare container does not have.

Who should not use dsh-web?

Anyone who does not already run DeepSeek Harness: the README requires a working dsh web installation.

What are the alternatives to dsh-web?

CloudCLI, Continue. Our dsh-web-ui run built in 32 seconds, but its recursive test command stopped after dsh-ssh reported 139 of 140 tests passing.

Setup3/5Published install is short, but DSH and feature credentials come first
Docs5/5Detailed Chinese and English setup, limits, migration, and security notes
Community4/56,180 stars with active August 2026 reports and fixes
Maturity3/5Broad v0.3.5 bundle with a current workspace test failure

Who it’s for

DeepSeek Harness users who want several web and desktop plugins from one maintained bundle.
Developers who need task scheduling, Git worktrees, SSH operations, or remote sessions inside DSH.
Plugin authors looking for a pnpm monorepo with bilingual package documentation.
Teams willing to test interactions among skins, sidebars, host profiles, and community packages.

Who it’s NOT for

Anyone who does not already run DeepSeek Harness: the README requires a working dsh web installation.
Teams that need a small isolated add-on: the aggregate pulls together many independently versioned plugins, though individual packages can be installed instead.
Users who expect every tunnel to deliver live updates: the README says Cloudflare quick tunnels and Tailscale Serve do not pass the SSE stream, so the remote UI falls back to polling.
Operators who set --trusted-host casually: the remote-plugin documentation says that flag lets the SDK API bypass device pairing.
Users depending on skins plus the right panel in v0.3.5: issue 1222 reports a width rule that makes the panel cover about 597 pixels of the conversation.

Setup reality

Our sandbox installed 581 pnpm packages in 68 seconds and used 742 MB on disk. The monorepo built in 32 seconds. Tests exited 1 after 51 seconds: the top-level Vitest summary recorded 2 passed and 0 failed of 2, while the recursive log showed dsh-ssh with 139 passed and 1 failed across 140 tests, then stopped the workspace run.

Using the published bundle requires DeepSeek Harness with dsh web working. Vision needs an OpenAI-compatible endpoint, model name, and key. SSH features need host credentials, while public remote access may involve a tunnel and pairing token.

Repository development requires Node.js 22 or newer and pnpm. It is a 1,749-file workspace monorepo with 13 CI workflows and a tests directory, but no Dockerfile. Linking every child package before the aggregate avoids falling back to stale published workspace dependencies.

dsh-web adds an ecosystem around DeepSeek Harness

The repository's primary documentation is Chinese, with a full English README maintained beside it. The project has also been renamed from dsh-web-ui to dsh-web; GitHub redirects the requested repository URL, and v0.3.5 is the final release that dual-publishes the old aggregate package name. That migration detail matters because existing DSH profiles may still refer to @linxin666/dsh-web-ui-all.

The new aggregate, @linxin666/dsh-web-all, mounts through the official DeepSeek Harness profile mechanism. It does not patch the DSH source checkout. The bundle covers a task board, remote browser and mobile sessions, SSH operations, Git history and worktrees, a vision tool, skins, plugin discovery, and a Doctor service for failed profiles. Each capability is also packaged separately, which is the safer way to start.

One plugin is easier to reason about than the full bundle

Installing the aggregate puts many UI and host behaviors into one profile. Some plugins touch the same screen: skins can alter root layout, a right sidebar changes content width, and performance controls change rendering behavior. Open issue 1222 documents a v0.3.5 conflict between the skin center's width: 100% !important rule and the better-sidebar layout. The reporter measured a 597-pixel panel covering the conversation.

That report is a good argument for selective installation. A user who wants only SSH can add @linxin666/dsh-ssh; skins have their own package, and the task board is separate too. Fewer mounted packages reduce the number of CSS, lifecycle, and profile interactions to diagnose. The aggregate is convenient after those pieces have proved useful together, not necessarily on the first DSH setup.

What happened when we ran it

Our sandbox installed 581 pnpm packages in 68 seconds and occupied 742 MB. The monorepo build succeeded in 32 seconds. The test command ran for 51 seconds and returned exit code 1. These results cover commit 82a9bb4 in an unprivileged container with 3 CPUs, 8 GB of RAM, no secrets, and Node 22.

The test reporting had two layers. The supplied overall measurement recorded 2 Vitest tests passed and 0 failed out of 2. Deeper in the recursive workspace output, @linxin666/dsh-ssh reported 17 passing files and 1 failing file, with 139 passing tests and 1 failure out of 140. Pnpm then emitted ERR_PNPM_RECURSIVE_RUN_FIRST_FAIL and stopped the workspace sequence.

The log points to tests/engine.test.ts at line 342 but does not include the failed assertion in the supplied tail. We cannot say why it failed. The defensible result is that installation and build worked, while the full workspace test command did not. The checkout had 1,749 files, about 218,951 source lines, 13 CI workflow files, a tests directory, and no Dockerfile.

Remote access is paired, with an SSE tunnel caveat

The remote UI uses a one-time, limited-life pairing token and can serve a phone or another desktop browser. Stopping the session revokes paired devices. The README recommends the plugin's pairing path for remote PCs and warns against assigning a tunnel domain to --trusted-host, because that SDK setting allows /api to bypass the pairing gate. That is a concrete security boundary, not a cosmetic preference.

Live updates travel over Server-Sent Events. Cloudflare quick tunnels and Tailscale Serve are documented as unable to carry that stream in this setup, so the plugin falls back to polling and new messages may arrive a few seconds later. An SSE-capable named tunnel or direct forwarding is required for immediate updates. Teams should test disconnect, revocation, and reconnection from outside the local network before exposing a DSH session.

SSH and vision features hold real credentials

The SSH panel supports terminals, SFTP transfers, local port forwarding, and commands across groups of hosts. Configuration lives in ~/.dsh/dsh-ssh.json, and hosts may use keys or passwords imported from SSH config. The agent can call the same connection definitions. That is useful, but it places production access inside an AI workbench, so use restricted accounts and review which sessions can invoke remote tools.

Image understanding sends a referenced image to a configured OpenAI-compatible vision endpoint and returns text to the conversation. The user supplies the endpoint, model, key, and default instruction. The README says the image itself is not stored in the DSH conversation record, but it still leaves the machine for a remote endpoint unless the configured service is local. Sensitive-image policy must cover that separate request.

v0.3.5 is active and still changing quickly

GitHub showed 6,180 stars, 12 combined issues and pull requests, and a last push on August 26, 2026. Release v0.3.5 landed the same day with 13 features, 12 fixes, and 12 other changes. The notes explicitly say its automated compatibility audit was not a real upgrade drill from an older version and did not cover a real macOS or Windows upgrade matrix.

The release provides a Doctor-based migration from the legacy aggregate, with a profile snapshot, config check, and rollback path. A bare dsh web launch does not run that preflight. Back up the profile and use the documented Doctor path when changing package names. Apache-2.0 covers the repository, while several skins have separate asset terms or missing declarations listed in the README. Commercial teams should inspect each installed skin rather than treating the bundle license as permission for every asset.

Alternatives

ProjectWhat it isPick it when
CloudCLIA browser and mobile interface for several coding-agent CLIs, including Claude Code and Codex.pick this instead when remote coding sessions matter more than a DeepSeek Harness plugin ecosystem.
Continue gh↗An open-source coding agent with IDE and automation workflows.pick this instead when you want a standalone coding-agent product rather than extensions tied to DSH profiles.

What people are saying

  1. [velocity-scout] zhu1090093659/dsh-web-ui

Sources

  1. dsh-web Chinese README
  2. dsh-web English README
  3. dsh-web v0.3.5 release
  4. Skin and sidebar layout issue

More dev tools reviews

workmux · v2rayNG · SecLists · hashcat · eslint · fastfetch · the whole board →