Repository navigation
Releases
v2.1.0 — 供应商查询范围收敛
v2.1.0 — 供应商查询范围收敛
将远程额度、余额、用量与费用查询收敛为 7 个供应商 ID,并完成 Command Code/OpenCode 修正、
Fireworks 与 OpenDesign 新增、方法级调度与控制台会话桥接。
查询范围收敛
- 白名单:
deepseek、openrouter、openrouter-account、opencode、commandcode、fireworks、opendesign;
由代码级冻结常量固定,不能通过普通配置扩大。 - 被排除厂商(OpenAI/ChatGPT/Codex、Anthropic/Claude、Moonshot/Kimi、Z.ai/智谱、MiniMax 及未列入者)
在注册表、自动探测、凭据解析、调度、手动刷新与「测试连接」各环节均被拦截;
旧配置里即使仍是enabled: true也不会发出任何查询。 - DSH 模型路由、模型选择与凭据不变;被排除厂商的模型仍可正常用于聊天和开发;
本地 Token 统计继续记录,usage.json格式与历史不变。
行为变更
- Command Code:删除硬编码套餐月额度与「用消费倒推剩余」的逻辑;月度进度改由官网公开套餐规则计算,
仅在「有效订阅 + 当前账期有效 + 规则可用」同时成立时输出,并标记为公开规则口径。 - OpenCode:单位换算集中到唯一常量;真实单位未核验前保留
microCents原始额度并显示百分比,
不再显示推算出的美元金额。 - 新增 Fireworks:查询官方账户本月消费(消费不是余额),控制台 Credits 余额需用 API Key 核对账户归属。
- 新增 OpenDesign:查询所选工作空间成员的 Design Plan 窗口,不查询钱包。
- 方法级调度:各方法独立成功/失败;凭据或账户变更时丢弃迟到响应;
手动刷新不绕过在途合并与 429 的Retry-After。 - 控制台会话:DeepSeek 控制台用量/费用、Fireworks 余额、OpenDesign 额度使用插件专用浏览器会话,
默认关闭并需用户主动在宿主机器登录;playwright-core升为生产依赖。
迁移
升级前先在插件私有目录保存配置回滚快照;白名单供应商旧配置无需重填;
被排除供应商的旧条目保留为惰性历史,不参与查询也不被删除。详见 docs/provider-upgrade-migration.md。
⚠️ 回滚到旧版本前,请在旧配置中把被排除项设为禁用并确认旧自动填充路径不会重新启用它们,
否则可能重新触发已排除厂商的查询。
验证
| 命令 | 结果 |
|---|---|
npm test |
95/95 通过 |
npm run test:browser |
25/25 通过 |
npm run test:pack |
通过:65 个文件、237,984 字节 |
产物自身复验:解包后独立安装并跑通 npm test、test:browser、test:pack。
真实账户只读对照(一次,使用已授权凭据,未记录密钥):deepseek.balance.api-key、
opencode.rolling-window.api-key、commandcode.windows.api-key、commandcode.monthly.public-rule 均通过。
验证边界:未在 Windows 主机执行 test:desktop 与 test:lifecycle;
OpenRouter 全部方法、Fireworks 月消费与四个控制台方法在本机未配置凭据/未登录,状态为「已实现,未真实账户验证」。
产物
| 文件 | 说明 |
|---|---|
dsh-token-quota-2.1.0.tgz |
插件安装包(65 个文件,237,984 字节) |
dsh-token-quota-2.1.0-source.tar.gz |
源码快照,额外含 docs/ 与 .github/ |
db3fa28ef4d06be6b8346ecb38ce04396569fd1b251745b22999cc8e0619964d dsh-token-quota-2.1.0.tgz
d233c518f5ffdab325db3e7ea7dd4b1d5a44443ec86e60b4a60cebbbf177c9fa dsh-token-quota-2.1.0-source.tar.gz
要求 DSH ≥ 0.1.7-rc.2。
v2.0.4 修复供应商重置时间
修复 Command Code 等供应商未公布重置时刻时错误显示“1月1日”的问题,保留 OpenCode Go 的正常倒计时。
- 零值、无效日期和误传入毫秒字段的秒级值显示为未知,不再生成错误日期或“即将重置”。
- 有效毫秒、数字串与带时区日期保持准确时刻;没有上游时刻时不推算重置时间。
- 保留侧栏用量浮卡、完整供应商详情、现有配置面板及插件启停修复。
验证:源码及安装包均通过单元与集成 81/81、Chromium 25/25;真实隔离 Desktop 11/11、Web 6/6、Cordis 4/4 通过。供应商解析回归使用固定响应;真实账户查询、日常 profile 安装和原生 Desktop 截图未执行。
安装请下载 dsh-token-quota-2.0.4.tgz。源码归档和 SHA256SUMS.txt 同时提供。升级前完全退出 DSH,安装新包后重启,再点击刷新以取得新解析结果。
v2.0.3 侧栏用量浮卡
点击侧栏显示用量浮卡,查看已添加供应商的主指标、查询状态、刷新间隔和上次刷新时间。支持深浅主题、完整/紧凑/图标侧栏,以及窗口尺寸变化。
- “详情”进入完整供应商分栏明细及历史表格;“设置”进入现有配置面板。
- 支持再次点击入口、Esc、外部点击和“关闭”收起浮卡。
- 保留 v2.0.1 的数据语义与 v2.0.2 的插件启停、路由清理修复。
验证:源码及安装包均通过单元与集成 77/77、Chromium 24/24;真实 DSH Web 6/6、Desktop 复验 11/11、Cordis 4/4 通过。Desktop 首次重载阶段失败报告已保留,单独复验通过;原生截图、真实供应商查询和日常 profile 安装未执行。验证使用隔离目录,环境为 DSH 0.2.0-rc.2。
安装请下载 dsh-token-quota-2.0.3.tgz。dsh-token-quota-2.0.3-source.tar.gz 为源码归档,SHA256SUMS.txt 提供校验值。升级前完全退出 DSH,再安装新包并重新启动。
v2.0.2 修复插件重新启用与重复路由
修复插件停用后重新启用、组件重启时的 webserver: duplicate exact route "/api/dsh-token-quota/state" 启用失败。插件资源现在随宿主生命周期释放,启动失败时撤回已登记的路由,单项清理异常不会阻止其他资源释放。
保留 v2.0.1 的独立供应商分栏详情、历史表格及当前主题样式;详情中的“设置”进入现有配置面板,供应商异步扫描红字修复继续保留。
升级前请完全退出 DSH。 安装 dsh-token-quota-2.0.2.tgz 后重新启动。已经产生重复路由的旧进程需要退出后才能清除遗留状态。
验证:单元与集成 77/77、Chromium 23/23、真实 Desktop 10/10、真实 Web 5/5;真实 Cordis 三轮启用、重启、停用及启动失败回滚通过。Desktop 检查直接操作插件详情页开关。验收使用隔离 profile,未配置真实供应商凭据;本轮 Desktop 截图未执行。
附件:插件安装包、tag 对应源码包及 SHA256SUMS.txt。
v2.0.1 恢复独立详情并修复供应商扫描
恢复侧栏独立详情,并修复供应商扫描中的 cannot get required service "settings" in inactive context 错误。
- 详情按 v1.4.0 分栏展示已添加供应商、周期限额与各币种余额,沿用当前主题和控件样式。
- 刷新历史恢复为表格,最多显示最近 50 条;支持窄窗口滚动和键盘展开。
- 详情中的“设置”按钮进入现有概览、供应商、设置面板。
- 异步扫描通过宿主公开服务查询读取设置;服务暂不可用时保留最近成功目录,恢复后可重新扫描。
验证:归档解包后单元与集成测试 73/73、Chromium 23/23;发布包真实 Windows Desktop 9/9、DSH Web 5/5。宿主版本为 DSH 0.2.0-rc.2;真实供应商账户查询未执行。
下载 dsh-token-quota-2.0.1.tgz 安装插件;dsh-token-quota-2.0.1-source.tar.gz 为源码快照。校验值见 SHA256SUMS.txt。升级前退出对应 DSH 实例,用新包重新执行插件添加命令,完成后重启。
v2.0.0 侧栏与用量监控面板升级
v2.0.0 升级侧栏与用量监控面板,支持 Windows Desktop 和 Web。
更新内容
- 侧栏支持完整与紧凑显示,保存本地偏好,单击直接进入概览。
- 概览、供应商、设置三个页签统一入口,支持需关注筛选与自适应布局。
- 周期限额、逐币种余额、报告费用和报告用量分别展示;未知值与零值区分,失败刷新标明上次数据及成功时间。
- 编辑草稿与在途保存隔离,保存失败保留输入,内部返回及关闭提供未保存确认。
- 适配桌面当前会话、原生设置入口及侧栏收起/恢复。
- 重写 README,完善安装、升级、配置、数据含义与支持范围,修正包元数据中的旧仓库地址。
下载与安装
dsh-token-quota-2.0.0.tgz:插件安装包。桌面安装到desktopprofile;Web 安装到对应 profile。dsh-token-quota-2.0.0-source.tar.gz:本版本源码。SHA256SUMS.txt:上述两个文件的 SHA-256 校验值。
要求 DSH ≥ 0.1.7-rc.2。安装或升级后重启对应 DSH 实例,具体命令见 README。插件包不包含 DSH,首次安装可能需要联网下载依赖。
验证与范围
单元及宿主集成 72/72、Chromium 22/22、打包清单 46 文件通过。最终安装包在真实 DSH 0.2.0-rc.2 上通过 Windows Desktop 9/9、Web 5/5;验证安装、界面、配置持久化、重新扫描和原生设置入口。
供应商解析使用模拟响应;真实供应商账户、付费调用及 Admin/Management Key 联调未执行。宿主直接离开原生设置分区时,未保存草稿会被清理。
v1.3.0 局部重构:请求与编辑状态一致性 · 扫描提交边界 · 低成本热路径
v1.3.0 局部重构:请求与编辑状态一致性 · 扫描提交边界 · 低成本热路径
按 docs/refactoring-plan.md 的 R1–R6 批次实施,保留供应商注册表、凭据类别隔离、DSH 官方槽位、
版本 1 小时桶格式与无构建客户端加载方式。
行为变更
- 请求生命周期(A1):客户端后台 GET 改为「完成后调度」——上一次结束再等 10s,失败按
10→20→40→60s 退避,成功后复位;同一会话同时最多一个后台 GET,重复 load 合并;切页取消旧请求
并立即查询新会话;隐藏时停表并取消、恢复可见只发一次;手动刷新暂停轮询、合并重复点击,
130s+ 等待上限不再被 30s 误杀。 - 编辑器身份(A2):
editorId+ 草稿修订号 + 操作序号绑定保存与连接测试;保存中返回目录、
打开别的供应商、或改动字段后,旧回调不得清除新草稿、不得把旧测试结果当作当前草稿的结果;
目录刷新带序号,旧响应不覆盖新响应。 - 阈值判定(A3):详情卡、供应商状态药丸、设置页预览与状态标记共用
classifyPct(pct, { warnPct, critPct });无值/未知值/NaN 归为 unknown,不再折成正常的 0%。 - 扫描协调(B1/B2/B3):新增
lib/scan-coordinator.js——目标/完成版本门禁、单实例并发、
常规周期复用进行中的扫描、来源变化使旧候选失效、手动重扫必须等到覆盖本次点击的新扫描
(30s 拿不到就返回失败 +「稍后重试」,不把旧扫描包装成成功)、自动填入与/settings共用
串行写入队列、扫描失败保留上次成功发现。
autoDetected统一表示「当前发现」,历史来源继续用autoSource展示。 - 热路径(C1/C2/C3):今日统计由「遍历整份桶表」改为最多 24 次本地小时键查询;相同
(会话, 轮次, 步骤)的相同最终样本不再触发落盘;OFFICIAL_ENDPOINTS成为官方主机与基础路径的
唯一事实来源,查询与探测校验共同引用并前置声明。 - 兼容修复(C4):Windows 用量目录迁移改为「目标目录不存在才 rename」;目标为空目录或缺
usage.json时回落旧路径读取,不合并、不覆盖;EXDEV/EPERM/占用失败保留旧数据并可诊断。
验证
| 项目 | 结果 |
|---|---|
npm test |
57/57 通过(基线 33 项) |
npm run test:browser |
6/6 通过(基线 2 项) |
npm run test:pack |
通过:39 个文件 |
lib/*.js 语法检查、git diff --check |
通过 |
| 今日统计(2160 桶) | 2.6 µs vs 旧式遍历 281 µs(≈110×) |
| 运行时(20 客户端 / 100 事件每秒) | /state p50 0.42 ms、p95 0.53 ms,事件循环 p95 1.5 ms,查询并发峰 1,空闲零重写 |
实施中定位并修复 3 个真实缺陷:客户端在途令牌被自身 finally 提前清除导致结果全丢;扫描持续
失败时在同步批次里无限自旋卡死主线程;版本推进未越过已完成版本,导致手动重扫返回点击前结果。
验证边界
- 未在 Windows 主机上运行:Windows 的 rename 语义以注入
EPERM/EXDEV覆盖,CI 矩阵未在本机触发。 - 未在真实 DSH 实例中做端到端验收;未访问真实计费账户(全部使用替身响应)。
- 未做改动前/后同环境对照基准,本版只给改动后实测值。
- 异步持久化专项按门槛未启动(90 天 / 13 供应商完整同步保存 p50 38.5 ms 属最坏合成负载)。
详见 docs/validation-report.md。
产物
| 文件 | 说明 | SHA-256 |
|---|---|---|
dsh-token-quota-1.3.0.tgz |
npm 安装包(39 个文件,含 lib/test/scripts) | 940432ff1508881d1aa8fc5688c431f691f000baedbb0e2cca0424b4b79d2289 |
dsh-token-quota-1.3.0-source.tar.gz |
源码快照(47 个文件,额外含 docs/ 与 .github/) | f1d886d17b8a0abeecc02bcee4a5a0a54dcc0d2e2c21ac71c6cdf6cebe8bfc03 |
安装:dsh plugin --profile web add /绝对路径/dsh-token-quota-1.3.0.tgz