🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI
广告☁️ 云服务器特惠阿里云首购 8 折 · 腾讯云合作特惠
DeepSeek Harness Hub
← 返回列表

pilahito/dsh-locale-es

DeepSeek Harnessspec-screened扫描:低风险在 GitHub 查看 ↗
未验证

dsh-locale-es — DeepSeek Harness 的西班牙语界面

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/14 · 已提供中文文档

DeepSeek Harness (DSH) Web GUI 西班牙语语言包:42 个命名空间和 1257 条已翻译字符串

综合分
28.9
GitHub 分
28.9
用户评分
—
★ Stars
0
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add pilahito/dsh-locale-es
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
信任档位:已验证本站已于 0 天前真实安装成功
是什么
dsh 原生插件 · tool
装得上吗
本站已真实安装成功(非静态推断)
安全吗
本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
还在维护吗
活跃:最近一次提交在 12 天前

档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →

🟢实装验证通过· 2026/9/25
由本站实装验证器在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/24(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

由 DeepSeek 最新模型翻译生成
dsh-locale-es — DeepSeek Harness 的西班牙语界面

DSH Web GUI(http://127.0.0.1:3080)的西班牙语语言包。
该界面原本只有英语(en)和中文(zh);本语言包在不改动任何 DSH 文件的情况下添加了 es:它以客户端插件的形式安装到你的 Web 配置文件中。

状态:已安装并启用。 42 个命名空间 · 1257 条已翻译字符串。

📣 公告: Discussions #1 — Web GUI 的西班牙语语言包

西班牙语版的 DSH GUI

工作原理

DSH 自带一个本地化服务(@deepseek-ai/dsh-client-locale),包含:

- 一个可扩展的语言目录(ctx.locale.addLanguage({ id, label, fallback })),以及
- 按命名空间划分的词典(ctx.locale.register(ns, locale, dict)),带有
回退链:优先 es,缺失的部分回退到 en。

客户端插件作为由宿主在 /plugins 提供的浏览器模块加载。
因此该语言包只需要:

pack/dsh-locale-es/
├── package.json      # 声明 dsh.client { platform: web, inject: [locale] }
└── lib/
├── index.js      # 宿主端:不执行任何操作(空的 apply)
└── client.js     # 浏览器 bundle:语言 + 词典

lib/client.js 通过 DSH 的加载器注册
(window.__ModuleLoader__.load({ id, factory })),并在 apply(ctx) 中执行:

ctx.effect(() => ctx.locale.addLanguage({ id: "es", label: "Español", fallback: "en" }), "…")
ctx.effect(() => ctx.locale.register(ns, "es", dict), "…")   // 每个命名空间一个

偏好设置保存在 $DSH_HOME/settings.yaml(locale.preference: es)。

安装

./instalar.sh          # 将语言包复制到配置文件并向补丁添加条目
./instalar.sh --quitar # 卸载并还原补丁

安装程序只写入 $DSH_HOME/profiles/web:

| 内容 | 位置 |
| --- | --- |
| 语言包 | node_modules/dsh-locale-es/ |
| 激活项 | cordis.patch.yml → - insert: [{ id: locale-es, name: 'dsh-locale-es' }] |

它是幂等的,并在修改补丁前创建 .bak 备份。之后,
用 Ctrl+Shift+R 重新加载页面(客户端插件在页面启动时加载)。如果未显示西班牙语:设置 → 通用 → 语言 → Español。

项目结构

dsh-es/
├── instalar.sh                  # 在 Web 配置文件中安装/卸载
├── data/
│   ├── dictionaries.json        # 通过运行 bundle 提取(en + zh)
│   ├── dictionaries-static.json # 通过静态分析提取(填补空缺)
│   ├── chunks/                  # 翻译批次(输入)
│   ├── parts/                   # 已翻译批次(按批次输出)
│   └── translations.es.json     # ⭐ 1257 条翻译(可手动编辑)
├── pack/dsh-locale-es/          # 可直接安装的语言包(生成)
└── tools/
├── extract-dicts.mjs        # 运行每个客户端 bundle 并捕获其词典
├── static-dicts.mjs         # 静态提取器 + 交叉验证
├── make-chunks.mjs          # 将字符串分配到均衡的批次中
├── merge-parts.mjs          # 将批次合并到 translations.es.json
├── build-pack.mjs           # 生成 pack/(验证覆盖率和占位符)
├── test-pack.mjs            # 对生成的包进行自测
└── gui-fetch.mjs            # GUI 的本地 HTTP 客户端(用于验证)

在 DSH 新版本后重建 / 更新

node tools/extract-dicts.mjs     # 重新提取英文字典
node tools/static-dicts.mjs      # (可选)填补空缺并验证
node tools/make-chunks.mjs 6     # 用新字符串生成新批次
→ 将 data/chunks/.json 翻译为 data/parts/.json
node tools/merge-parts.mjs
node tools/build-pack.mjs        # 提示未翻译或格式错误的键
node tools/test-pack.mjs
./instalar.sh

build-pack.mjs 以有用的方式静默失败:它会报告未翻译的键、
未知的命名空间以及与原文本不匹配的占位符({count}、{name}……),
并且不会将任何可疑字符串包含进包中(这些字符串仍会通过回退以英文显示)。

添加其他语言

复制整个流程,将 es 替换为相应的代码,涉及
data/translations..json 和 tools/build-pack.mjs(LANGUAGE)。
fallback 应为 en。

已完成的验证

- 启动图:主机的 GET / 已包含
{"id":"dsh-locale-es", …, "inject":["@deepseek-ai/dsh-client-locale"]} ——
配置文件的 patchReload: live 在不重启 DSH 的情况下加载了它。
- 提供的 Bundle:/plugins/??dsh-locale-es/client.js 与生成的版本逐字节
完全一致(主机仅添加了 source map 的尾部)。
- 自测:node tools/test-pack.mjs → 42 个命名空间,1257 个键,语言
为 es,回退为 en,没有孤立键,也没有被改动的占位符。
- DSH 真实运行时(node tools/test-real-runtime.mjs):加载提供给浏览器的
真实 LocaleRuntime,为其注册 42 个命名空间的真实 en/zh 字典,并应用
es 包。使用生产代码验证:
- 目录变为 zh, en, es,标签为「Español」,
- 保存的偏好设置(locale.preference: es)被采用 → 激活 es,
- sidebar.session.new → «Nueva sesión»,common.cancel → «Cancelar»,
- 占位符被替换:… truncado en 120 caracteres,
- 未翻译的内容回退到英文,未知键按原样显示,
- setLocale('en') 和 setLocale('es') 正确切换,
- 覆盖率 1257/1257 个键已解析(0 个未翻译)。
- 偏好设置:~/.dsh/settings.yaml 保存 locale.preference: es
(该文件由 chokidar 监视,因此可热应用)。
- 真实浏览器(node tools/verify-firefox.mjs → captura-gui-es.png):
带有签名会话 cookie 的 Firefox 无头模式打开 GUI 并截图。
界面显示为西班牙语:「Ajustes」、「Elegir espacio de trabajo」、
「Elige un espacio de trabajo para empezar」、「Vista previa」、「Hacia lo
desconocido」。该截图可复现(不同运行中 SHA-256 相同),因此可作为每次更改后的回归测试。

验证的认证

宿主保护 GUI:dsh web 打印的 URL 中的令牌是临时的
(每个进程随机且仅存于内存),但会话 cookie 使用
~/.dsh/.credentials.yaml 中的持久密钥签名。tools/cookie.mjs
复现了该算法(dsh-auth- + 载荷的 HMAC-SHA256),
因此无需用户浏览器即可验证 GUI。

对于 Firefox,tools/verify-firefox.mjs 将 cookie 植入无头配置文件的
cookies.sqlite 中。有两个需要花些时间才能发现的细节,记录于此:

- expiry 在近期版本中以毫秒为单位(以秒为单位的日期会被解释为
1970 → cookie 过期 → 永远不会被发送)。
- sameSite 使用 nsICookie 的值,而非 0/1/2:None = 0、
Lax = 256、Strict = 512。
- cookies.sqlite 以 WAL 模式运行:要检查 Firefox 是否在使用它,还需查看
cookies.sqlite-wal,而不仅仅是主文件的 mtime。

与官方项目的关系

DSH(deepseek-ai/deepseek-harness)
仅分发英语(en)和中文(zh):在
packages/client/locale/src/locales/ 中只有 en.ts 和 zh.ts。本
仓库以客户端插件的形式添加西班牙语,未修改官方项目的任何一个文件。

官方的 CONTRIBUTING.md 不接受外部 pull request,并对发布插件者提出两点
要求;本仓库满足这两点:

- topic dsh-plugin —— 这是
插件生态系统的官方发现机制。
- 运行时不依赖官方代码树 —— 该包仅使用 locale 服务的公共 API
(addLanguage + register),这正是 DSH 自身为外部语言包所记录的
途径。

为了在不混合历史记录的情况下跟进官方项目,有一个 upstream 远程仓库:

git remote -v          # origin = 本仓库 · upstream = deepseek-harness
git fetch upstream     # 仅当你想查看官方代码树时(仓库很大)

字符串提取不读取官方仓库,而是读取已安装的 DSH
(/usr/lib/node_modules/@deepseek-ai/dsh),因此在新版本发布后更新只需:

node tools/extract-dicts.mjs && node tools/static-dicts.mjs
node tools/make-chunks.mjs 6   # 翻译新增内容 → data/parts/
node tools/merge-parts.mjs && node tools/build-pack.mjs && node tools/test-pack.mjs
./instalar.sh

如果有一天西班牙语被整合进官方项目,这个包可以直接移除:它只是向目录
添加一种语言,并以英语作为回退。

限制
- DSH 在未来版本中新增的字符串会以英文显示,直到被翻译为止(这是回退行为,不是故障)。
- 如果你重新安装配置文件的依赖(dsh plugin --profile web add …、pnpm install),node_modules/dsh-locale-es 目录可能会消失:请重新运行 ./instalar.sh。
- DSH 在注册命令时捕获的文本(不是通过 slots 渲染的文本)可能会保持启动时的语言,直到重启 DSH;这是 DSH 自身语言服务已记录的局限性。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入社群

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

DPharness QQ 群二维码,QQ 扫码进群
QQ 扫码进群
DPharness 飞书群二维码,飞书扫码进群
飞书扫码进群