← 返回列表
⚠ 装前注意
Napkin Tools:DSH Tidewatch
基本兼容但装前注意:npm 同名包「dsh-tidewatch」归属 khalilyamber/dsh-tidewatch,装到的可能不是本插件 · 最近上游提交 2026/9/16 · 已提供中文文档
一个用于 DeepSeek Harness 的浮动高峰/低谷时段卡片:国际化(英语/中文/俄语)、本地时间窗口、会话成本。
综合分
34.8
GitHub 分
34.8
用户评分
—
★ Stars
7
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add proDreams/dsh-tidewatchnpm 同名包「dsh-tidewatch」归属 khalilyamber/dsh-tidewatch,装到的可能不是本插件,改用 GitHub 源安装
数据截至 2026/9/17(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查⚠ 装前注意
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-tidewatch @ 1.0.6
✓Node 引擎要求 >=20 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
npm 同名包「dsh-tidewatch」归属 khalilyamber/dsh-tidewatch,装到的可能不是本插件
验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/18 05:20:06
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
Napkin Tools:DSH Tidewatch
GitHub License
GitHub Release
GitHub Last Commit
GitHub Repo Stars
Код на салфетке
Заметки на салфетке
俄语版本
一个用于 DeepSeek Harness Web UI 的浮动高峰/非高峰潮汐计。它停靠在输入框旁边,让你一眼就能回答三个问题:当前处于哪个计费阶段、该阶段还剩多长时间,以及本次会话已花费多少。
该卡片会跟随 DeepSeek Harness 的界面语言(英语、中文、俄语),以你自己的时区呈现官方的高峰/非高峰时段,并使用 Intl 按当前语言环境格式化金额、token 和时钟时间。
这是 KhalilYamber 的 dsh-tidewatch(MIT)的一个分支,为国际化使用进行了重构:用真正的 i18n 层取代硬编码的中文文案、重新设计的卡片,以及本地时间时段表。计费计算和会话预测结构来自原项目。
目录
- 功能
- 要求
- 安装
- 升级与卸载
- 从原始 1.x 升级
- 用法
- 高峰时段
- 计费模型
- 界面语言
- 主题与基础组件
- 项目结构
- 数据流
- 开发与验证
- 已知限制
- 致谢
- 作者
- 支持
- 许可证
功能
- 一眼看清阶段 —— 琥珀色(高峰)或绿色(非高峰)状态点,显示当前阶段名称以及距离下次切换的实时倒计时。
- 潮汐线 —— 标题栏显示当前阶段已经过去的比例。
- 以你所在时区显示的时段表 —— 将官方 UTC 时段映射到你自己的日历日,并标记当前行;计费层级本身始终按 UTC(官方定义)判定。
- 周末规则 —— 周六和周日(UTC 日历日)全天为非高峰,因此表格会折叠为单独一行全天时段。
- 当前层级费率 —— 你当前所处阶段的缓存未命中/缓存命中输入价格,以及每 100 万 token 的输出价格。
- 会话 token —— 输入、缓存(读取 + 写入)、输出和推理,按语言环境格式化。
- 按模型计费 — 展开会话费用行即可查看每个模型的 token 和费用;总计等于各部分之和。
- 人民币或美元 — 默认跟随界面语言(中文 → 人民币,否则美元);一键切换并被记住。
- 真正的国际化 — 该卡片遵循 DeepSeek Harness 语言,内置英语、中文和俄语词典,并提供俄语作为可选语言。
- Shell 集成 — 读取 --dsw- 主题令牌(浅色和深色),并优先使用官方的 StateDot、Tag、Tooltip 和 useDismissOnOutsidePointer 原语,当某个 shell 未暴露这些原语时回退到内置实现。
- 键盘可访问 — 徽章和展开行是带有焦点环、aria-expanded / aria-pressed 状态的真实按钮,潮汐线上带有 progressbar 角色。
要求
- Node.js ≥ 20。
- 带有 dsh plugin 命令的 DeepSeek Harness(一个 web 配置文件)。
- 无需其他内容:价格表已内置,插件本身不需要 API 密钥或网络访问。
安装
徽章显示在 Web UI 中,因此请将其安装到 web 配置文件中。
选项 1:最新的 main(推荐;跟随仓库)
dsh plugin --profile web add github:proDreams/dsh-tidewatch
选项 2:固定的发布标签(可复现安装)
dsh plugin --profile web add github:proDreams/dsh-tidewatch#v2.0.0
选项 3:附加到 GitHub Release 的 tarball(固定且便于离线使用)
dsh plugin --profile web add https://github.com/proDreams/dsh-tidewatch/releases/download/v2.0.0/dsh-tidewatch-2.0.0.tgz
本地目录(开发)
dsh plugin --profile web add link:/path/to/dsh-tidewatch
安装后重启 dsh web;潮汐徽章会出现在编辑器右侧。
npm 包 dsh-tidewatch 不是我们的。 npm 上只托管了原作者发布的旧副本(1.0.6,2026-08-22),其价格和规则已过时,而本分支有意不发布到 npm。请勿安装它或据此判断当前计费——请使用上述选项之一。
升级和卸载
dsh plugin --profile web update dsh-tidewatch # 或重新运行上面的 add
dsh plugin --profile web list dsh-tidewatch # 已安装版本
dsh plugin --profile web remove dsh-tidewatch # 卸载
发布历史请参见 CHANGELOG.md。
从原始 1.x 升级
2.0.0 增加了 i18n 层、本地时间窗口表和重新设计的卡片。计费本身没有变化。
如果你在 1.1.2 之前使用过原始插件,有两个较早的修复值得了解:
- 1.1.2 — V4 Pro 计费。 官方定价页脚注 (2) 和 2026-09-10 变更日志指出,V4 Pro API 服务在 2026-09-14 之后继续提供,其计费方式不变(如有变化将另行通知)。
早期构建遵循了一种新闻页面的解读,将 deepseek-v4-pro 从 2026-09-14 04:00 UTC 起路由到 Flash 价格,这低估了 pro 调用约 4.4 倍(缓存未命中)、7.3 倍(缓存命中)和 3.3 倍(输出)。重新定价边界 V4_PRO_RETIRE_BOUNDARY 再次成为哨兵值,因此 pro 始终按其自身费率计费;路由分支被保留,只需在官方日期出现时填入即可。
- 1.1.1 — 三个价格时代。 计费现在根据调用自身的时间戳选择层级,并且 costUsage 投影已移至 stateVersion 4。持久化的会话在升级后重放一次,因此 2026-08-16 至 2026-09-10 之间进行的调用被恢复到第一个高峰时段(它们此前按较新的、较低的费率计费)。实时计费从未受到影响。
用法
- 徽章停靠在输入框右侧,与其垂直居中。当窗口太窄时,它会移到输入框上方,并且绝不会覆盖输入区域或内置统计栏。
- 点击徽章可展开或折叠面板:窗口表格、当前层级费率、令牌明细和货币切换。
- 点击 Session cost 行可展开按模型划分的费用明细。
- 货币切换立即生效并持久保存;CNY 显示 2 位小数,USD 显示 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 时段(官方定义)决定层级,并以查看者自己的时区渲染表格。
周末规则(自 2026-08-23 起):周六和周日(UTC 日历日)全天按非高峰价格计费,没有高峰/非高峰切换;下一次切换落在随后一周的第一个高峰时段。
计费模型
- 单位:USD 每 1M 令牌(官方定价页基准)。费用 = 输入未命中 × cacheMiss + 输出 × output +(缓存读取 + 缓存写入)× cacheHit;“output”已包含推理令牌。
- 三个价格时代,由调用自身的时间戳选择(历史正确性;层级按缓存命中 / 缓存未命中 / 输出列出):
| 时代 | 范围(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,非高峰减半 |
- 每次调用都按其事件时间戳所属的档位计费,因此成本不会在阶段切换或重新定价时发生漂移。
- 账本以美元存储。面板按固定汇率 6.67 显示人民币(与官方人民币价目表一致),或直接显示美元。
界面语言
该卡片是 DeepSeek Harness 的正常成员:它注册 tidewatch 语言命名空间,并通过框架翻译器读取其文案,因此在设置 → 语言中切换界面语言会立即切换该卡片。
| 语言 | 状态 |
|---|---|
| 英语 | 已发布(en)——查找链的回退语言 |
| 中文(简体) | 已发布(zh) |
| 俄语 | 已发布(ru),并由插件提供给语言目录 |
- DeepSeek Harness 仅自带 zh 和 en,因此该插件自行将俄语添加到语言列表中。其他插件对该语言回退到英语。
- 在没有区域设置服务的 shell 上,卡片会回退到浏览器语言,而不是默认使用某一种硬编码语言。
- 文案从不通过片段拼接:每个字符串都是由各语言拥有的 {placeholder} 模板,如果各语言词典出现偏差,测试套件会失败。
主题与基础组件
该卡片通过 --dsw- 变量跟随 DeepSeek Harness 主题,并且每个插件本地令牌都保留一个感知配色方案的回退值,因此在没有主题层的宿主上也能保持正确。
- 浅色和深色均受支持;阶段强调色(琥珀色或绿色)是唯一的高饱和度颜色。
- 数字使用 shell 的等宽字体栈并采用表格数字,因此面板读起来像一台仪表。
- 前端优先使用官方共享基础组件——StateDot、Tag、Tooltip 和 useDismissOnOutsidePointer——并在 shell 的模块表未暴露它们时降级为内置实现。
项目结构
dsh-tidewatch
├── package.json # dsh.bundle.patch + dsh.client.platform manifest
├── cordis.patch.yml # bundle patch row
├── scripts/build.sh # build: syntax check + zod junction
├── lib/
│ ├── pricing.js # pure functions: windows, isPeakHour/peakPhaseAt, three price eras, costOf
│ ├── index.js # host: costUsage session projection (billed per event time)
│ └── client.js # browser: floating tide card + i18n dictionaries (__ModuleLoader__ bundle)
├── docs/PORTING.md # adaptation notes for other hosts
└── test/verify.mjs # pure-module self-test (node test/verify.mjs)
数据流
model-call usage blocks (assistant/chunk, assistant/message events)
│ lib/index.js: costUsage session projection (zod-schema validated)
▼
token buckets + USD cost (per-event-time peak/off-peak tier)
│ useProjection('costUsage') (browser)
▼
lib/client.js:卡片渲染(每秒倒计时、Intl 格式化、汇率换算)
开发与验证
DSH_CHECKOUT= bash scripts/build.sh # 语法检查 + zod 连接
node test/verify.mjs # 70 项检查:峰值计算、计费、i18n、时区
该测试套件基于桩 React 和模拟插件上下文来实例化真实的客户端 bundle,因此它测试的是实际发布的字典、回退链、区域感知格式化以及时区窗口表,而非它们的副本。
已知限制
- 价格是内置的,涵盖三个时期(基础价格 / 首个高峰时段 / V4.1 Flash 重新定价);V4-Pro 使用 2026-08-17 的官方费率。根据官方定价页面的脚注 (2) 和 2026-09-10 的更新日志,V4 Pro 在 2026-09-14 之后其计费方式保持不变继续提供服务,因此 pro 始终按其自身费率计费,而 V4_PRO_RETIRE_BOUNDARY 仍作为哨兵值,等待官方日期。当官方价格发生变化时,请手动更新 lib/pricing.js(计费)和 lib/client.js 中的 DISPLAY_PRICES 常量(显示),并将被取代的层级保留为另一个历史时期。
- 模型名称:deepseek-flash 是当前名称(V4.1 Flash);别名 deepseek-v4-flash、deepseek-v4-flash-vision-exp 和 deepseek-v4.1-flash 均按当前 flash 费率计费(参见 MODEL_ALIASES)。
- 层级判定固定为 UTC(官方定义);窗口表仅用于显示本地化。
- CNY 显示为固定汇率换算(6.67 USD → CNY,与官方 CNY 价格一致),而非实时汇率。
致谢
- 原始项目:dsh-tidewatch,作者 KhalilYamber(MIT)——计费数学、价格时期模型和会话预测结构。
- 高峰/非高峰计算和预测结构改编自 dsh-cost-meter(MIT),为最小占用重写。
作者
程序作者:Ivan Ashikhmin
Telegram 联系方式:https://t.me/proDreams
该程序是作为“Code on a Napkin”项目的一部分创建的。
- 网站:https://pressanybutton.ru/
- Telegram 频道:https://t.me/napkincode
支持
如果您喜欢这个项目并希望支持其进一步发展,请考虑捐赠:
- 通过 YooMoney 支持
- 通过 Telegram 中的 Tribute 支持
- 通过我们的 Telegram 机器人支持
您的支持有助于项目成长并改进未来功能!
许可证
本项目采用 MIT 许可证授权。它是 KhalilYamber 的 dsh-tidewatch 的衍生作品;两个版权声明均保留在 LICENSE 文件中。扫码进群