Skip to content

dsh-model-surplus v0.4.3 — 让「未配置密钥」的修复真正生效

Choose a tag to compare

@itchenshi itchenshi released this 04 Oct 23:54
· 4 commits to main since this release

修的是「上一版没真正生效」这件事

上一版(0.4.1)修了 Command Code 余量显示「未配置密钥」的问题:让插件跟着路由自己声明的
apiKeyEnv
找密钥,而不是用写死的名字。

但那条修复读配置用的是 settings.get('llm-pi-ai') —— 而引擎 0.2.0-rc.2 已经把 settings
服务换成了 SettingsForms,get() / section() / register() 全部移除。这个调用抛 TypeError,
又正好包在 try/catch 里,于是静默退回写死的名字:

也就是说:在 0.2.0 上,「未配置密钥」的修复并没有生效,而且没有任何报错。

修法

改为从 settings.describe() 取该 entry 的 value(引擎解析后的配置 = base + user),
并把这段查找抽成纯函数 credentialRoutesFrom() 加以测试 —— 形状一变就该测试红,
而不是让余量显示悄悄退化。

环境要求

  • DSH ≥ 0.2.0-rc.2
  • Node ≥ 20
  • 零运行时依赖

安装 / 升级

dsh plugin --profile web add github:itchenshi/dsh-model-surplus

或本 Release 的 tarball(dsh-model-surplus-0.4.3.tgz)。

用 DSH Ready GUI:随包版本已抬高到 0.4.3,下次启动 GUI 会自动换过来。

验证

  • 本仓库 npm test:34 项通过(新增 credentialRoutesFrom 用例,含各种异常形状
    必须返回 null 而不是抛错)
  • GUI 侧 verify:builtin:/model-usage 仍为 401(插件本身一直在正常运行,
    受影响的是它内部读密钥名的那一步)