DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Locale Ja — DeepSeek Harness 插件(DSH Plugin)
← Plugins
L

dsh-locale-ja

Locale Ja

适用于 DeepSeek Harness Web GUI 的日语(ja)语言包。注册覆盖所有内置客户端 UI 命名空间的完整 ja 本地化。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:rbstxt/dsh-locale-ja#1c09ddc5e94e62de1e977a3dd091caa471214353
README兼容性版本

兼容性与来源证明

Locale Ja 以 dsh-locale-ja 发布,当前版本为 0.1.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/9/11

版本

0.1.0stable
2026/9/11

相关插件

正在加载相关插件…

最新版
0.1.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/9/12
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录

相关插件

继续浏览 ui-customization 分类下经过校验的插件。

Web App@deepseek-ai/dsh-web-appdsh 浏览器界面捆绑包:位于 dsh-base 之上的 Web 补丁层,加上运行时粘合插件(提供前端 dist、Web 界面提示符、bash 运行时变量和 URL 行)Experimental Agent Team Web Profile@deepseek-ai/dsh-experimental-agent-team-web-profile用于 Agent Teams Remote 和 UI 插件的实验性 Web 配置层Remote Web Ui@linxin666/dsh-remote-web-ui通过扫码配对访问 dsh Web GUI,共享一个官方界面:设置按钮旁的二维码可将手机和 PC 配对到同一个 Web GUI(手机采用竖屏触控适配层,PC 使用完整桌面界面),通过一次性令牌和 rClient Ui Task Board@linxin666/dsh-client-ui-task-board面向 DSH Web GUI 的主机权威任务面板,支持实际会话执行、主机 cron 调度以及可选的跨平台空闲睡眠保护;以挂载方式提供,无需修改 DSH 源代码。

README

dsh-locale-ja

DeepSeek Harness (DSH) の Web GUI を日本語にする言語パックプラグインです。

en / zh を置き換えるのではなく、ja ロケールを追加します。in-box のクライアント UI が 持つ 42 名前空間 / 1257 キーを収録しています。訳が抜けたキーは en にフォールバックするので、 生のキーが画面に出ることはありません。

インストール

dsh plugin --profile web add file:/path/to/jpdsh

dsh plugin add はプロファイルディレクトリで pnpm を実行し、インストール結果から dsh.profile.bundles を更新します。このパッケージは dsh.bundle を宣言しているため、 プロファイルの1レイヤーとして組み込まれます。

git から直接入れることもできます。

dsh plugin --profile web add github:rbstxt/dsh-locale-ja

インストール後、設定 → 一般 → 言語 で「日本語」を選ぶか、$DSH_HOME/settings.yaml に 次を書きます。

locale:
  preference: ja

headless や sdk など、ブラウザ面を持たないプロファイルは対象外です。

仕組み

DSH のプラグインは bundle と client の二面でできています。このパッケージもその規約に乗っています。

面宣言役割
bundledsh.bundle.patchプロファイルへ Loader 行を1つ挿入する
clientdsh.client、platform: weblib/client.js をブラウザ面として配信する

起動の流れは次のとおりです。

  1. dsh plugin add が dsh.profile.bundles にパッケージを追加する
  2. cordis.patch.yml が id: locale-ja の Loader 行を挿入する
  3. @deepseek-ai/dsh-client-modules が dsh.client を検出し、/plugins/dsh-locale-ja/client.js として配信する
  4. ブラウザ側の cordis が lib/client.js の apply(ctx) を実行する

apply が使うのは @deepseek-ai/dsh-client-locale の言語パック API だけです。

ctx.effect(() => ctx.locale.addLanguage({ id: "ja", label: "日本語", fallback: "en" }), "…");
for (const [ns, dict] of Object.entries(DICTIONARIES)) {
  ctx.effect(() => ctx.locale.register(ns, "ja", dict), `…`);
}

