🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

俄语语言包 Ragnoryok1/dsh-client-locale-ru

DeepSeek Harnessv0.2.21
Ragnoryok11 天前有提交已提供中文文档扫描:未发现敏感能力

DeepSeek Harness 网页 GUI 的俄语(ru)语言包——可安装的混合 dsh.bundle + dsh.client 插件。

38/100
综合分
5
GitHub 星标
831
npm 周下载
—/5
用户评分

数据截至 2026/10/31 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add @ragnoryok1/dsh-client-locale-ru
npm 源 · @ragnoryok1/dsh-client-locale-ru 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · tool
装得上吗
本站已在 dsh 0.2.1-rc.5 下真实安装成功(非静态推断);本次验证针对插件 v0.2.24,当前版本为 v0.2.21
L5 · 运行时冒烟等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 1 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包@ragnoryok1/dsh-client-locale-ru @ 0.2.21
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/28 06:42:25

安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 2026/11/1(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-client-locale
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

界面预览

2 张 · 点击查看大图

功能亮点

  • 俄语界面语言包
  • 可安装混合插件
v0.2.222026-10-28
· [0.2.22] — 2026-10-28 · 新增 · Harness 0.2.2-alpha.2:九个新分区,共 745 行。liveshare(224)、forgePanel(199)、stats(177)、creationRecommendations(55)、cuaPermissions(49)、pluginRecommendations(25)、actionCards(14)、fileDrag 和 messageQuotes(各 1)。另外在已翻译的分区里新增 108 个键:pluginManager 里的版本与更新(69)、chat、conversation、question、pluginMarket、voice-input 等。 · 修复 · 审计不再把俄语当成英语。检查「值是否与英文模板一致」时,原来会从目录树的任意文件里按单个键收集模板。0.2.2 里出现了应用和安装程序的俄语词典,我们自己的值正好和它们撞上:2368 条误报,把真正的误报全盖住了。现在含西里尔字母的模板不再进入集合,只剩三条真问题。 · 清掉了垃圾分区(93 行),名字看着像文件:.runs.json、.ndjson.zst、deepseek-model-label-1017、permission.access,还有 0.2.2 里已不存在的九个键。 · 补上了 toast.cleared 缺的几种复数形式。 · 变更 · 统计:594 个 namespace,69 177 行。
v0.2.212026-10-26
· [0.2.21] — 2026-10-26 · 新增 · 修复解包后找到两份词典:pet.config 是 dsh-pet@0.3.8 里 150 行桌面宠物设置(动画、物理、角色、通知、删除),dshOps 是 dsh-ops@0.4.1 里 48 行 shell 管理。这两个插件都在生态里下载量最高之列。 · 变更 · 计数:589 个命名空间,68 425 行。
v0.2.202026-10-26
· [0.2.20] — 2026-10-26 · 新增 · 补上两个查询量最大的词典。settings.workbuddy 收录 423 行 WorkBuddy 连接设置(账号、额度、模型、检查、诊断),来自 dsh-connect-workbuddy@5.10.0;web-search-free 收录 124 行免费网页搜索,来自 dsh-free-search@0.9.15。这两个插件每周下载量 1.2 万到 1.4 万次,此前却没有自己的俄语词条。 · 修复 · 大归档又能读了。dsh-pet 和 dsh-ops 的包里还带着运行时(前者 60 MB),Windows 上的 tar 碰到这类条目就出错,整个解包随之失败,两个插件都读不了。现在只从归档里取出存放词典的部分,返回码非零也不影响:需要的文件此时已经就位。顺带又发现两个词典——dshOps(48 行)和 pet.config(150 行),将单独一批加入。 · 变更 · 计数:587 个 namespace、68 227 行。 · [0.2.19] — 2026-10-25 · 新增 · 支持 harness 0.2.1-rc.3。新增 entryCustomization 区块——插件卡片上的五行菜单(「查看其他插件」「创建自己的插件」和三条创建提示)——以及在已译区块中补上七个键:conversation(其他对话类型)、sidebar(「更多」按钮)、sidebarRight(「其他工具」)、inspectorPanel(「收起」)、permission.access 和 settings.permission。两个 workflow 里的版本固定、声明的兼容性、徽章和语言包运行时都升到 rc.3。 · 修复 · 检查看不到已译区块里的新键。审计只比对 namespace 名称:harness 往早已译好的区块里加键时,它一声不吭。rc.3 上就这样漏过七个键——其中四个靠手动比对语言文件才发现,另外三个连手动比对也找不出来。现在审计会核对每个已注册 namespace 内部的键,在缺失处旁边打印英文模板,并让构建失败。复数形式不算缺失:harness 用 .one/.other 的地方,.few 和 .many 构成的是另一种形式。 · [0.2.18] — 2026-10-24 · 修复 · npm 上的包页面打开是中文。npm 会强制把任何以 README 开头的文件塞进归档,files 列表排除不掉这类文件。三个 README 里,registry 取字母序最后一个,也就是 README.zh.md,于是 readme 字段里装的是中文:打开包的人看到的是汉字,而不是俄语开头。语言文件已改名为 README-en.md 和 README-zh.md:连字符让它们排在点号之前,字母序最后一个现在是 README.md。三个 README 之间的链接和检查里的路径都已更新。
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。

README

由 DeepSeek 最新模型翻译生成
@ragnoryok1/dsh-client-locale-ru DeepSeek Harness 俄语语言包 这个插件把 DeepSeek Harness 的界面变成俄语。你看到的一切都会翻译:设置、侧边栏、对话框、提示、报错信息 —— 还有第三方插件的菜单,这些插件自己没有俄语翻译。 目前包里共有 587 个分区、69 177 条字符串,其中 520 份是第三方插件的词典 —— 比我找到的任何其他 Harness 俄语包都多。 安装只需一条命令:dsh plugin --profile web add @ragnoryok1/dsh-client-locale-ru,然后在设置的 General 分区里选俄语。 除了翻译,插件还做了三件 Harness 自己做不到的事:套用俄语数词变格形式(「1 вызов」「2 вызова」「5 вызовов」)、把文本排成俄语排版规范(「ёлочки」引号、长破折号、省略号)、翻译没有自带本地化的插件名称。每一项附加功能都能在配置档里用一行关掉 —— 翻译本身会保留。 这个包不会改动 harness 的文件,也不会碰你的数据。如果新版 harness 里出现包里还没有的字符串,它会保持英文:界面照常工作。MIT 协议,包由社区维护,与 DeepSeek 无关。 如果这个包对你有用,请给仓库点个 star。
展开完整文档(README 剩余 1 节)
@ragnoryok1/dsh-client-locale-ru

DeepSeek Harness 俄语语言包

这个插件把 DeepSeek Harness 的界面变成俄语。你看到的一切都会翻译:设置、侧边栏、对话框、提示、报错信息 —— 还有第三方插件的菜单,这些插件自己没有俄语翻译。

目前包里共有 587 个分区、69 177 条字符串,其中 520 份是第三方插件的词典 —— 比我找到的任何其他 Harness 俄语包都多。

安装只需一条命令:dsh plugin --profile web add @ragnoryok1/dsh-client-locale-ru,然后在设置的 General 分区里选俄语。

除了翻译,插件还做了三件 Harness 自己做不到的事:套用俄语数词变格形式(「1 вызов」「2 вызова」「5 вызовов」)、把文本排成俄语排版规范(「ёлочки」引号、长破折号、省略号)、翻译没有自带本地化的插件名称。每一项附加功能都能在配置档里用一行关掉 —— 翻译本身会保留。
这个包不会改动 harness 的文件,也不会碰你的数据。如果新版 harness 里出现包里还没有的字符串,它会保持英文:界面照常工作。MIT 协议,包由社区维护,与 DeepSeek 无关。

如果这个包对你有用,请给仓库点个 star。 这是「有人需要翻译」的唯一信号,也决定了接下来先做哪部分。

完整译文清单见 NAMESPACES.md:594 个 namespace,69 177 行,插件词典单独标注。

harness 目录树之外的插件也照同样方式翻译,但英文原文取自插件自己的发布物:plugins/<namespace>.json 保存包名、版本、协议,以及从 bundle 里导出的字符串。你的安装里还有哪些是英文,用 npm run report:plugins 查看:它会遍历配置档的 node_modules,找到每个插件自己的词典,把键和我们这边的词典比对;没有词典的插件会单独标出来——它没请求翻译之前,没什么可翻的。

@linxin666 系列值得单独说:十三个词典,每一个都全量译完——少的几十行,多的四百行。

| 词典 | 包 | 行数 |
| update | @linxin666/dsh-update | 43 |
| git-graph | @linxin666/dsh-client-ui-git-graph | 63 |
| dsh-web-ui-usage | @linxin666/dsh-usage | 67 |
| dsh-web-ui-session-archive | @linxin666/dsh-session-archive | 124 |
| pet | @linxin666/dsh-pet | 81 |
| remote | @linxin666/dsh-remote-web-ui | 117 |
| dsh-skill-explorer | @linxin666/dsh-client-ui-skill-explorer | 114 |
| dsh-web-ui-market | @linxin666/dsh-client-ui-market | 106 |
| liangshen | @linxin666/dsh-liangshen | 42 |
| dsh-web-ui-preset-center | @linxin666/dsh-client-ui-preset-center | 46 |
| dsh-ssh | @linxin666/dsh-ssh | 158 |
| task-board | @linxin666/dsh-client-ui-task-board | 439 |
| task-board-github | @linxin666/dsh-client-ui-task-board-github | 113 |
| 合计 | 13 个词典 | 1 513 |

「插件」页面里插件自己的名称和描述,这个包翻不了:harness 把它们存在每个包的 locale/<语言>.json 里,再汇总成一张翻译映射表,而本地化服务里的 resolveText 根本不查词典。221 个包有 locale/en.json,219 个有 locale/zh.json,没有一个有 locale/ru.json:这 261 行不管装哪个语言包都保持英文。缺口由 scripts/descriptor-coverage.mjs 统计,机制拆解和 32 个现成译文见 docs/descriptor-upstream.md。
别人的译文我们不照抄:没有可对照的版本,而审计是把我们的取值和同一个插件的英文模板比对。另外提前提醒一句:如果配置档里出现第二个包,它自己也注册俄语,那么语言会归先注册的那个,第二个包会静默跳过自己的 namespace,界面上显示的就是别人的译文。

界面效果

语言列表里有俄语,设置分区也已翻译(截图来自 0.1.8 构建:同一个界面,但措辞和部分分区此后有改动——比如字号那一项的说明现在写的是「只影响对话内容」):

俄语界面设置:语言、外观、主题

俄语插件列表:分区标题和「实验性」标记

两张截图都按面板左边界裁过:工作区和会话名称没有进入画面。

这个包不只是词典。除了翻译,它还做三件事:把文本改成俄语屏幕排版规范(「ёлочки」引号、带空格的破折号、一个省略号代替三个点),按 Intl.PluralRules('ru') 选择数的形式,而不是用中性标注,并给那些自带包没有附带自身 locale 的插件换上俄语主题名。

每个处理环节都能单独关掉,不影响翻译:在 cordis.yml 的配置档行里写 config: { typography: false } 即可,plurals 和 pluginNames 也这样关。没写的开关按开启算,所以现有配置档不用改。

排版是唯一会改写你输入文本的环节。如果它在输入框里碍事,就只关它:其余部分仍然是俄语。

安装

这是混合插件(dsh.bundle + dsh.client),所以按普通配置档 bundle 的方式用 dsh plugin 安装:

dsh plugin --profile web add @ragnoryok1/dsh-client-locale-ru

之后下次启动 dsh web,设置里就会出现俄语。不需要另外对构建好的 dsh web 执行 pnpm add——插件通过 locale 服务拉取内置语言包。

如果 pnpm 报 ERR_PNPM_NO_MATURE_MATCHING_VERSION,这不是包坏了,而是成熟度策略:配置档不安装发布不足 48 小时的版本。等一两天(报错信息里的版本名会显示还剩多久),或者在配置档设置里去掉 minimumReleaseAge 限制。
清单按 harness 的规则检查,不靠肉眼(npm run check:manifest,包含在 verify 里)。这些规则是从它的源码里读出来的,每一条都对应一种用户本来会遇到的拒绝:parseDshClient 接受任意字符串形式的 platform,但使用方只挑 platform === 'web',所以把 'Web' 写错会静默关掉客户端那一半;声明了 dsh.client 却没有导出 ./client,会让 client-modules 抛错;dsh.bundle.patch 必须指向存在的文件。
从 GitHub 安装同样可行:dsh plugin --profile web add Ragnoryok1/dsh-client-locale-ru(插件目录生成的命令就是这个形式,不带 @ 作用域)会安装仓库归档,而构建好的 lib/ 就在 git 里——不会在你的机器上触发构建,也不需要构建。因此 npm run check:built(包含在 verify 里)会重新构建 lib/ 并与提交比对:否则 git 里过期的打包产物就会直接落到用户手里,而审计看不到这一点——它读的是源码。发布的包占 2023 KB:横幅以 JPEG 提供,图标和 source map 不包含在 npm 包里。

为什么是混合方案

dsh web 只从 workspace 包里取客户端(UI)插件,外部 npm 包即使带 dsh.client 也不会被识别。要让带 UI 部分的外部插件可安装,它必须声明 dsh.bundle(配置档层),由它的 cordis.patch.yml 通过 - insert: 把客户端条目 locale-ru 加进浏览器 roster。其他第三方插件也是这么做的(例如 @zseven-w/dsh-android)。

工作原理

- 宿主半边(lib/index.js)——空的 apply():语言插件不需要服务端逻辑,它只是给 Loader 提供一个正确的 cordis 条目。
- 浏览器半边(lib/client.js)——通过 locale 服务(从 ctx 注入)注册 ru 和词典。没有框架的运行时导入——只用服务。
- 没有运行时依赖——lib/client.js 不导入其他包,因此不会拖入沉重的依赖。
- 副作用——语言和词典通过 ctx.effect(...) 注册,因此会随插件一起卸载(HMR 安全)。
- 复数——locale 契约不携带复数规则:组件按 count === 1 ? 'ключ.one' : 'ключ.other' 选形式,而俄语需要三种(1 вызов / 2 вызова / 5 вызовов)。包自己接管这件事:词典里 .one 和 .other 旁边还放着 .few 和 .many,而运行时 translate 的包装层会对任何带数字 count 或 n 的调用用 Intl.PluralRules('ru') 重新计算形式。形式由数字决定,而不是由组件选中的键决定,所以「2 вызова инструментов」和「5 вызовов инструментов」出自同一个调用点。
形式不只在成对的键上有:如果 harness 把数字传给没有配对的键(terminal.expand 带 {n}),包会给它补上自己的 .one / .few / .many——「Показать ещё 1 строку / 3 строки / 7 строк」,——包装层对这类键也会查找形式。在形式不合适的地方(句子里有
多个数字),值改写成对数字中性的说法:「Символов: {total}」而不是「{total} символов」,
「файлов: {files}」而不是「{files} файлов」。由脚本检查:
npm run check:plural 在计数 0、1、2、3、5 和 22 上,在没有配对的键上,在分数上,以及在别的语言包上(我们的规则不会改写它的形式)。
- 回退——缺失的俄语键回退到 en(配置的 fallback)。

排版

这个包把已经渲染好的俄语文本按排版规则处理:用「ёлочки」代替直引号,用长破折号代替词间连字符,用省略号代替三个点,数字与后面的词或计量单位之间加不换行空格(免得「187 плагинов」断成两行),短词——前置词、连词或语气词——后面也加同样的空格:「в режим」整体换行,不会把「в」孤零零留在行尾。规则刻意保守:只在无歧义的模板上生效,代码、输入框、可编辑文本和带 data-typography="off" 的元素一概不动。重复执行不会改变任何东西。

这一遍只看到文本节点,而字典里的值还会进入属性——title、aria-label、placeholder——这些它够不着。所以值要单独检查:包里不能有直引号、用连字符代替破折号、破折号两边没空格,或者三个点。否则同一行文字会因为放在哪里而长得不一样,提示框和读屏标签里的规则也根本不会生效。

第一遍之后才变化的文本——token 计数器、计时器、进度——会重新处理:实时的「4 с」保留不换行空格。这一点在真实文档上验证,而不只是验证字符串:npm run check:typography:dom(jsdom,六个用例——第一遍、文本变化、新增子树、卸载时停止、外语、切换语言)。

这一遍只在俄语处于激活状态时开启:规则是俄语的,套到别的语言上等于改不属于这个包的文本——英文界面里 "quotes" 会变成 «quotes»。包监听 locale/change,在切换时启动或停止这一遍,而不是在安装时。

数值范围的规则(「5–10」用中破折号)有意没有加:整个包里唯一一处数字间连字符是 cron 表达式示例 0 9 * * 1-5,破折号会把它弄坏。这是实测的,不是猜的。

规则用脚本检查,不靠肉眼:npm run check:typography。

插件名称

插件名称来自它自己的文件 locale/<язык>.json,而本地化服务解析这张映射时不查已注册的字典:它自己的文档说「maps do not consult registered dictionaries」。所以用字典翻不了插件名称——包访问不到别人的映射,英文名称就保持英文,直到插件自己带上 locale/ru.json。

包自己带着这些名称:32 个 harness 插件的名称,以及 33 个第三方插件的名称和描述,后者的字典由它翻译。每个都有英文原文——译文就是从它来的——和俄文。渲染出的界面经过一遍替换,把英文文本换成俄文:在插件卡片里,在 bundle 组成行里,在插件页面和设置注册表里也会替换。屏幕阅读器用的名称(aria-label)也会一并替换,让卡片整体按俄语朗读。

这一遍只认精确匹配:整行必须与包里的名称或描述完全一致。只是提到名称的句子保持原样;代码、输入框和聊天记录都不动。和排版那一遍一样,它只在俄语激活时生效。

同样的 32 个名称会以单独补丁的形式进入 harness(docs/harness-descriptors-ru.patch):harness 自己的界面里插件用俄语名称,这个补丁先于前面那一步。补丁是构建产物:它由译文和 harness 源码树生成,一旦构建出的补丁与仓库里的不一致,npm run check:descriptor-patch 就会失败。第三方名称放在 src/client/plugin-names-ru.json:该文件由导出的插件词典生成(npm run build:plugin-names),一旦映射与词典不一致,npm run check:plugin-names:map 就会失败。同一个英文名称不能译两次——harness 和插件各译一套。npm run check:plugin-names 在真实文档上验证(jsdom,12 个用例):这一遍会翻译名称、描述、屏幕阅读器名称和 bundle 行,并且不碰不该碰的内容。

想把 harness 翻译成你自己的语言

我们走过的流程、踩过的坑和各项检查都整理在 docs/how-to-translate-dsh.md:怎么找各个区块,为什么不能从任意文件里按单个键拼模板,运行时依赖变更会对译文做什么,以及怎么把发布交给 CI。

许可证

MIT

变更记录

CHANGELOG.md —— 每个版本都有什么。
预览分享卡片长什么样 ↓Ragnoryok1/dsh-client-locale-ru
分享 · DeepSeek Harness Hub
Ragnoryok1/dsh-client-locale-ru

DeepSeek Harness 网页 GUI 的俄语(ru)语言包——可安装的混合 dsh.bundle + dsh.client 插件。

回到顶部