Switch dsh to English — DeepSeek Harness Guide
Open the dsh Web UI for the first time and you may land on a Chinese interface even if you don’t read Chinese. The fix is four clicks. The reason it happens is in the client locale source (@deepseek-ai/dsh-client-locale), and it’s worth a read if you want to know why your browser got a Chinese UI in the first place.
Quick fix
Section titled “Quick fix”- Open the
dshWeb UI (http://127.0.0.1:3080by default). - Open Settings (the settings trigger in the sidebar).
- In the General section, find the Language row.
- Click the language selector pill and choose English from the menu.
The UI switches over immediately. No restart.
Why it defaults to Chinese for some users
Section titled “Why it defaults to Chinese for some users”As of 0.1.0-rc there are two locales, zh and en. On a fresh browser with no saved preference, the client picks between them like this (source: packages/client/locale/src/client/index.ts):
- It reads
navigator.languages(falling back tonavigator.language), in order. - For each tag it looks at the primary subtag only.
zh-Hans-CNandzh-TWboth matchzh;en-GBmatchesen. - The first tag whose primary subtag is
zhorenwins. - If none of your browser’s languages are
zhoren(a browser set to French or German only, say), it usesFALLBACK_LOCALE. That constant is hardcoded tozh.
Step 4 is what people are running into. With no usable signal from the browser, the fallback is Chinese, so a browser advertising only French ends up on a Chinese UI and nothing in the interface explains why. The design rationale is written up in an Agent Note.
Once you’ve switched it, it sticks
Section titled “Once you’ve switched it, it sticks”Picking a language in Settings → General → Language writes locale.preference into $DSH_HOME/settings.yaml on the host machine. An explicit preference beats browser detection on every later visit. And because the value lives on the dsh host rather than in browser storage, it applies from whatever browser you connect with.
Source
Section titled “Source”packages/client/locale/src/client/index.ts—resolveInitialLocale(),detectBrowserLocale(),FALLBACK_LOCALE.packages/client/locale/README.md- Agent Note: browser-derived initial locale