Skip to content

dsh-model-surplus v0.4.1 — 跟着路由解析密钥(修「未配置密钥」)

Choose a tag to compare

@itchenshi itchenshi released this 25 Sep 07:09
· 9 commits to main since this release

修一个会让人以为「插件没装好」的 bug

症状:切到另一个数据目录(例如把数据目录改成「跟随系统」)后,即使卸载再重装本插件,
会话标题旁也不显示 Command Code 的余量,而是显示 「未配置密钥」。

原因:插件找密钥用的是写死的名字 COMMANDCODE_GOAT_API_KEY(当年那条路由叫
commandcode-goat)。而引擎是按路由自己声明的 apiKeyEnv 取密钥的 —— 换了数据目录之后,
路由名变成了 commandcode(这正是本插件自己的补丁声明的名字),GUI 给这个路由推导出的密钥名是
COMMANDCODE_API_KEY。

于是同一个密钥:聊天完全正常(引擎按路由取到了),余量却报「未配置密钥」(插件按写死的
名字去找,找不到)。重装插件没用 —— 那个名字在插件默认值里,不在你的配置里。

修法:插件现在跟着路由走 —— 先读该路由自己声明的 apiKeyEnv,找不到才回退到插件里那个
默认名。这样它和引擎用的是同一个名字,不可能再出现「聊天能用、余量说没密钥」的分歧。

三个分区(OpenCode Go / Command Code / DeepSeek)都受益:任何路由只要自己声明了
apiKeyEnv,插件就会照着用。找不到密钥时的诊断也更准了 —— 现在会列出它找过的所有名字。

实测(真实 ~/.dsh 数据):

路由: commandcode   apiKeyEnv=COMMANDCODE_API_KEY   (默认模型就是它)
查找顺序:  HIT COMMANDCODE_API_KEY → miss COMMANDCODE_GOAT_API_KEY
额度接口:  HTTP 200  credits=63.10  windows=yes

安装

# 推荐:直接从 GitHub 装(记进 profile,之后可跟着更新)
dsh plugin --profile web add github:itchenshi/dsh-model-surplus

# 备选:本 Release 的 tarball(git 协议走不通、但 HTTPS 能通时用这条)
dsh plugin --profile web add https://github.com/itchenshi/dsh-model-surplus/releases/download/v0.4.1/dsh-model-surplus-0.4.1.tar.gz

升级

  • 用 DSH Ready GUI:随包版本已抬高到 0.4.1,下次启动 GUI 时会自动重装,不需要手动操作。
  • 自己装的:按上面任一命令重装即可。

验证

npm test:33 项通过(新增 credentialRefsFor 的用例,覆盖「路由名优先、默认名兜底、
多个候选去重、没有 settings 服务时的回退」等)。