DSH Plugin Store
Back to home

kelai141

dsh-host-web-compat

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

Stars
1
Language
JavaScript
Created
Aug 13, 2026
Updated
Aug 14, 2026
Other
GitHub repo

Introduction

dsh-host-web-compat

dsh-mobile 生态 · dsh-mobile-apk(壳 APK)· dsh-shell-termux(shell)· dsh-client-ui-responsive(移动 UI)· dsh-mobile(协调仓库,private)

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.