## 1.7.0 **中英双语 + 数据准确性版本。** 面板、聊天错误、`/qoder` 命令与 4 个只读工具都跟随界面语言;同时把 1.6 声称但没真正落账的 usage 估算修好,并把请求体预算、重试码表、`stop`、试跑输出上限、请求页筛选、额度缓存、手动刷新令牌和签到调度一起收口。 ### 新增 - **中英双语**:右上角「自动 / 中文 / English」。面板用内嵌字典在渲染入口翻译,日期/数字走 `Intl`;`lib/i18n.mjs` 覆盖聊天错误、斜杠命令和只读工具。账号名、模型名、上游原文、日志正文与诊断 JSON 字段名保持原文。 - **试跑最大输出**:可填本次 `maxTokens`,留空使用已保存 / 官方默认;结果仍计入用量。 - **请求页「仅需处理」服务端过滤**:表头计数、CSV、空态与表格同一口径。 - **诊断包 / 日志下载**:除复制外可直接保存文件。 - **额度 TTL**:默认 60 秒复用额度快照(`QODER_EXTRAS_TTL_MS`),额度卡「刷新」强制读上游。 - **手动刷新令牌**:账号页当前账号新增按钮,成功后会同步刷新目录与签到状态。 - **签到准点**:快照输出 `nextRunAt`,60 秒 tick 对齐 10:00,不再最多等 20 分钟;面板显示真实下次自动时间。 - **估算徽标**:上游缺 usage 的请求在明细与最近记录里标「估算」。 ### 修复 - **usage 估算未落账**:1.6 只把估算发给 DSH,本地账本仍记 0;现在估算值同时落账并标 `estimated`。 - **估算输入虚高**:图片 base64 不再计入字符数,长截图会话不会估成几十万 token。 - **请求体漏算 tools / 编码膨胀**:预算改按 base64 编码后体积计算,并纳入 tools / chat_context;大工具定义不再到上游才 413。 - **重试码表不一致**:`EMPTY_RESPONSE` / `TOOL_CALL_LEAK` 加入宿主自动重试码表。 - **`stop` 静默丢弃**:现在写入上游 `parameters.stop`。 - **prefs 未知键被抹掉**:保存时保留 current 中未识别的顶层字段。 ### 已知边界 - 英文界面不翻译上游返回原文、日志正文和诊断字段名;日志页保留原文便于排障。 - 估算值不是上游账单;只用于本地统计与上下文判断。 - `QODER_MAX_BODY_BYTES` 现在指编码后体积,语义比 1.6 更保守。 - 额度 TTL 最多滞后 60 秒;需要即时数字时点额度卡「刷新」。 - 签到准点依赖 DSH 正在运行;DSH 未运行不会签到。 ### 升级 tgz(推荐,可核对 SHA-256): ```bash dsh plugin --profile desktop add ./qoder-to-dsh-1.7.0.tgz ``` GitHub 直装: ```bash dsh plugin --profile desktop add github:Ianzhyh/qoder-to-dsh ``` 装完**完全退出 dsh 再打开**。如果面板顶部提示“已加载 vX,磁盘 vY”,说明还在跑旧代码。 - 资产 SHA-256:`665f1b50cdd3c435ff3fe0e814fd1fa3846cc6a4c728876b426d0c6baa2f8560`(43 个文件,930.9 KB)。 - 凭据、偏好、用量、签到与目录缓存都在 `/qoder`,升级不会清空;新增的 `uiLocale` 与旧 `prefs.json` 向后兼容。 - 从 1.6 回滚到 1.5/1.4 时,旧版本会忽略 `uiLocale`,不会影响账号或额度。 ### 验证 - `npm run release:check`:模块语法 + 312 个用例 + 安装自检(`--offline`) - `npm run verify:release`:产物与工作区逐字节一致、exports 目标齐全、locale 键一致、README / CHANGELOG / 双份版本号一致 - 离线 harness 逐页渲染英文面板(明/暗、380px 窄屏),确认无中文残留、无横向溢出;账号名/模型名/日志保持原文 - 实机 `npm run test:live` 会消耗 Credits,默认不跑;需要时只跑最小 prompt > 非官方互操作实现,只使用你自己合法授权的 Qoder 账号;上游协议可能随时变化。失效时先看设置里的「诊断」页。