dsh-error-gloss:给 DeepSeek Harness 报错补一行中文释义

前言

DSH 的官方客户端只把 6 个错误码本地化成中文,其余报错一律原样透传英文。日常开发里碰到的错误大多是英文,有些还会让会话直接断流、只剩一句没头没尾的字符串。要找这些错误的原因,只能靠自己搜日志、猜上下文,或者去比对官方错误码表。

dsh-error-gloss 就是解决这件事的客户端插件:它不改内核,不改报错原文,只在官方报错行下方加一行中文释义,并把原因分「确定 / 可能 / 未验证」三档来讲。下面介绍它的覆盖范围、设计原则、安装方式和适用边界。

这是什么

  • 名称:dsh-error-gloss
  • 维护者:chenmianmian19977-glitch(GitHub 显示作者名「一碗大灌面」)
  • 版本:0.1.0(package.json 与索引 index.json 均为 0.1.0)
  • 仓库:https://github.com/chenmianmian19977-glitch/dsh-error-gloss
  • 目录页:https://www.skillhub.cn/plugins/chenmianmian19977-glitch/dsh-error-gloss
  • 星标:0(GitHub API 实时数据,仓库创建于 2026-11-05)
  • 许可:代码 / 词典 / 构建脚本为 MIT;界面内的角色形象与首图为 CC BY-NC-SA 4.0

定位一句话:给 DeepSeek Harness 的每一条报错加一行中文释义,40 条词条覆盖全部官方错误码。

它只做客户端侧的事:通过官方公开扩展点往界面投影层注入注解。英文原文、原始 code 标签、官方原有报错行全部完整保留,不替换、不遮挡。带注解的报错显示效果如下,官方报错行原样在上,中文注解另起一行挂在下方:

本轮运行失败  pi-ai detected context overflow for model "trae-cn/deepseek-v4.1-flash"  [CONTEXT_WINDOW_EXCEEDED]
【上下文窗口超限】本次请求携带的内容超过模型可用上下文,本轮已停止。 · 建议:新建会话,把长材料拆成几段   展开详情

展开「展开详情」之后有六段内容:原文、释义、原因(带可信度)、影响、建议、依据,仍是原文优先。

覆盖范围

词条共 40 条,分两层。

1、精确词条 29 条,每个码一条,含具体释义与建议,覆盖上下文溢出、6 条压缩失败分支、认证 / 额度 / 限流、密钥、图片、超时、中止、子任务续跑等。

2、码族词条 11 条,覆盖 TEAM_*、GOAL_*、ASK_*、SESSION_*、ATTACHMENT_*、WEB_*、SANDBOX_*、ACTIVATION_*,以及模型适配器、授权流程、工具调用。

官方码这一侧零未收录。唯一还会显示「原因未验证」的,是服务端自己写的自由文本(例如 INVALID_REQUEST 的详情),这类文本没有码、无法枚举,插件的做法是保留原文、只加中文释义,不猜原因。

三条设计原则

按 code 路由,不解析文案。 官方 HarnessError 的注释本身写得很直白:route on this, never by parsing message。适配器措辞随时会变,码相对稳定。匹配顺序是:精确码 → 码族 → 文案模板 → 兜底。

原因分三档,不确定就说不确定。 三档的组合方式如下。

档 界面表现 用在哪
确定 原因:因为 …(附依据) 码的直接含义,如「压缩被取消」
可能 可能原因:…(需结合 token 用量判断) 需要上下文才能判定的,如上下文溢出
未验证 原因未验证 —— 这条文案来自服务端 自由文本、码族(只知道属于哪个模块)

码族词条一律是 forbidden。它只回答「这属于哪个功能模块、跟模型 / 网络有没有关系」,具体原因让你回到原文看。宁可说「不知道」,也不给一个假的归因。

任何异常都不许影响宿主。 客户端插件的 apply() 抛错会让整个 DSH 起不来。插件的每一步注册都单独兜异常,注册失败只记账、并在设置页用红框显示,绝不冒泡。

安装

这个包没有发布到 npm,当前方式是从 GitHub 装。仓库里已经带了构建好的 client/bundle.js,安装时不需要编译、不需要 npm install,也没有任何运行时依赖。

用插件管理器从 GitHub 装:

dsh plugin --profile desktop add https://github.com/chenmianmian19977-glitch/dsh-error-gloss

也可以直接给 tarball 地址,跳过 git clone,更快:

dsh plugin --profile desktop add https://github.com/chenmianmian19977-glitch/dsh-error-gloss/archive/refs/heads/main.tar.gz

