kelai141 / dsh-host-web-compat

Listed

dsh 宿主插件——经 webserver 钩子向页面注入旧内核浏览器 polyfill。

mainOther View source

Installation

npx -y @deepseek-ai/dsh plugin --profile web add github:kelai141/dsh-host-web-compat

This installation command is an unverified starting point generated from the GitHub repository address.

README

Maintainer-authored documentation snapshot.

View on GitHub ↗
Commit 264c737Synced Aug 18, 2026

dsh-host-web-compat

🌐 中文说明 / 中文 README

DeepSeek Harness × Android 生态 · dsh-mobile-apk(壳 APK)· dsh-shell-termux(shell)· dsh-client-ui-responsive(移动 UI)

Host plugin for DeepSeek Harness that injects legacy-browser polyfills into every served page via the webserver tapIndex hook. Fixes the in-app directory picker and other RPC flows on older WebView/browser kernels.

Background

Old kernels (e.g. MuMu's bundled browser, older WebViews) lack AbortSignal.any(), which breaks the workspace directory picker's concurrent RPC cancellation (list renders empty). This plugin injects idempotent polyfills at the HTML level — no browser-side changes needed.

Quick start

1. Install — package into the profile's node_modules.

2. Mount — in the profile's cordis.patch.yml:

- insert:
    - id: web-compat
      name: '@dsh-android/dsh-host-web-compat'
      disabled: !!js process.platform !== 'android'

3. Restart the service; the picker works again in old kernels.

Polyfills injected

APIconditionnote
AbortSignal.anymissingChrome 116+ / Node 20.3+; older WebViews need it
structuredClonemissingChrome 98+ / Node 17+

Idempotent: skipped when already present.

Notes

  • Keep this plugin even in the shell-APK form as a last-mile fallback for old system WebViews.
  • If you move to a native SAF picker, the page still benefits from the other polyfills.

License

MIT.

Repository information

Language
JavaScript
License
MIT
Last updated
Aug 18, 2026, 12:17 PM

Install deliberately

Review source code, permissions, lifecycle hooks, dependencies and network access. Test untrusted plugins in an isolated environment.