## 1.1.4 **这一版修的是「设置看起来生效、实际没生效」和账号切换时的目录/令牌竞态。** 温度设置此前从未写进上游请求;换号后模型目录可能继续来自旧账号;官方客户端里的旧令牌还可能覆盖插件刚刷新的令牌。 - **温度真正写进请求**:`buildChatBody` 现在把数值温度放进 `parameters.temperature`(0 也是合法值);「自动」仍然不传。面板里保存的每模型温度、插件默认温度和试跑温度不再只是写本地文件。 - **换号即清目录**:`setAuth` 在身份变化时同步清空目录缓存、`rawById` 与在途请求;同时去掉登录路径上重复的 `invalidateCatalog()`,不再让 `onAuthChange` 刚发起的预热请求白打一次上游。 - **令牌只向更新的方向跟随**:重读桌面端 / CLI 存储时,只有当前令牌不可用、或官方令牌明确更晚过期才采用,并过滤已过期候选;不会出现「采用旧令牌 → 401 → 再刷新」的循环。 - **目录响应中断不再崩或悬住**:`httpsJson` 补上响应流的 `error` 监听与单次 settle 保护;连接中途断开时目录请求明确失败并按网关重试。 - **流内错误保留 HTTP 状态**:401 / 429 / 5xx 参与错误分类,认证失败不再变成未知错误,限流与上游 5xx 仍能进入重试策略。 - **诊断不再被 20 秒截断**:诊断会同步刷新目录与额度,最坏情况超过 20 秒;`getJson` 支持按次超时,诊断与深度状态使用 90 秒。 - **额度到期不再显示 1970 年**:上游额度 / 套餐到期时间是秒级 epoch,客户端按官方客户端的 `<1e10` 规则换算。 - **面板细节**:对话页额度胶囊按 `at` 取最新 extras;换号时清掉账号 / 用量 / Credits 的 busy 状态;切 7 / 14 / 30 天与 Credits 区间互不牵连;试跑不会停在已下架模型;模型编辑器的「自动输出」显示与实际请求同一条公式;空 `/qoder` 默认按 `status` 处理。 - **消息与错误分类**:纯字符串消息内容不再被丢弃;`getaddrinfo ENOTFOUND` / `EAI_AGAIN` 归入可重试的 `TRANSPORT`;无效 PAT 回滚时一并还原目录快照;桌面端 `jt-` 令牌也能识别。 ### 升级 tgz(推荐,可核对 SHA-256): ```bash dsh plugin --profile desktop add ./qoder-to-dsh-1.1.4.tgz ``` GitHub 直装: ```bash dsh plugin --profile desktop add github:Ianzhyh/qoder-to-dsh ``` 装完**完全退出 dsh 再打开**(插件在宿主启动时加载;只重开面板不会换掉已加载的代码)。 - 资产 SHA-256:`f3fd572b02795bfc6e798061a6e9a9fc3d079a5f46b3f59177875f5c14405e8f`(32 个文件,586.2 KB) - 完整变更见 [CHANGELOG](https://github.com/Ianzhyh/qoder-to-dsh/blob/v1.1.4/CHANGELOG.md)。 ### 验证 - `npm run release:check` 全绿:模块语法检查 + 123 个用例 + 安装自检 11/11(`--offline`) - `npm run test:live` 实机探针:`pong`、`finish=stop`,11 个模型,usage 正常返回 - `npm run verify:release` 15/15:32 个文件与工作区逐字节一致、两份 `VERSION` 一致、patch 名与包名一致、`tests/` 未混入 - 新增回归:温度写入 `parameters`(含 0 与未设置)、换号清目录且不误清同账号刷新、无效 PAT 回滚目录、桌面端只跟随更新的令牌、目录响应中途断开、流内 401/429/5xx 分类、`expires_in` 毫秒语义、字符串消息内容、DNS 错误归类、秒级额度到期、自动输出上限收敛、按次请求超时、空 `/qoder` > 非官方互操作实现,只使用你自己合法授权的 Qoder 账号;上游协议可能随时变化。失效时先看设置里的「诊断」页。