# Changelog ## [1.5.2] - 2026-08-18 ### 新增 - **价格卡展示位置开关(`priceTableDisplay`,精确到单个模型)**:拓展价格表挂载的第三方模型默认收入拓展价格表内(按 厂商 → 模型家族 折叠,厂商默认折叠),不再与 DeepSeek 价格表同区直接展示;拓展价格表内逐模型提供「在费用设置直接显示」开关,可自选哪些模型的价格卡在「价格表」区直接显示——DeepSeek 模型也可逐模型收入拓展表,第三方单个模型也可提到直接区;该开关只决定展示位置,不影响挂载状态与计费——未勾选直接显示的已挂载模型在拓展表展开后以可编辑卡片呈现(可改价/取消挂载/切回直接显示)。配置键 'provider:modelId' → 布尔,经 `applyConfigPatch` 校验(非布尔值定向收敛)与 strict codec,旧账本经 `sanitizeConfig` 自动收敛;verify.mjs 第 6.6/7.1 节固化回归。 - **默认挂载全部目录模型**:`prices.providers` 默认包含全部内置目录(含未核价条目,计费时不套价);旧账本经加载边界 mergeDeep 自动补齐——挂载只决定计费可用性,是否直接显示在费用设置仍由逐模型 `priceTableDisplay` 开关控制。 - **模型名匹配放宽**:新增归一化(小写,忽略大小写/空格/横杠/下划线/点号,去括号附注如 (go))——归一化等价即命中;宽泛包含匹配(请求名归一化后包含价格表模型名即算,取最长候选,如 `gpt5.6 luna(go)` → `gpt-5.6-luna`);旧的去后缀/前缀/家族相似链保留兑底;pricing.js 与 bundle 镜像双实现同步,verify/审计固化回归。 ### 修复 - **路由 provider 下本会话费用为零**:请求携带的 provider 未在价格表登记(opencode / zen 等路由入口)时,此前按未定价计 0(luna 已挂载、DeepSeek v4 flash 均为 0);现在自动按模型名跨厂商全库查找——先查 DeepSeek 主表(保留峰谷两档),再取其余厂商中归一化最长命中;全库无此模型才不套价。 - **宿主账本入账丢失手动覆盖与匹配模式**:`providerPriceEntryFor` 调用补传 `priceMatch` / `priceOverrides`,与客户端估算同口径。 - codec 放行 provider 价格条目的 `unpriced` 标记(不再被下发时剥离)。 ## [1.5.1] - 2026-08-18 ### 变更 - **经典样式收起态精修**:去掉旗标箭头的倒三角与当前段进度填充叠层(浅色主题下会把分段冲淡/压暗造成色差),上橙下蓝两段恒定满色,与展开态经典样式完全一致;当前时段仅由描边标记与下方短词指示,倒计时与进度信息在悬停提示中。 - **README 中英配图整理**:峰谷段落配图改为「设置页峰谷面板 + 右下角(dock)显示设置」两图;右下角(dock)段落补充显示设置开关位置截图;新增真实界面截图 peak-panel-settings / dock-display-settings 中英各一张。 - 安装链固定 tag 同步至 v1.5.1(install.ps1 `$Rev` 此前仍为 v1.4.0,一并修正)。 ## [1.5.0] - 2026-08-18 ### 新增 - **多厂商 Coding Plan 额度查询**:新增 `lib/coding-plans.js` adapter 框架,首批接入三家(均经端点存活实测):Anthropic Claude Pro/Max(`api.anthropic.com/api/oauth/usage`,OAuth token,5 小时/7 天窗口)、Z.ai/智谱 GLM Coding Plan(`api.z.ai` 与 `open.bigmodel.cn` 国际/国内双端点,兼容 plans 数组与扁平窗口两种响应)、MiniMax Token Plan(`minimaxi.com`/`minimax.io` 双域,旧 Coding Plan 计数制端点兼容回退)。 - **Kimi / Moonshot 额度接入(第四家)**:官方 PAYG 余额端点 `api.moonshot.cn/v1/users/me/balance`(未授权实测 401 存活,官方文档明确),显示人民币余额文本窗口;额度窗口新增 `text` 形态(无百分比的量直接显示文本,strict codec 同步放宽);Kimi Code 订阅周窗/5小时窗暂无 API-Key 化公开端点(仅控制台),已在面板与文档中如实注明。 - **OpenRouter / SiliconFlow 额度接入(第五、六家)**:OpenRouter `openrouter.ai/api/v1/credits` 预付 credits 已用%(官方文档端点,实测 401 存活);SiliconFlow 硅基流动 `api.siliconflow.cn/v1/user/info` 账户余额文本窗口(实测 30014 存活);白名单断言入 verify。至此覆盖 Anthropic / Z.ai·智谱 / MiniMax / Kimi / OpenRouter / SiliconFlow 六家;百炼 / OpenAI Codex / Gemini Code Assist / GitHub Copilot 个人版经调研无 API-Key 化公开用量端点,如实注明不接入。 - **「账本不可用」根治与兼容性加固**:修复拓展价格目录经 `priceSchema`(要求三桶数字)下发导致未核价/两档简写条目击穿 strict codec 的问题(新增 `catalogEntrySchema` 兼容三桶/两档/未核价);新增 `sanitizeConfig` 在账本加载边界清洗非法配置值(类型/枚举/嵌套面板定向回落,随下次落盘覆盖);`buildState` 增加 stateSchema 自检与逐级降级兑底(剔目录 → 空额度状态),漂移时保核心可用性而非整体拒绝;verify.mjs 第 7 节固化回归(含完整快照过 strict codec 的漂移哨兵测试)。 - **模型名自动匹配计费**:未知模型 id 按 精确 → 手动覆盖 → 去日期/版本后缀 → 前缀(最长) → 家族 token 相似(≥2 前缀 token,阈值防误配) 解析价格;`priceMatch` 配置(auto/exact,默认 auto)可在设置中关闭;宿主账本入账与客户端估算同口径(pricing.js `matchModelId` + bundle 镜像双实现,注释标明同步要求)。 - **手动匹配指定**:设置页新增「最近出现但未精确命中的模型」列表,可为每个模型下拉指定计费所用的价格条目(含跨 provider 引用与 DeepSeek 默认价),写入 `priceOverrides` 手动覆盖(优先级最高,支持移除);配置经校验与 strict codec。 - **拓展价格表目录**:设置页新增「拓展价格表」面板(点开展开)——内置只读目录按 厂商 → 模型家族 分类展示全部内置价格(含 DeepSeek 峰谷两档与 13 家第三方);支持一键挂载到费用设置价格表参与计费,DeepSeek 模型可取消挂载回退默认价后重新挂载;目录由宿主 `buildPriceCatalog()` 经状态下发(`PROVIDER_MODEL_FAMILIES` 家族分组),缺失时面板自动隐藏。 - 凭据发现链与余额/Go 额度一致:面板显式 Key → DSH 凭据库 → 环境变量 → CLI 登录态兜底(Anthropic 自动读 `~/.claude/.credentials.json`);Key 只发往各家硬编码官方域名(白名单断言入 verify)。 - 设置页新增「Coding Plan 额度」面板:各家独立启用开关/Key 输入/手动刷新/进度条与重置时间;无凭据/无订阅为软失败中性提示;新增 `refreshCodingPlan(provider)` RPC 与状态 `codingPlans` 字段(strict codec)。 - Kimi Code 订阅窗口 / 阿里云百炼 Coding Plan / OpenAI Codex / Gemini Code Assist / GitHub Copilot 暂无 API-Key 化公开用量端点,交接文档记录调研结论不接入(Kimi 仅接入 PAYG 余额)。 - 测试:`verify.mjs` 新增第 5 节(归一化/三家解析器/软失败/官方域名白名单/配置清洗/清单断言)。 - **价格目录大扩充(含 OpenCode Go 全部模型)**:内置目录从 ~30 个模型扩充至 90+:OpenAI GPT-5.6 Sol/Terra/Luna、GPT-5.5、5.4 全系、5.3 Codex、5.2、5.1 全系,Anthropic Fable 5/Opus 5/4.8/4.7/4.6/Sonnet 5/4.6,Gemini 3.7/3.6/3.5 Flash、3.1 Pro、2.5 全系,Grok 4.6,GLM-5.3/5,Qwen3.8/3.6/3.5,Kimi K2.5,MiniMax M2.5,MiMo V2.5,Hy3 等;价格以 OpenCode Zen/Go 官方价目(cost-pass-through)与各厂官方定价页交叉核对,无法核价的(GLM-5.3 等)标 unpriced 不编造;新增 `opencode-go` 目录含订阅全部 18 个模型的官方参考单价;`docs/provider-pricing.json` 由代码自动再生成。 - **挂载即在费用设置直接显示**:拓展价格表挂载的第三方模型在「价格表」区以可编辑卡片直接展示(与 DeepSeek 价格同区,按厂商分组,含输入/缓存/输出三栏与取消挂载);未核价条目禁止挂载。 - **拓展价格表厂商默认折叠**:点开面板后各厂商默认收起(▸ 标题含模型数),点击单个厂商展开,互不影响。 - **经典样式收起态改竖向胶囊条**:经典样式侧边栏收起时不再是「峰时/平价」文字分段,改为与展开态同风格的竖向胶囊条——上橙下蓝满色分段(与展开态经典样式完全一致,不淡化不填充)、描边标记(峰时橙/平价蓝)指向当前时段,下方横排短词,倒计时与进度信息在悬停提示中;简洁/经典两收起态均为「竖轨道 + 短词」同构布局。 - 修复:客户端 parseConfig 的 codingPlans 硬编码三家白名单导致 kimi/openrouter/siliconflow 配置被丢弃,改为通用遍历校验。 ## [1.4.1] - 2026-08-18 ### 新增 - **峰时/平价时段条(适配 PR #9 并修复)**:展开态将峰时提示升级为单行紧凑时段条——细轨道左橙右蓝、标记线指向当前时段,右侧文字显示当前时段与距下次切换的倒计时(30 秒刷新),竖向占用约一行;峰时橙色文字、平价蓝色文字,不显示价格;预算框、今日费用与设置页预算面板三处生效;仍遵循 `peakNotice` / `peakEnabled` / `peakEffectiveAt` / `peakWindows` 门控。 - **收起态竖向峰谷时段条**:侧边栏收起(rail)时显示与展开态同构的竖向时段条——竖轨道上橙(峰)下蓝(平价)、标记线指向当前时段,下方横排短词,悬停查看完整中英文计费提示(不采纳 PR #9 「rail 窄栏隐藏」的方案,满足收起时可见的需求)。 - **峰谷相位纯函数与边界测试**:`lib/pricing.js` 新增 `peakPhaseAt`(相位与相邻切换点,客户端 bundle 镜像同逻辑);`test/verify.mjs` 补充峰始/峰终半开边界、跨日回绕、跨午夜窗口、空窗口/非法输入断言。 - 收起态竖向条截图源文件 `docs/peak-notice-rail.html`(旧 ⚡ 版已替换)。 - **峰谷时段条样式可切换(`peakStyle`)**:设置 → 费用 → 峰谷计价 下新增「峰谷时段条样式」,可选简洁(单行紧凑,默认)与经典(分段轨道 + 箭头旗标 + 胶囊芯片;收起态为文字分段 + 进度填充),展开/收起两态同步切换;配置经 `applyConfigPatch` 校验(compact / classic)与 strict codec(optional 枚举),旧账本自动补默认值。 - **峰时色改为亮橙色**:时段条/竖向条的峰时色由主题警示黄(`--dsw-alias-state-warn-primary`)改为固定亮橙色 #ff9800(段落、文字、经典样式旗标均适用),与平价蓝对比更明确。 - **收起态短词改横排**:简洁样式收起态不再竖排文字,轨道下方横排单行短词「峰时 / 平价」,倒计时与完整计费提示移入悬停提示,不拥挤。 - **取消非当前段淡化**:简洁样式时段条/竖向条不再对非当前段加透明度(浅色背景下橙色被稀释成浅黄,误观感为颜色未改),两段恒定满色,当前时段由标记线与文字色指示。 ### 变更(设置页整理) - **峰谷设置与预算分离**:新增独立「峰谷计价与提示」面板(紧随预算面板)——启用开关、显著提示开关、时段条样式切换与实时时段条预览(随草稿即时刷新)、峰窗/生效时间/当前档位状态行;预算面板不再内嵌时段条,「显示设置」网格不再混入峰谷控件。 - **显示设置分组重排**:字段按「常规 / 金额与币种 / 侧边栏显示 / 右下角角标 / 图框详细信息」五组加分隔标题展示,同组字段相邻;清理无引用的旧文案键。 - **Coding Plan 面板默认折叠**:设置页「Coding Plan 额度」默认收起,仅显示标题与一段说明;标题旁提供展开/折叠按钮,展开后显示完整说明与三家配置卡,展开/收起状态经 localStorage 记住(刷新页面保持,存储不可用时仅本会话生效)。 ### 修复(PR #9 审查) - 修复收起态引用未定义的 `peakShort` / `offPeakShort` 文案键导致显示原始键名的问题(中英文文案已补齐,含倒计时系列键)。 - 峰谷门控与窗口判定收敛为单一 `peakView` / `peakPhaseAt` 路径,展开/收起两处共享,时钟源唯一(组件内 `useState` 定时刷新),消除原先三处重复的 `now` 计算与门控拷贝。 - 移除不再渲染的 `.cm-peak-notice` 死样式;时段条/竖向条样式选择器按最终 DOM 结构核对无误。 - 修复**启用预算时收起侧边栏不显示竖向峰谷时段条**:竖向条原只在「未启用预算的今日徽章」分支渲染,启用预算后 rail 模式只有百分比方块;现将竖向条移至侧边栏底部堆叠末尾,收起态无论预算 / Go 额度开关状态均统一显示(仍受 `peakNotice` 等门控),居中对齐百分比方块。 ### 修复(账本/额度) - **账本不可用**:历史中间版本曾向账本写入 `reasoning: null` 等非法数值,Typert strict 状态 codec(zod `number()` 拒绝 null)拒绝整个 `getState` 响应,设置页显示「账本不可用」;现在 `Ledger.open()` 在加载边界用 `sanitizeDays()` 清洗全部数值字段(非有限/负数/缺失归 0,非法 byProviderModel 条目剔除),随下次落盘覆盖旧数据。 - **OpenCode Go 额度无法查询**:与上同根——`refreshGoQuota` 返回体携带的账本状态同样击穿 strict codec,网关拒绝整个响应;随账本清洗一并修复(额度端点 `opencode.ai/zen/go/v1/usage` 与 Key 发现链实测正常,真实 Key 返回 200)。 - 测试:`verify.mjs` 新增旧账本兼容回归(含 `reasoning: null`/缺失字段/非法条目的 fixture + strict codec `safeParse` 断言)。 本文件按 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.1.0/) 格式维护。 ## [1.4.0] - 2026-08-17 ### 新增 - **真实场景截图**:README 中英版新增真实 DSH Web 峰时提示截图(侧边栏与设置页),英文版使用英文界面截图。 - **峰时高价时段显著提示(PR #8)**:侧边栏预算框、侧边栏今日费用区域与设置页预算面板在峰时段显示一行警示提示(「当前为 DeepSeek 峰时高价时段,按峰时价计费」,中英双语);复用 `peakEnabled` / `peakEffectiveAt` / `peakWindows` 门控,rail 窄栏不显示。 - **峰时提示独立开关(`peakNotice`)**:设置 → 费用 → 峰谷计价 下方新增「峰时高价时段显著提示」开关(默认开启),关闭后三处提示全部隐藏。 ### 变更 - **非 DeepSeek provider 计费适配**:按 provider + model 隔离价格与账本明细,支持 OpenAI、Anthropic、Google Gemini、Mistral 的 flat input/output/cache/reasoning token 价格;非 DeepSeek 未配置模型不再静默套用 DeepSeek 默认价。 - **官方价格目录**:新增 `docs/provider-pricing.json`,首批记录 OpenAI、Anthropic、Gemini、Mistral 官方 API 价格、来源 URL、核对日期与限制说明;未确认的官方型号不编造价格。 - **价格表适配更多模型计费方式**:支持 `input`/`output` 两档简写(Anthropic / Gemini / Mistral 等无缓存折扣模型)与任意子集——`cacheMiss` 缺省取 `input`、`cacheHit` 缺省取 `cacheMiss`(无缓存折扣时命中价 = 未命中价),峰谷子档同样适用;此前两档写法会被误判为非法、缺省命中价会被按 0 计费。 - 账本入账 token 归一化:非数字/负数 token 按 0 处理,防止污染聚合(计费数学本身已有防护,此变更覆盖账本累加)。 - 修复:设置页编辑价格表保存会把模型的 `legacyBase` 抹掉(客户端解析未保留该字段),现已在客户端解析与草稿回传中完整保留。 - **价格表按官方当前定价更新(纯峰谷两档)**:官方已取消基础价档与生效时间,改为纯峰谷两档(空闲 = 高峰一半):flash 空闲 0.007/0.22/0.66、峰值 0.014/0.44/1.32;pro 空闲 0.022/0.66/1.98、峰值 0.044/1.32/3.96;内置表基础档改为与空闲档同价,默认生效时间改为过去时刻(两档即时生效)。 - **官方价格同步适配新页面**:解析器适配官方新单表结构(OFF-PEAK/PEAK 两档行);页面无生效时间时,同步后 `peakEffectiveAt` 设为当前时间(峰谷立即生效);计费图示与中英 AI 同步提示词同步更新。 - **历史计费正确性**:2026-08-16 16:00 UTC(峰谷时代分界)之前的调用按当时的基础价计费(flash 0.0028/0.14/0.28、pro 0.003625/0.435/0.87,`legacyBase`),之后的调用按峰谷两档;账本入账与会话徽章(投影 v2,按事件时刻逐次计费)同步生效。 - 官方价格同步成功后,设置页草稿整体对齐最新配置(价格表显示即时刷新)。 ## [1.3.1] - 2026-08-16 ### 新增 - **Token 用量统计**(费用设置内):历史累计 token 总量(输入 / 缓存 / 输出 / 调用次数)+ 类 Codex 的 **26 周每日用量方格热图**——格子自适应、横向铺满整个设置页宽度;无用量日为半透明无色玻璃格(带宿主风格边框),有用量为四档蓝色,今天描边高亮,悬停任意格子见当日 token 明细、调用次数与费用;月份标签在网格下方;界面中英双语。 - 文档:会话徽章两位置(输入区下方 / 会话标题栏)截图更新为局部放大版。 ### 修复 - **多窗口配置互覆**:设置保存由整份草稿改为**只提交改动的顶层键**(diff 补丁)——多个 dsh 窗口同开时,旧窗口不再用整份旧配置覆盖其它窗口已保存的改动。 - 设置页打开期间,周期轮询刷新不再覆盖有未保存改动的草稿(v1.3.0 轮询引入的回归)。 ## [1.3.0] - 2026-08-16 ### 新增 - **OpenCode Go 订阅额度**:读取 opencode.ai 的滚动 5 小时 / 本周 / 本月用量百分比与重置时间;侧边栏新增「Go」图框(与预算图框同风格:标签 + 已用% + 进度条 + 5h/周明细 + 重置时间,窄栏为百分比方块),设置页新增额度面板(三档进度条 + 手动刷新);API Key 按「配置 → DSH 凭据库(OPENCODE_GO_API_KEY)→ 环境变量 → opencode auth.json」顺序自动发现;显示位置 / 刷新间隔可配。 - **右下角(dock)额度 / 预算 chips**:显示设置新增「右下角显示」开关与四项独立子开关(滚动 5 小时 / 本周 / 本月额度、预算已用%);多开时一行右对齐自动换行,单开时单独一个小 chip;预算 chip 沿用预算图框口径(≥80% 预警、≥100% 超支),悬停见重置时间 / 预算明细。 - **文档截图 v2**:新增 OpenCode Go 额度相关实拍截图(侧边栏合并卡片 / 设置页额度面板 / 右下角 chips / 显示设置 / 窄栏 rail),README 中英双语同步引用。 ### 变更 - **OpenCode Go 额度启用开关**(设置 → 费用顶部额度面板,像「启用预算」一样的总开关):关闭后不读取、不显示(侧边栏图框/设置页/右下角全部隐藏),面板显示未启用说明;默认开启。 - **无订阅场景兜底**:未找到 API Key、API 返回 401/403(无 Go 订阅或 Key 无效)时,面板给出明确的中英文提示;未启用时手动刷新会被明确拒绝。 - Go 图框与预算图框**同时出现时合并为一张卡片**(Go 在上、预算在下,细分隔线,各自保留预警色),单独出现时保持单框外观。 - **Go 额度主档位可配**(显示设置新增「Go 额度主档位」:滚动 5 小时 / 本周 / 本月,默认滚动 5 小时):图框主百分比与进度条按主档位显示,其余两档在下方一行展示;设置页额度面板与右下角 chips 同步按主档位排序(主档位高亮)。 - 设置 → 费用:OpenCode Go 额度面板移至**最顶部**(预算面板之上,余额面板第三)。 - 「**Go 图框详细信息**」「**预算图框详细信息**」独立开关(显示设置):关闭后图框只保留 标签 + 已用% + 进度条;合并卡片中两段各自生效,可进一步压缩高度。 - 合并卡片压缩高度:合并时省略「重置时间 / 已用与额度」次要行,收紧内边距与进度条高度。 - 侧边栏 rail 模式:余额行与今日行的文本符号(¥)改为官方风格钱包图标(16×16 填充式 SVG,currentColor,跟随主题色);宽栏文案、悬停明细与错误态(⚠)不变。 - 侧边栏底部与其它插件图标兼容(dsh-remote-web-ui 的「检查更新 / 移动端远程控制」行):展开(wide)时本插件余额行与预算图框保持最左;窄栏(rail)时外壳底部改为纵向排布,本插件图标置底,同一行的其它插件图标上移。 ### 修复 - **OpenCode Go 额度 HTTP 403(#2)**:Key 解析优先级与 DeepSeek 余额路径对齐——显式配置 → DSH 凭据库(OPENCODE_GO_API_KEY)→ OPENCODE_GO_API_KEY 环境变量 → 兼容旧名 OPENCODE_API_KEY → opencode auth.json,多 Key 机器不再拿错;额度请求补浏览器 User-Agent,修复被 opencode.ai 前置 Cloudflare 拦截(error 1010)导致的 403;goQuotaKeyMissing 提示文案同步修正。 - **侧边栏数据冻结在页面加载时刻(#3)**:客户端新增 60 秒周期轮询(页面隐藏时跳过)与 visibilitychange 重新可见立即刷新,reload 加并发防抖,卸载时清理定时器与监听;「今日费用 / 余额」与设置页看板现在会自动跟进账本与余额缓存。 ## [1.2.0] - 2026-08-14 ### 新增 - **中英双语界面**:全部插件文案(会话徽章、侧边栏余额与预算图框、设置页)接入 i18n,支持 简体中文 / English / 跟随浏览器(自动); - **界面语言设置**:设置 → 费用 → 显示设置 → 界面语言,切换即时生效并自动保存;设置页左侧分节标签随语言切换(费用 / Cost); - 语言探测写回:默认「跟随浏览器」时,首次加载把浏览器语言探测结果写回配置,服务端消息(余额查询、官方价格同步、配置校验等)与界面语言保持一致; - 服务端消息本地化:余额查询/刷新、官方价格同步、配置校验错误等返回文案按当前语言输出。 ### 变更 - 配置新增 `locale` 键(auto | zh | en,默认 auto);旧账本自动补齐默认值,无需迁移; - Typert 清单摘要与文档注释改为中英双语;package.json 补充 i18n/bilingual 等关键词; - package.json 新增 `dshhub` 清单(DSH Hub 收录所需:displayName / summary / categories / surfaces / capabilities / compatibility / permissions)。 ### 修复(安全) - **余额查询凭据收紧**:`balanceEndpoint` 仅允许官方域名 `api.deepseek.com`;`llm-deepseek.baseURL` / `DEEPSEEK_BASE_URL` 指向非官方域名时,余额查询直接拒绝发请求(中英双语报错),API Key 不再有被发往非官方端点的风险; - **可审计的固定安装链**:`install.ps1` 固定发布 tag(v1.2.0)与 pnpm 版本(11.21.0),git/tarball 两种来源均按 tag 安装,`irm` 一键行也固定到 tag URL;README 安装说明同步更新,并注明"先审阅再运行"。 ## [1.1.2] - 2026-08-14 ### 新增 - **一键安装**:仓库内置 `install.ps1`,支持 `irm … | iex` 远程直装(自动补齐 pnpm、自动探测 git、无 git 时退回 GitHub tarball 直链;已安装时重跑即为更新); - **远程直装**:支持 `dsh plugin --profile web add github:Han-1413141/dsh-cost-meter` 与 GitHub 打包直链,无需克隆仓库; - CI:新增 `install-smoke` 工作流,在 Windows / Linux 真机验证一键安装路径与插件图接入。 ### 变更 - package.json 补充 `repository` / `homepage` / `keywords` 元数据。 - README 中英双语化:新增 `README.en.md` 英文版,与中文版顶部互链可切换;新增中英双语「架构与数据流」「计费规则与峰谷计价」SVG 图示;新增 `docs/AI-PRICE-SYNC-PROMPT.en.md` 英文提示词。 ## [1.1.1] - 2026-08-14 ### 修复 - 侧边栏外壳的 footerActions 为横向 flex,余额行与预算图框此前并排渲染;改为单个条目内自建纵向堆叠(余额在上、图框在下),rail 模式同样垂直排列。 - 文档:侧边栏截图改为紧凑的底部区域(余额 + 图框 + 设置按钮),替换过长整列图。 ## [1.1.0] - 2026-08-14 ### 变更 - 侧边栏布局:余额行移到预算圆角图框**上方**(关闭预算时余额仍显示在设置按钮上方); - 预算图框新增**今日费用与占预算百分比**(「今日 ¥x · 占预算 y%」行); - 文档:补充本会话费用两种位置(输入区下方 / 会话标题栏)的实拍截图。 ### 修复 - `normalizePrice` 读取谷时/峰时档时误用外层闭包,导致任何配置保存都会把 offPeak/peak 清零;已修复并重新同步官方价格。 ## [1.0.0] - 2026-08-14 首个正式版本。功能全览: - 本会话费用徽章(输入区下方/会话标题栏,位置可配),输入/缓存/输出 token 分列; - 侧边栏当日费用徽章与预算圆角图框(设置按钮上方,预算/已用%/进度条,≥80% 预警、≥100% 超支); - 预算:额度(按显示币种)与周期(今日/本月/累计/自定义日期区间); - 官方开放平台余额:总余额/赠送/充值,显示位置(侧边栏/设置页/两者/关闭)与刷新间隔可配,手动刷新; - 设置页:汇总卡片、今日会话明细、按天历史记录、价格表(基础/谷时/峰时)、峰谷计价开关与当前档位状态; - 计费:DeepSeek 官方价格模型(美元/1M tokens),缓存写入按命中价,峰谷计价按时点门控(生效前基础价); - 官方价格一键同步(解析官方定价页)+ [AI 价格同步提示词](docs/AI-PRICE-SYNC-PROMPT.md); - 所有设置修改即时自动保存(600ms 防抖); - 文档:README 图文演示(侧边栏/会话/设置页截图)、宣传图、CHANGELOG、LICENSE。 ## [0.4.0] - 2026-08-14 ### 新增 - 官方开放平台余额:调用 `GET {baseURL}/user/balance`(与模型请求同一把 API Key,来自 设置→模型/凭证服务),显示总余额/赠送/充值; - 余额显示位置可配:主页面侧边栏 / 设置页 / 两者 / 关闭;自动刷新间隔可配(默认 5 分钟),设置页可手动刷新; - 设置页全部配置改为**即时自动保存**(600ms 防抖),移除保存按钮,顶部显示 保存中/已自动保存/失败 状态; - 峰谷计价状态提示:设置页显示当前状态(未生效按基础价 / 峰时段 / 谷时段);计费本身始终按官方生效时间(2026-08-16 16:00 UTC)门控,生效前不使用峰谷价; - `docs/AI-PRICE-SYNC-PROMPT.md`:AI 价格同步提示词,便于用户让 AI 自主读取官方定价、同步不同模型不同时间的价格。 ## [0.3.0] - 2026-08-14 ### 新增 - 自定义预算周期:预算周期新增「自定义区间」,可设置开始/结束日期(结束留空 = 今日);已用金额由宿主按区间聚合(`budgetUsed` 随状态下发)。 - 主页面预算图框:启用预算后,侧边栏底部(设置按钮上方)显示圆角方形图框,内含「预算」标签、已用百分比、进度条与 已用/额度 金额;窄栏(rail)模式显示百分比方块。≥80% 橙色预警、≥100% 红色超支。 - 仓库宣传图:docs/promo.png(鲸鱼娘主题)。 ## [0.2.0] - 2026-08-13 ### 新增 - 预算:设置页顶部新增「预算」面板,支持启用/关闭、预算额度(按显示币种)与周期(今日/本月/累计),显示已用金额与已用百分比进度条(≥80% 橙色预警、≥100% 红色超支)。 ### 变更 - 输入/缓存/输出 token 在汇总卡片、侧边栏提示、会话徽章与历史表中分开显示(此前缓存并入输入);缓存读写按命中价计费,界面显式标注。 ## [0.1.0] - 2026-08-13 ### 新增 - 本会话费用徽章:输入区下方(dock)与会话标题栏(header)两种位置,可配置或关闭。 - 当日费用徽章:侧边栏底部,悬停显示今日调用/token 与本、月累计费用。 - 设置 →「费用」独立页面:今日/本月/累计汇总卡片、今日会话明细、按天历史记录。 - 显示设置:位置、侧边栏开关、货币单位(CNY/USD/EUR)、货币符号、汇率、小数位数。 - 峰谷计价:DeepSeek 官方 2026-08-16 生效的峰/谷时段计费(可关闭、时段可配)。 - 价格表管理:每模型 基础/谷时/峰时 三档价格,支持增删改与默认回退。 - 从官方文档同步价格:抓取并解析 [DeepSeek 官方定价页](https://api-docs.deepseek.com/quick_start/pricing),一键应用。 - 账本持久化:$DSH_HOME/storages/cost-meter/ledger.json,原子写入 + 防抖,历史保留天数可配。 - 数据通道:costUsage 会话投影(本会话)+ Typert RPC(costMeter/getState、updateConfig、fetchPrices、resetHistory)。 ### 已知限制 - 官方页面解析依赖当前页面结构,页面改版后需手动编辑价格表兜底。 - 会话徽章按当前价格档位估算;精确计费以账本为准。 - 安装/更新插件后需重启 `dsh web` 生效。