# dsh-tidewatch **DeepSeek 峰谷时刻悬浮徽章**:一张悬浮在输入框旁的潮汐卡,告诉你此刻是峰期还是谷期、距下一阶段还有多久、本次会话花了多少钱。 - 状态点:**峰期橙红 / 谷期蓝绿**,一眼可辨 - 折叠态:`● 峰期 距谷期 03:33 · ¥0.12` - 展开态(点击展开):官方峰谷时段表(北京时间)、当前档位价格、本次会话 Token 明细、汇率设置 - 计费:官方峰谷两档价格(美元口径),按每次调用**实际发生时刻**的档位计价,缓存命中/未命中分开 - 币种:默认人民币显示(固定汇率 6.67,与官方人民币标价一致),展开面板可一键切换美元(4 位小数) - 跟随 GUI 亮/暗主题(`--dsw-*` 变量) ## 峰谷时段(官方依据) DeepSeek 官方自 2026-08-17 起实施峰谷分时定价: | 时段(UTC) | 北京时间 | 档位 | |---|---|---| | 01:00 – 04:00 | 09:00 – 12:00 | 峰 | | 04:00 – 06:00 | 12:00 – 14:00 | 谷 | | 06:00 – 10:00 | 14:00 – 18:00 | 峰 | | 10:00 – 次日 01:00 | 18:00 – 次日 09:00 | 谷 | 谷期价格为峰期的一半。徽章按 UTC 窗口判定当前档位(官方口径),时段表展示按北京时间。 **周末规则(2026-08-23 起)**:周六/周日(UTC 自然日)全天按谷期计价,无峰谷切换;下一阶段切换点为下周一首次进入峰时。 ## 计费口径 - 价格单位:美元 / 1M tokens(官方定价页口径),成本 = 输入未命中 × cacheMiss + 输出 × output + (缓存读 + 缓存写) × cacheHit;其中「输出」已含推理 token - 峰谷时代之前(2026-08-16 16:00 UTC)的调用按当时的基础价计费(历史正确性) - 每次调用的费用按**事件发生时刻**的档位计算,跨峰谷切换不漂移 - 账本金额以美元存储,显示时按固定汇率 6.67 换算人民币(默认)或直接显示美元 ## 安装 > 需求:Node.js ≥ 20 + DeepSeek Harness(带 `dsh plugin` 命令的版本)。 ```sh # npm 包安装(发布后可用) dsh plugin --profile web add dsh-tidewatch # 或本地目录(开发调试) dsh plugin --profile web add link:./dsh-tidewatch ``` 安装后重启 `dsh web` 生效。 ## 使用 - 徽章悬浮在输入框右侧、与输入框垂直居中对齐;窄窗口放不下时自动移到输入框上方,不遮挡输入框与官方统计栏 - 点击徽章展开/收起详情面板:时段表、当前档位价格、Token 明细、币种切换(¥ / $) - 点击「本次会话费用」行可展开**分模型花费明细**(各模型的 token 与花费分别列出,合计 = 分模型之和) - 币种选择即时生效并记住;人民币 2 位小数,美元 4 位小数 ## 文件结构 ``` dsh-tidewatch ├── package.json # dsh.bundle.patch + dsh.client.platform 声明 ├── cordis.patch.yml # 装配行 ├── scripts/build.sh # 构建:语法检查 + zod junction ├── lib/ │ ├── pricing.js # 纯函数:峰谷窗口、isPeakHour/peakPhaseAt、价格表、costOf │ ├── index.js # 宿主:costUsage 会话投影(按事件时刻计费) │ └── client.js # 前端:悬浮徽章(__ModuleLoader__ bundle) ├── docs/PORTING.md # 移植到其他宿主的适配说明 └── test/verify.mjs # 纯模块自检(node test/verify.mjs,30 项) ``` ## 数据流 ``` 模型调用 usage 块(assistant/chunk、assistant/message 事件) │ lib/index.js:costUsage 会话投影(zod schema 校验) ▼ token 桶 + 美元成本(按事件时刻峰谷档位) │ useProjection('costUsage')(浏览器端) ▼ lib/client.js:悬浮徽章渲染(秒级倒计时 + 汇率换算显示) ``` ## 开发与验证 ```sh DSH_CHECKOUT= bash scripts/build.sh # 语法检查 + zod junction node test/verify.mjs # 峰谷数学与计费自检(30 项,含双份常量一致性) ``` ## 已知限制 - 价格表内置(V4.1-Flash 2026-09-10 新价 / V4-Pro 官方 2026-08-17 价)。2026-09-14 04:00 UTC(北京 12:00)起 `deepseek-v4-pro` 路由到 Flash 按 Flash 价计费。**官方调价后需手动同步** `lib/pricing.js`(计费)与 `lib/client.js` 的 `DISPLAY_PRICES`(展示)两处常量 - 时段判定固定按 UTC(官方口径),时段表展示按北京时间(UTC+8) - 花费为美元账本 × 固定汇率 6.67 换算人民币(与官方人民币标价一致);展开面板可切换美元显示 ## 借鉴与许可 峰谷数学(isPeakHour / peakPhaseAt / tierFor / costOf)与会话投影结构借鉴自 [dsh-cost-meter](https://github.com/Han-1413141/dsh-cost-meter)(MIT License),按精简目标改写。 [MIT](LICENSE) © 2026 KhalilYamber