DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
K

@nolit/dsh-korean-locale

Korean Locale

Korean (ko) language pack for the DeepSeek Harness web GUI: registers 한국어, translates every shipped client dictionary, and applies a scoped Korean font stack.

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:linuxsung/dsh-korean-locale#dfbc0b59e9e3cd1aacb1e7489fb63c5d9fabecfa
READMECompatibilityVersions

Compatibility and provenance

Korean Locale is published as @nolit/dsh-korean-locale and currently resolves to version 0.2.2. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
10/23/2026

Versions

0.2.2stable
10/23/2026
0.2.1stable
10/23/2026
0.2.0stable
10/22/2026

Related plugins

Loading related plugins…

Latest
0.2.2
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
MIT
Source
github
Weekly downloads
0
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in ui-customization.

Plugin Wallpaper Enginedsh-plugin-wallpaper-engineWallpaper Engine backgrounds for the DSH web GUI: render your local Wallpaper Engine wallpapers behind the chat — Scene and Web in real time through the bundled WebWallGL engine, Video played directly — with iOS-style liquid glass, adjustable blur/scrim/bClaude Designdsh-claude-designDeepSeek Harness plugin: the claude-design skill from baoyu-design. The agent writes canvases of artboards as files and opens them in a local canvas editor.Claude Slidesdsh-claude-slidesDeepSeek Harness plugin: the claude-slides skill from baoyu-design. The agent writes editable slide decks as files and opens them in a local slide editor.Genui@changfenhuang/dsh-genuiGenUI for DeepSeek Harness: interactive UI components rendered inline in assistant replies via the ```dsh-ui fence — layout, charts, plots, forms, quizzes, mermaid, 3D scenes, and an action event loop back to the model. Ships the fence-teaching host plugi

README

Korean Language Pack for DeepSeek Harness

English · 한국어

Status: active · v0.2.2 · Last updated: 2026-10-23 · DSH: 0.2.1-rc.2 · Upstream: discussion #10687

Index

SectionPurpose
OverviewWhat the pack adds and how it fits DSH
InstallProfile-local install, selection, uninstall
CoverageShipped namespaces and known limits
v0.2.2 font stackReload-safe Korean typography
TypographyKorean font stack, scope, and monospace safety
How it worksPublic locale API, owned effects, stand-down guard
Build and verifyRegenerate the browser half from the data
PublishingPackage metadata and market feed
LicenseMIT and translation attribution

Overview

Adds 한국어 to Settings → General → Language in the DeepSeek Harness web GUI and serves Korean copy for every shipped client dictionary: 65 dictionaries, 2,910 strings for DSH 0.2.1-rc.2. The set covers the shipped web surface and optional bundles; a dictionary stays inert until its feature bundle is enabled.

Korean mode also applies a language-scoped font stack — Pretendard Variable → Pretendard → SUIT → Apple SD Gothic Neo → Malgun Gothic → Noto Sans KR — while code and terminal surfaces keep DSH's monospace stacks. The stack is local-only: no webfont is bundled or downloaded.

The pack is a normal DSH language-pack client plugin. It uses the documented @deepseek-ai/dsh-client-locale API — addLanguage({ id: 'ko', … }) plus register(namespace, 'ko', dictionary) — and adds no Host behavior. Install, disable, or remove it per profile; nothing outside the profile is modified.

Install

The pack needs no build step: the generated browser bundle is committed.

dsh plugin --profile web add @nolit/dsh-korean-locale

For a local checkout (this repository), link it instead:

dsh plugin --profile web add link:<local-path>

The command writes the dependency and selects the bundle in ~/.dsh/profiles/web/package.json. A running Host normally picks up the new client bundle through HMR; if 한국어 does not appear in the language row, restart dsh web as the reliable fallback. A plain browser refresh alone does not replace the Host's loaded module generation.

Then choose 한국어 in Settings → General → Language. A Korean browser selects it automatically once the pack is active. The choice is stored through the Host settings service in the active profile's Cordis patch (locale.preference), exactly like 中文 and English.

Uninstall

dsh plugin --profile web remove @nolit/dsh-korean-locale

Restart the Web surface. The language definition and every dictionary are owned effects of the plugin, so removing it returns the GUI to English. A stored preference: ko may remain in the profile patch; it is inactive while the definition is absent and can be removed or set to en.

Coverage

The dictionaries cover the packages shipped in DSH 0.2.1-rc.2: chat, conversation, trajectory, workspace, sidebar and document previews, settings, plugins and the plugin market, schedules, sessions, jobs, subagents, skills, deliverables, voice input, the inspector panel, and the shared common vocabulary. data/coverage.json records every namespace, key count, English-key parity, placeholder parity, and the source commit.

Known limits:

  • The Web GUI only. The desktop app's native menus, welcome window, and update dialogs use a separate resolver that a client plugin cannot patch.
  • Third-party plugin screens are translated only when the pack carries that namespace. The pack covers the shipped dictionaries; a third-party package that registers its own Korean dictionary is not overridden.
  • Typography applies to the DSH document; content inside iframes or Shadow DOM (for example the inspector's DevTools surface) keeps its own font stack.
  • A key the pack does not carry falls back to the shipped English string, never to a raw key.
  • DSH 0.2.1-rc.2 has no built-in ko. If a future release ships one, the pack detects it in the catalog and stands down instead of competing for the same (namespace, "ko") registration.

v0.2.2 — font stack persistence

The v0.2.1 stylesheet bound only body, so after a full reload the core token pass or the theme presenter could shadow the Korean stack. v0.2.2 binds both --dsh-font-family-text and --dsw-font-family at :root:lang(ko) and on body, applies the seat directly to body text, and leaves code and terminal seats untouched. An explicit Settings → Appearance font still wins because the rule uses no !important.

Typography

Korean mode applies one scoped stylesheet, styles/typography.css:

:root:lang(ko),
html:lang(ko),
html[lang^="ko" i] {
  --dsh-font-family-text: "Pretendard Variable", Pretendard, /* … */ system-ui, sans-serif;
  --dsw-font-family: var(--dsh-font-family-text), var(--dsh-font-family-text-default);
}

:root:lang(ko) body,
html:lang(ko) body,
html[lang^="ko" i] body {
  /* same seats, plus: */
  font-family: var(--dsw-font-family);
}
  • Both text seats bound — DSH resolves body text through --dsw-font-family, which the core token sheet builds on body from --dsh-font-family-text. The rule binds both variables at the root and on body, so the post-reload core token pass and the theme presenter cannot shadow the Korean stack. Text controls (input, contenteditable) follow the same seat.
  • Monospace preserved — code, inline code, and terminal surfaces use separate --ds-font-family-code / --dsh-font-family-terminal seats. The stylesheet never references them and deliberately excludes pre, code, and textarea, so they keep their monospace stacks.
  • Language-scoped — the selector follows <html lang>, which the locale plugin maintains, and covers regional tags such as ko-KR. Switching to English or Chinese deactivates the rule and restores DSH's own stack exactly; no JavaScript listener is needed.
  • No webfonts — every family is a local system font. Nothing is downloaded or bundled beyond the CSS rule itself.
  • User settings win — the theme presenter writes an explicit Settings font as an inline custom property, which outranks the stylesheet; the rule uses no !important. Removing the pack removes the style element with it.

How it works

The browser half registers one language definition and one dictionary per namespace, each as an owned effect:

ctx.effect(() => ctx.locale.addLanguage({ id: 'ko', label: '한국어', fallback: 'en' }))
ctx.effect(() => injectScopedTypography(ctx))
ctx.effect(() => ctx.locale.register(namespace, 'ko', dictionary))

LocaleRuntime treats the external ko exactly like the built-in locales for selection, persistence, lookup, fallback, <html lang>, browser matching, and late dictionary registration. The pack adds only the coordination an external language needs:

  • Stand-down guard — if the catalog already exposes ko when the plugin applies (future built-in locale or another Korean pack), it registers nothing.
  • Per-namespace conflict guard — if a namespace already gained a ko owner before the effect runs, that namespace is skipped and the owner's copy stays in place.
  • Self-contained bundle — no dependency on the DSH packages it cooperates with, no network access, and no Host mutation.

Build and verify

Node 24+, no dependencies:

node scripts/build.mjs     # data/ko.json + styles/typography.css -> lib/client.js
node scripts/verify.mjs    # metadata + coverage + typography + apply contract

data/ko.json is the committed snapshot extracted from the source branch in discussion #10687; data/coverage.json records the extraction and parity results. styles/typography.css is the auditable typography source; the build embeds it in the generated browser half. lib/client.js is committed so consumers do not need the build.

Publishing

The package is a complete DSH bundle: dsh.manifestVersion, dsh.bundle.patch, dsh.client (platform: web, immediately: true), a host no-op entry, a localized package icon, locale/en.json/locale/ko.json, the scoped styles/typography.css, and a market/index.json feed. Publish with:

npm publish

prepublishOnly rebuilds and verifies the artifact. The market feed can be served from the repository's market/ directory or merged into a larger index.

License

MIT. Korean dictionary portions are derived from the feat/korean-locale branch of deepseek-harness (commit 1091f232fd), licensed MIT. See NOTICE.