dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
DeepSeek 峰谷时刻悬浮徽章 · dsh plugin:实时峰谷档位、下一阶段倒计时、本次会话 API 花费(含三段历史价格档)| A floating tide badge for DeepSeek Harness: live peak/off-peak phase, countdown and session cost.
DeepSeek Harness 的峰谷时刻挂件。一枚停在界面右下角的潮汐立绘,随时告诉你此刻是峰期还是谷期、距下一次切换还有多久、本次会话花了多少钱。
DeepSeek 自 2026-08-17 起对 API 实行峰谷分时定价:峰期价目是谷期的两倍,周末与中国法定节假日全天按谷价。这意味着同样一次调用,落在不同钟点,账单可能差一倍。
dsh-tidewatch 把这件事摊开在你眼前:现在是什么档位、距离切换还有多久、这一场对话已经花了多少钱。金额按每次调用实际发生的时刻计价,回看历史会话也不会被当前价目重算。
它卖的是「口径可核对」:峰谷窗口、周末、法定节假日、调休、三段历史价格全部写在代码里,并配一条全年逐小时的口径比对脚本作为复核手段。
同一个版本内置两种界面形态,峰谷判定、会话费用、Token 明细、账户余额完全一致,差别只在长在哪里、长什么样。装一份就都有,在面板里一键切换,立刻生效,不用重装、不用刷新。
| 形态 | 长什么样 | 适合谁 |
|---|---|---|
| 立绘挂件 | 屏幕右下角一只立绘,可以拖到任意位置、松手吸附到左右边缘。点一下弹出漫画气泡,再点一下翻页看本次会话开销。峰期与谷期用不同立绘 | 喜欢有角色的、想看立绘随时段变化的 |
| 胶囊徽章 | 嵌在官方输入框下方那行统计里,与官方条目并排,不占屏幕空间、不遮挡任何东西;点一下直接展开完整面板 | 喜欢极简的、不想被浮层挡住的 |
打开面板(点立绘出气泡 →「详情 ›」;胶囊形态直接点徽章)→ 面板底部「形态」一行,选「立绘挂件」或「胶囊徽章」。切换即时生效,偏好会被记住。
两种形态同时挂载、只渲染被选中的那一个;没被选中的不跑余额轮询与计时器,也不会在界面上留下占位。
| 分类 | 能力 |
|---|---|
| 峰谷 | 官方峰谷窗口判定;秒级倒计时到下一阶段;周末与法定节假日全天谷期;调休上班的周末同样全天谷期 |
| 计费 | 三段历史价格时代(基础价 / 首版峰谷价 / V4.1 Flash 新价)按调用时刻选档;缓存命中与未命中分开计价;输出含推理 token |
| 余额 | 读取 DeepSeek 账户余额(充值 / 礼金 / 合计)与读数时刻 |
| 挂件 | 右下角常驻立绘,可拖拽,松手吸附到较近的一侧,位置持久化;峰期与谷期换不同立绘 |
| 形态 | 立绘挂件与胶囊徽章装在同一个版本里,面板里一键切换、即时生效,偏好会被记住 |
| 会话隔离 | 每个会话各记各的账:新建会话从 ¥0.00 起算,切回旧会话恢复它自己的数字,多会话并发也不串账 |
| 气泡 | 点立绘弹出漫画式对话气泡(大圆角 + 指向头顶的尖角);点气泡翻页。收起只有两条路:约 5 秒后自己淡出,或点插件之外的任何地方 |
| 交互 | 点立绘出气泡、点气泡翻页;完整面板从气泡的「详情 ›」进入;面板右上角 ✕、再点立绘、或点外部都会收起 |
| 编辑器 | 面板内置气泡编辑器:增删页与行、改模板文案、拖拽排序(也可点 ↑↓)、模块库(☆ 收藏常用行,一键插入)、一键恢复默认 |
| 泡泡玩法 | 一行内用 A || B 并列随机、写成 img:https://… 渲染成图片(在线图与 data URI 均可) |
| 观感 | 跟随 GUI 亮暗主题(--dsw-* 变量);复用 DSH 官方 UI 原语;合成提示音(无音频素材) |
| 账号通道 | 实测账号内置通道自带 usage,按 token 精准计价;只有这条通道确实拿不到用量时,才退回余额差值估算,金额标「(估算)」 |
| 诊断 | 用量异常时(一条结算事件都没收到,或有事件但一条不带用量)气泡底部出现一行排障信息;正常会话里不显示 |
| 不适用时 | 当前模型不是 DeepSeek 时显示「不适用」,不拿 Flash 价硬凑数字;同一会话里早先已计价的调用仍照常计入总额 |
快速安装见上文「两种形态」。本节讲完整的前置条件与各种安装方式。
dsh plugin 命令的 DeepSeek Harness--profile web 换成 --profile desktop(桌面端读取的是 desktop profile)dsh plugin --profile web add github:KhalilYamber/dsh-tidewatch
到 Releases 下载对应版本的 tgz。界面语言二选一——两个包的功能与峰谷规则完全一致,只是界面文案不同:
| 版本 | 文件 | 界面语言 |
|---|---|---|
| 中文版 | dsh-tidewatch-<版本>.tgz | 中文 |
| 英文版 | dsh-tidewatch-en-<版本>.tgz | English |
⚠️ 两个版本不要同时安装:它们会在同一个位置各挂一个挂件。换语言时先卸载旧的再装新的。
# 中文版
dsh plugin --profile web add ./dsh-tidewatch-1.28.8.tgz
# 英文版
dsh plugin --profile web add ./dsh-tidewatch-en-1.28.8.tgz
dsh plugin --profile web add link:/path/to/dsh-tidewatch
安装后重启 DSH(桌面端需完整退出再打开,热重载刷新不到客户端 bundle)。界面会按形态偏好出现:立绘挂在右下角,胶囊落在输入框下方的统计行。
dsh plugin --profile web update dsh-tidewatch # 或重新执行 add
dsh plugin --profile web list dsh-tidewatch # 查看已安装版本
dsh plugin --profile web remove dsh-tidewatch # 卸载
npm 渠道已暂停:npm 上只有一个 2026-08-22 发布的旧版本,价格与规则均已过时,请勿安装,也不要据它判断当前计价。
本仓库只保留当前版本的 tgz,历史版本在 GitHub Releases 里可以取到。
localStorage✕、点挂件本身、或点面板外部币种选择即时生效并记住;人民币 2 位小数,美元 4 位小数。
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 窗口判定当前档位(官方英文页即按 UTC 小时书写),周几与法定节假日按北京自然日判定(官方中文页把周期锚在「北京时间周一至周五」上)。两种读法在当前窗口取值下等价:窗口均落在同一北京自然日内,且不成对跨越 UTC 日界。时段表展示一律按北京时间。
价格按调用发生时刻选档,历史会话回看不会被当前价目重算。档位顺序为 缓存命中 / 输入未命中 / 输出(美元 / 1M tokens):
| 时代 | 时间范围(UTC) | deepseek-flash 档位 |
|---|---|---|
| 基础价 | 2026-08-16 16:00 之前 | 0.0028 / 0.14 / 0.28 |
| 首版峰谷价 | 2026-08-16 16:00 ~ 2026-09-10 04:00 | 峰 0.014 / 0.44 / 1.32,谷为峰的一半 |
| V4.1 Flash 新价 | 2026-09-10 04:00 起 | 峰 0.006 / 0.3 / 1.2,谷为峰的一半 |
成本 = 输入未命中 × cacheMiss + 输出 × output + (缓存读 + 缓存写) × cacheHit;「输出」已含推理 token。账本以美元存储。
人民币数字另存一份官方中文定价页的原样数字用于展示,不做汇率换算:官网两个模型的隐含汇率并不相同(flash 约 6.67、pro 约 6.82),统一换算会让 pro 的元数字比官网低约 2%。会话总额同样按每个模型各自的官方汇率折算(有分模型账时逐模型换算,没有时退回统一汇率),所以 flash 与 pro 混用的会话也不会被拉偏。
节假日表依据《国务院办公厅关于 2026 年部分节假日安排的通知》(国办发明电〔2025〕7 号,共 33 天):元旦 1/1–1/3、春节 2/15–2/23、清明 4/4–4/6、劳动节 5/1–5/5、端午 6/19–6/21、中秋 9/25–9/27、国庆 10/1–10/7。
| 项目 | 说明 |
|---|---|
| DSH | 0.1.7-rc.2 及以上;已适配 0.2.0 |
| 模型 | 峰谷档位与金额只对 DeepSeek 自家模型成立。换用其他提供商时金额显示「不适用」 |
| 官方 UI 原语 | 优先使用 shell 模块表中的 @deepseek-ai/dsh-client-ui-primitives;模块表没有该包时自动降级到内置实现 |
| 主题 | 跟随 GUI 亮暗主题 |
| 数据边界 | 余额查询由 DSH 宿主执行;本插件不接触 API Key、不直接发 HTTP 请求、不落盘 |
模型名映射:现役 deepseek-flash(V4.1 Flash),别名 deepseek-v4-flash、deepseek-v4-flash-vision-exp、deepseek-v4.1-flash 均按现役 Flash 价计费。
assistant/message 与 assistant/attempt 事件里的 usage 块
│ lib/index.js:costUsage 会话投影(zod schema 校验)
▼
token 桶 + 美元成本(按事件发生时刻的峰谷档位)
│ 同一投影视图里还带两样东西:
│ · official:宿主采样的官方 tokenUsage 投影(账号通道兜底)
│ · diag:用量诊断计数
│ useProjection('costUsage')(浏览器端)
▼
lib/client.js:挂件渲染(立绘 + 气泡 + 秒级倒计时)
挂件注册在 DSH 的根级浮层插槽 shell.overlay;数据由注册在 conversation.composer.dock 的探针经模块级 bridge 提供(根级插槽没有投影席位)。
dsh-tidewatch
├── lib/
│ ├── pricing.js # 纯函数:峰谷窗口、三段价格时代、节假日表、costOf
│ ├── index.js # 宿主:costUsage 会话投影
│ ├── client.js # 前端:挂件与面板(__ModuleLoader__ bundle)
│ └── assets/mascot/ # 挂件立绘原图(压缩后内嵌进 bundle)
├── cordis.patch.yml # 装配行
├── docs/PORTING.md # 移植到其他宿主的适配说明
├── scripts/ # 构建脚本(build.sh;英文版生成 build-en.mjs)
└── test/
├── verify.mjs # 全套自检入口
├── client-fixture.mjs# 前端夹具:真实加载 lib/client.js 的假 React 环境
├── ui-smoke.mjs # 布局冒烟:真实样式表 + 无头浏览器
└── adapt-repro.mjs # 宿主计费口径回归
# 构建(语法检查 + zod 依赖 junction)
DSH_CHECKOUT=<harness 源码根目录> bash scripts/build.sh
# 全套自检(128 项):峰谷数学、双份常量一致性、计费口径回归、用量双路读取、挂件钳位、随机并列、归属判据回归、峰谷立绘不重复、官方采样不跨会话、两种形态切换、空会话清桥
node test/verify.mjs
# 布局冒烟测试:用真实样式表在无头 Chrome 里渲染挂件/泡泡/面板并断言布局
# (无 Chrome 时自动跳过;这段覆盖纯逻辑测不到的层叠与定位问题)
node test/ui-smoke.mjs
DSH_CHECKOUT 在 Git Bash 下需用 Windows 形式路径(如 D:/DeepSeek-Harness/DSHAR工作目录/deepseek-harness-src):传 /d/... 会被 Node 解析成 D:\d\...,生成悬空 junction;插件为 link 安装时,坏链接会让下次启动装配失败。脚本在替换链接之前校验解析结果,坏路径当场报错。
lib/pricing.js(计费)与 lib/client.js 的 DISPLAY_PRICES(展示)两处常量,并为旧价补一段历史档CN_PUBLIC_HOLIDAYS(同样两处);过期后周一到周五一律按工作日计,法定节假日会被按峰期收费,面板会提示表已过期V4_PRO_RETIRE_BOUNDARYdeepseek-account)的结算事件自带 usage,按 token 精确计价;若某次确实拿不到 usage,才退回「账户余额下降了多少」估算,金额后标注「(估算)」。余额属于账户级,多会话或多设备同时使用会一起下降,估算因此偏大;只累加下降、充值不抵消消耗sessionProjections.snapshot(session, ['tokenUsage']) 读取 DSH 官方的 tokenUsage 投影(对话页底部「351M tok · 缓存命中 97%」那行的来源),随视图下发供前端计价。官方投影只给累计总数,故这条路径按当前价目折算,无法精确到每次调用的历史档位;采样也只保留最近一次,多会话并发时以前台活跃的那个为准。这份采样只在「本会话收到过结算事件」时才随视图下发,空会话不会继承上一场的数字¥0.00,避免把「没有数据」呈现成「免费」。用量的读取口径与 DSH 官方 token-meter 一致:同时读 assistant/message 与 assistant/attempt,按 (turn, step) 替换,重试清槽;若结算事件里字段名对不上(totalTokens 有值而各分桶全空),同样按「未提供」处理,不会静默记成零这个插件站在其他人的肩上:
isPeakHour / peakPhaseAt / tierFor / costOf)与会话投影结构的出发点,本仓库按其精简目标重写。lib/assets/mascot/。形象版权归各自创作者所有,收到权利人要求将立即替换或移除。历次变更见 CHANGELOG.md,当前版本 1.28.8。
MIT © 2026 KhalilYamber