deepseeker-app/DeepSeeker--packages-bundle-web-app ↗★ 0

@deepseek-ai/dsh-web-app

The dsh browser-surface bundle: the web patch layer over dsh-base plus the runtime glue plugin (frontend dist serving, web-surface prompt, bash runtime variables, URL line) 面向搭建或维护 dsh 网页端运行环境的开发者,属底层整合包。

Package
@deepseek-ai/dsh-web-app
Compatibility
Unverified
Harness peer range
workspace:^
Cordis peer range
workspace:^
Version
0.1.0-rc.5
License
MIT
Last updated
Sep 10, 2026

Other repositories with this package name

Install

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:deepseeker-app/DeepSeeker#4a4e23d43bbac23d0392905748bbaa40c35d5989&path:packages/bundle/web-app

@deepseek-ai/dsh-web-app

English | 中文

The dsh browser-surface bundle. cordis.patch.yml rides over dsh-base: it sets the coding persona, inserts the Web host rows (webserver, API gateway, workspace, projection cache, storage) and the browser plugin roster, the always-on client-plugin reload chain (dsh-client-hmr, idle until a rebuild watcher rewrites client bundles), and mounts this package's web-runtime glue plugin (config {printUrl, surfaceContext, trustedHosts}). That plugin resolves the built frontend dist through @deepseek-ai/dsh-web-frontend's exports, samples bind-dependent LAN trust once, provides it as webRuntime to the browser-trust fence and client roster, mounts the frontend-static fallback owner, registers the harness-source and web-surface prompt sections plus the bash-visible DSH_WEB_URL runtime variable when surfaceContext is true, and prints the dsh web: URL line when printUrl is true, after its Loader tree settles so a sibling failure cannot announce a dead app. This bundle also owns the app command line: the ordinary web-startup provider (src/startup.ts) injects ctx.cmdlineArgs (dsh-cmdline), parses --host, --port, repeatable --trusted-host, and the app's --help, then provides webStartup. It rejects --host 0.0.0.0 before publishing that service because the CLI intentionally does not support all-interfaces binding yet. Flag-configured rows inject the service and read it directly from lazy config, so nothing binds a port before argument resolution and dsh --profile web --help starts no server. dsh-headless is a sibling surface over the same base and does not mount this bundle.

Built-in feature suite

DeepSeeker pins @linxin666/dsh-web-ui-all and @linxin666/dsh-tool-describe-image to 0.1.12. The Web roster mounts workspace files and previews, Git graph, task board, plugin settings, live statistics, the desktop pet, phone remote control, SSH, image understanding, and the skin center with its nine bundled skins. Local patches expose image-understanding settings through the compatibility panel, clamp the pet and summon control to the current viewport, keep each task-board column readable through horizontal scrolling, and omit ._* AppleDouble sidecars from the file tree and search. The AionUI layout also hides the file and preview columns below 580 CSS pixels so the chat remains usable on a phone; desktop widths retain the resizable panels.

Internet phone access is opt-in. The normal Web command remains loopback-only and rejects --host 0.0.0.0; the remote panel points users to Settings > Mobile Remote Control > Auto public tunnel. Only that explicit setting starts the Cloudflare quick tunnel and publishes a temporary pairing URL.

A paired phone starts at /m, a restricted quick surface for workspaces, sessions, and chat. Full workbench opens the same-origin / client and reuses the live pairing cookie for the regular Web UI and shared API; plugin routes designated as loopback-only remain unavailable.

Model Experience

Harness-source and Web-surface context

What the model sees

When surfaceContext is true, the harness:source section identifies the on-disk Harness implementation without claiming it is the working directory, and the app:web-surface global section (order −98) orients the model to the GUI: the canonical local URL, the "this page" referent, the update contract (the reload receiver is always on; no-refresh reloads additionally need the pnpm run dev:web watcher), and the instruction not to start replacement servers. DSH_WEB_URL additionally appears in the managed bash environment with its description, resolved per invocation from the live server. When it is false, neither section nor the variable is registered.

Token effect

One source line and one prompt paragraph per session plus two managed-environment variable lines; constant per process.

KV Cache effect

The prompt section sits near the system prompt's head and is stable for the life of the process (the port is a boot fact), so it does not invalidate the cache across turns.

Known Limitations and Deferred Work

  • The frontend dist must be built — require.resolve of the dist fails loud at activation with a build hint; there is no source-serving fallback.
  • lanAddresses is a boot-time snapshot — interface changes after boot are not re-advertised; the printed LAN URL always matches the configured trust fence.
  • Remote integrations need their real counterparts — repository tests do not substitute for a paired phone, an SSH server, or a configured vision-model endpoint.