Back to home@johndfowler

dsh-draft-shield

No description

Stars
0
Language
JavaScript
Created
Aug 28, 2026
Updated
Aug 28, 2026
GitHub repo

Introduction

dsh-draft-shield

DeepSeek Harness Web GUI plugin that stops browser page-translation from wiping composer drafts.

Problem

DSH uses a React-controlled textarea for its message composer. If the browser auto-translates the page (Chrome/Edge/Safari offer this when the GUI renders non-English UI), the translation pass rewrites DOM text nodes mid-typing — and React's next render loses control of the input, so text you just typed disappears from the message box.

This shows up as: type a few characters, the box silently empties. Intermittent, worse while idle, and only in a browser with translation enabled for the site (incognito/extension-free tabs are unaffected).

Fix

Marks the document untranslatable at load:

  • <html translate="no"> + notranslate class
  • <meta name="google" content="notranslate">

Chrome, Edge, and Safari respect these markers and stop offering/applying translation — so nothing rewrites the DOM, and drafts survive, on every profile and device.

Install

cd /Users/jdf/.dsh/profiles/web
pnpm add file:/path/to/dsh-draft-shield
# then append "dsh-draft-shield" to dsh.profile.bundles in package.json,
# and restart `dsh web`.

License

MIT