johndfowler/dsh-draft-shield ↗★ 0
dsh-draft-shield
Marks the DSH Web GUI as untranslatable (html translate=no + google notranslate meta) so browser page-translation can never rewrite React-owned DOM and wipe composer drafts.
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:johndfowler/dsh-draft-shield说明文档
阅读完整 README ↗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:
- `` +
notranslateclass - ``
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