addLanguage が言語の定義を、register(ns, locale, dict) が名前空間ごとの辞書を登録します。 この単一ロケール形式は言語パック専用の入口で、既存機能が所有する名前空間にも別ロケールを 足せます。重複判定は namespace と locale の組単位です。登録はすべて ctx.effect の所有物なので、 プラグインを外せば ja ごと消えます。

ホスト面の lib/index.js は何もしません。dsh.client を宣言した解決可能な Loader 行で あることだけが役割で、モデルから見えるサービスは増やしません。

ファイル構成

パス役割
lib/client.jsブラウザ面。生成物
lib/index.jsホスト面
cordis.patch.ymlbundle パッチ
locales/ja.jsonマージ済み日本語辞書
translation/原文の抽出結果、翻訳の入出力、訳語集
tools/抽出、分割、整合、ビルド、検証のスクリプト

メンテナンス

DSH 本体を更新して UI 文字列が増えたら、同じ手順を回します。

node tools/capture-dictionaries.mjs --out translation/source-en-zh.json --verbose
node tools/split-translation.mjs translation/source-en-zh.json
# translation/in/part-NN.json を訳して out/part-NN.json に書く
node tools/consistency-pass.mjs --write
node tools/build-plugin.mjs
node tools/verify-client.mjs

capture-dictionaries.mjs は各 lib/client.js を VM で読み込み、window.__ModuleLoader__.load のファクトリを取り出します。そのうえでモックしたクライアントコンテキストで apply(ctx) を呼び、 locale.register を記録します。バンドルは Rolldown の __toESM ヘルパーでモジュールの 名前空間を自前で組み立てるため、ハーネスはバンドル中の識別子をすべて公開するプロキシを使い、 react.memo のような名前付きエクスポートが消えないようにしています。

build-plugin.mjs は名前空間、キー集合、プレースホルダーを検証し、欠落や余剰があれば ビルドを中止します。訳の抜けは画面では英語へのフォールバックとしてしか見えないので、 ビルド時に落とすほうが安全です。

検証

node tools/verify-client.mjs
# ok: 日本語 (ja), 42 namespaces, 1257 keys, 43 owned effects

生成したバンドルを本番と同じ契約、つまり __ModuleLoader__.load → factory(require) → apply(ctx) の順で実行し、登録内容が locales/ja.json と一致することを確認します。

隔離した DSH_HOME を使えば、手元の環境を汚さずに統合確認できます。

DSH_HOME=/tmp/dsh-ja-test dsh plugin --profile web add file:$PWD
printf 'locale:\n  preference: ja\n' > /tmp/dsh-ja-test/settings.yaml
DSH_HOME=/tmp/dsh-ja-test dsh web --port 3081 --no-open

ヘッドレス Chrome で確認できた範囲は次のとおりです。

  • <html lang="ja"> が設定される
  • サイドバー、設定の全タブ、プラグイン一覧、オンボーディングが日本語で表示される
  • 日本語を含まない行に未訳の英字は残らない。プラグイン ID やモデル名などの識別子は除く

検証時のスクリーンショット

翻訳の方針

訳語集は translation/GLOSSARY.md、機械的な規則は tools/consistency-pass.mjs にあります。

  • ボタンやラベルは体言止め
  • {placeholder} は変更しない。省略記号は …
  • 英字と日本語の間は半角スペース1つ。数字と助数詞は続ける。例は {n}件、1回
  • 時間の単位は日本語に開く。例は {seconds}秒、{n}日。トークンの単位は原綴りのまま。例は {value} tok、{value}K
  • API、JSON、CLI、Diff、Schema、TTFT などの技術用語と製品名は原綴り

制約

  • @deepseek-ai/dsh-client-locale 側の制約で、登録時に取り込まれた文言は言語を切り替えても追従しません。スロット経由で描画される文言は即時に切り替わります。
  • 翻訳するのはクライアント UI の文言だけです。プラグイン ID、モデル ID、コマンド名、ファイルパス、ホストが返すエラーコードは識別子なので翻訳しません。
  • DSH 本体のバージョンが上がって名前空間やキーが増えた場合、上の手順の再実行が必要です。未訳のキーは英語で表示されます。

ライセンス

MIT