卸载:

dsh plugin --profile desktop remove dsh-error-gloss

不用插件管理器的话,走手动安装脚本:

git clone https://github.com/chenmianmian19977-glitch/dsh-error-gloss
cd dsh-error-gloss
node tools/install-local.mjs      # 拷进 profile + 追加 bundles + 装载预检
node tools/uninstall-local.mjs    # 一键回退

两个脚本都幂等,装坏了可以退干净。

第三种是通过「发现」页安装。DSH 的插件市场不是中心化商店,而是一组索引源:每个源是一个 format: 1 的 JSON,Host 负责抓取与校验,「发现」页负责展示。仓库自带一份索引,校验器 @deepseek-ai/dsh-plugin-market-index 已验证通过。步骤是:插件 → 发现 → 添加索引源,粘贴下面这个地址:

https://raw.githubusercontent.com/chenmianmian19977-glitch/dsh-error-gloss/main/index.json

列表里出现「报错中文注解」,点安装即可。若「发现」标签页不存在,路径是:插件页 → 实验性插件 → 更多 → 启用「自定义插件市场」。索引源是你自己加的,装什么由你决定,界面上那句「索引由第三方提供」是真的。

装完确认

设置页路径是 设置 → 报错中文注解。这里能看到版本、已加载词条数、命中计数,还有一个「自测」按钮:点一下用内置样本渲染一条完整注解,零请求、零模型调用,用来确认装上了。

命中计数适合用来核对词条是否真的覆盖到了你遇到的码,而不是只是装上了。

自己改词条

词典是纯数据,放在 catalog/entries/*.json,一条一个文件。改完按下面三步重建:

node tools/build-client.mjs      # 打包
node src/selftest.mjs            # 引擎自检
node client/bundle-test.mjs      # 客户端装载

用户级覆盖放在 ~/.dsh/error-gloss.user.json,按 id 做字段级合并。其中 causeAssertion 是单向锁定:你可以把「确定」降级成「可能」,不能反过来。这个设计等于强制留一个「不能悄悄把不确定写成确定」的口子。

隐私与兼容性

隐私方面声明为零遥测、零模型调用、零网络出口:注解全部来自本地词典,不会为了翻译报错再发一次请求;插件不发起任何网络请求;注解只进界面投影层,不改动 transcript。进入日志的内容会先过一遍脱敏,覆盖密钥、Bearer、UUID、request_id、绝对路径、手机号。

兼容性方面,插件面向 DeepSeek Harness 0.2.1-rc.2 实测,只用官方公开扩展点:dsh.client 清单、ctx.locale.register、ctx.slots.inject / ctx.slots.register,零内核改动、零 fork。词典条目各自带 dshVersionRange,跨版本的词条会被标 stale 并跳过,不会拿旧文案套新报错。

适用场景与注意

适合两类人。一类是日常用 DSH 客户端跑智能体、希望报错直接能看懂的开发者;另一类是维护 DSH 插件或二次开发、想统一团队报错解释口径的人,词典是纯 JSON,改起来成本低。

需要留意的地方:

1、这是客户端插件,注解依赖宿主客户端的界面投影层。如果用的是非客户端场景(纯 Host / 命令行),注解未必会被渲染出来。

2、插件以当前 DSH 进程的权限运行。安装前先翻一遍源码,确认注册逻辑和脱敏规则符合你的预期,再决定要不要装。

3、许可证分两层:代码、词典、构建脚本是 MIT;界面里的「大肥鱼」角色形象与首图(client/assets/、client/icon.png、assets/)是 CC BY-NC-SA 4.0,作者声明该形象不可以任何形式商业化。商业场景使用的话,删掉这两个资源后重新运行 node tools/build-client.mjs,插件会回落到原创的鲸尾徽章(纯 SVG),代码部分仍是 MIT。完整范围和 Takedown 流程见 PROVENANCE.md。

4、项目与 DeepSeek 官方无关,未包含也未修改任何官方代码,详见 NOTICE.md。社区目录页属于独立站点收录,不是官方应用商店。

小结

dsh-error-gloss 的价值不在于把报错重新写一遍,而在于在保留原文的前提下补上中文释义和可执行建议,并用三档原因处理「不确定」这件事。对主要在客户端开发 DSH 插件的人来说,它是一个可以照着改的本地报错词典。

目录页:https://www.skillhub.cn/plugins/chenmianmian19977-glitch/dsh-error-gloss

GitHub:https://github.com/chenmianmian19977-glitch/dsh-error-gloss

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