🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI
广告☁️ 云服务器特惠阿里云首购 8 折 · 腾讯云合作特惠
DeepSeek Harness Hub
← 返回列表

YMRYMR/deepseek-peak

DeepSeek Harnessspec-screened扫描:中风险在 GitHub 查看 ↗
需源码安装

一个可直接使用的 dsh-plugin,用于

暂不能直接安装(需源码编译或环境不满足):缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装。 · 最近上游提交 2026/8/25 · 已提供中文文档

实时 DeepSeek V4 API 高峰/低谷状态小组件——可直接用于 deepseek-ai/deepseek-harness 的 dsh-plugin,另附独立浏览器小组件。

综合分
37.6
GitHub 分
37.6
用户评分
—
★ Stars
15
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add YMRYMR/deepseek-peak
缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装,改用 GitHub 源安装
信任档位:已验证本站已于 4 天前真实安装成功(L4 · 真实安装)
是什么
dsh 原生插件 · browser
装得上吗
本站已真实安装成功(L4 · 真实安装,非静态推断)
安全吗
本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
还在维护吗
更新放缓:最近一次提交在 32 天前

档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →

🟢实装验证通过· 2026/9/21
由本站实装验证器在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/21(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查需源码安装

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包deepseek-peak(未发布到 npm,仅可源码安装)
✓Node 引擎要求 >=18 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明

缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装

验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/21 20:15:24

用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

由 DeepSeek 最新模型翻译生成
deepseek-peak

一个可直接使用的 dsh-plugin,用于
deepseek-ai/deepseek-harness
Web UI,显示 DeepSeek V4 API 当前的峰时 / 谷时定价
状态,让你可以在峰时暂停 LLM,并通过一个会自动清空的队列进行排队,监控你的账户余额,并在
余额低于你设置的阈值时发出警告。

峰时插件显示 PEAK 胶囊标签,下方展开队列和
余额卡片

会话标题栏中的 PEAK 胶囊标签、带有
REFRESH 和 TOP UP 操作的 BALANCE 行,以及按模型展示的 30 天峰时/谷时
柱状图(v4-pro 和 v4-flash)。当
余额低于配置的 lowBalanceWarningUsd
阈值时,胶囊标签会变为琥珀色。

功能

- 胶囊标签(始终可见,位于会话标题栏中 Session
log 按钮旁边)。根据浏览器时钟对照内置的 UTC 时间表
读取当前阶段:
- 谷时窗口内为绿色
- 峰时窗口内为红色(费率为谷时的 2 倍)
- 在预览新时间表时显示 PRE-CUTOVER 徽章
- 显示到下一个阶段边界的实时倒计时
- 在切换前显示 → live 目标箭头,切换后显示 → next phase HH:MM
箭头
- 胶囊标签右边缘有一个暂停开关:当开启且阶段
为峰时时,LLM 流会被门控,用户消息会排队而不是
运行
- 当账户余额低于
配置的 lowBalanceWarningUsd 阈值时,显示琥珀色边框 + 圆点 + 标签(默认 $1.00)。
会覆盖阶段颜色,以便低余额
一目了然。

- 工具提示(悬停时,在胶囊标签打开时)。在
胶囊标签下方展开:
- 一个 BALANCE 行,显示当前 DeepSeek 账户余额
(通过 /api/peak-hours/balance 由宿主路由,因此 API 密钥永远不会
离开 harness 进程)。右侧有两个操作胶囊:
- REFRESH — 绕过 5 分钟的宿主缓存以及浏览器缓存,
这样刚刚充值过的用户无需等待
自然刷新周期就能看到新数字。
- TOP UP — 在新标签页中打开 https://platform.deepseek.com/top_up。
- 针对用户在最近 30 天内运行过的每个模型(v4-pro、v4-flash),
各显示一个按模型的图表卡片。每张卡片都有一个很小的内联
SVG 每日柱状图,宽度为 30 天,峰时(红色)叠加在
谷时(绿色)之上。该拆分是根据每个事件的 UTC
时间戳对照时间表计算得出的。
- 一个小图例,使峰时/谷时拆分无需
工具提示也能看懂。
- 当 LLM 被门控且队列中有项目时,图表下方会出现一个队列卡片,
其中每条排队消息占一行,并且每行都有一个发送箭头,
可立即发送该条消息(绕过全局暂停)。

- 设置(注册在宿主设置平面中现有的 peak-hours 命名空间上,
通过 Settings → Plugins →
Plugin configuration → Peak hours 暴露):
- paused —— 布尔值,与 pill 开关写入的值相同。两条
写入路径写入同一字段;后写入者胜出。
- lowBalanceWarningUsd —— 数字,低于该阈值时
pill 切换为琥珀色。默认 $1.00。允许为零(始终
警告);负数会被 schema 拒绝。

- 后台刷新:
- 状态轮询在浏览器上每 2 秒运行一次(Pill 的 usePeakHoursState
钩子),因此开关 / 阈值 / 队列 / 余额变化会在两个
轮询周期内传播。
- 余额在服务端获取并缓存 5 分钟,对瞬时错误
进行 30 秒快速重试,这样短暂的抖动不会污染
缓存。
- 图表的每日分桶来自宿主机的
/api/peak-hours/usage 路由,该路由会遍历会话持久化
日志。浏览器内的轨迹遍历是
harness 未运行时的回退方案。

事实来源:api-docs.deepseek.com/quick_start/pricing/。
时间窗口和切换日期作为常量硬编码
在 src/client/domain.ts 中。PRE-CUTOVER 窗口是
“新时间表公布”与“新时间表
生效”之间的时期;pill 会在该期间显示它,并且只要
paused && peak,无论切换状态如何,门控都会启用。

本仓库包含两样东西:

1. harness-plugin/ —— 一个用于
harness Web UI 的 dsh-plugin Cordis 客户端包。这是真正的集成。

2. widget.html + serve.js —— 一个自包含的浏览器小部件,
你可以将其固定为任何浏览器中的标签页,无需 harness。对于
不运行 harness 的用户来说,这是一个有用的回退方案。它不包含
暂停 / 队列 / 余额功能;它只是一个阶段 + 倒计时显示。

harness 插件是功能丰富的那个。独立小部件是一个
“第二显示器上的时间表”显示。

安装(harness 插件)

需要:
- 一个已检出的 deepseek-harness 工作树(任意近期提交)
- node ≥ 22.19
- pnpm ≥ 11(用 npm i -g pnpm 安装一次)

Clone this repo
git clone https://github.com/YMRYMR/deepseek-peak.git
cd deepseek-peak

One-liner installer: takes your harness clone as the argument
./install.sh /path/to/deepseek-harness

安装程序会做什么(每一步都是幂等的,如果已完成则跳过):

1. 将 harness-plugin/ 复制到 /packages/client/ui-peak-hours/
2. 将 ui-peak-hours 行添加到 packages/bundle/web-app/cordis.patch.yml
3. 将工作区依赖添加到 packages/bundle/web-app/package.json
4. 将项目引用添加到 tsconfig.client.json
5. 将路径映射添加到 tsconfig.base.json
6. 在 harness 中运行 pnpm install
7. 运行 pnpm run build:lib:host(生成的 Typert 契约所必需)
8. 运行 pnpm --filter @deepseek-ai/dsh-client-ui-peak-hours run bundle
9. 运行 harness 验证门控(仅警告)

然后启动 harness:
cd /path/to/deepseek-harness
pnpm dsh web
打开 http://127.0.0.1:3080/。该胶囊会出现在会话标题栏的右上角,位于 Session log 按钮的左侧。

首次使用时请硬刷新浏览器(Ctrl+Shift+R),以便加载新的 __DSH_BOOT__ 名单。

你应该看到的内容

一个紧凑的胶囊,宽约 180 px,形状如下(从左到右):

[●] PEAK PRE-CUTOVER  08h 11m  →  live   [pause-switch]

- [●] 是彩色圆点——非高峰为绿色,高峰为红色,当余额低于配置的阈值时为琥珀色(覆盖阶段颜色)
- 阶段标签和 PRE-CUTOVER 徽章(仅在切换前窗口期间显示)
- 到下一个阶段边界的倒计时(1 Hz 跳动)
- 目标箭头:切换前显示 → live,切换后显示 → next phase HH:MM
- 右边缘的暂停开关(开启时为红色,关闭时为灰色)

悬停胶囊

卡片会在胶囊下方展开:

- BALANCE 行——你的 DeepSeek 账户余额,右侧有 REFRESH 和 TOP UP 操作
- 针对你在过去 30 天内使用过的每个模型(通常是 v4-pro 和 v4-flash)的按模型图表卡片。微型内联 SVG 每日柱状图,宽 30 天,高峰(红色)叠加在非高峰(绿色)之上。每日总量显示在每个卡片的右上角。
- 图表下方的小型图例:红色 = 高峰,绿色 = 非高峰
- 如果队列中有项目,会显示一个队列卡片,每个排队消息一行,并带有用于手动派发的逐行发送箭头

高峰期间暂停工作流

1. 点击胶囊中倒计时右侧的暂停开关。
2. 当开关开启且阶段为高峰时,下一个 LLM 流(用户消息或子代理工具调用)会被门控。harness 会将请求显示为已排队,工具提示会展开以显示队列卡片。
3. 队列为 FIFO。每个项目会在开关关闭或阶段离开高峰的那一刻被派发。
4. 若要在不切换全局暂停的情况下派发单个项目,请点击队列卡片中该行的逐行发送箭头。

低余额警告

打开 Settings → Plugins → Plugin configuration → Peak hours,将 lowBalanceWarningUsd 设置为你偏好的下限(默认 1.00)。当实时账户余额低于该值时,胶囊会立即变为琥珀色。也可以直接在 ~/.dsh/settings.yaml 中覆盖同一字段:

peak-hours:
paused: false
lowBalanceWarningUsd: 1.5

下一次 2 秒的状态轮询会自动获取新值。

卸载

./uninstall.sh /path/to/deepseek-harness

该脚本会删除插件目录,并打印出你需要手动删除的四个小型接线条目(分别在 cordis.patch.yml、package.json 和两个 tsconfig 文件中各一行)。

安装(独立小部件)

无需 harness。只需要一个提供静态 HTML 页面的 Node 服务器。

cd deepseek-peak
node serve.js

会在你的默认浏览器中打开 http://127.0.0.1:3737/。固定该标签页。在终端中按 Ctrl+C 停止。

独立小部件包含一个 24 小时高峰时段的时间线,一个
V4-Flash / V4-Pro 模型选择器,以及每个档位实际的 $/1M-token 费率。在没有打开 harness 的屏幕上很有用。
暂停 / 队列 / 余额功能不在独立小组件中——它们只存在于 harness 插件里。

为什么既有插件又有独立版本

harness 药丸在 harness 内部是正确答案。独立版本在其他所有地方都是正确答案(第二台显示器、平板、手机浏览器)。两者都根据同一份权威时间表计算相同的数字,因此它们永远不会不一致。

插件暴露的宿主路由

| 路由 | 方法 | 用途 |
| --- | --- | --- |
| /api/peak-hours/state | GET | 当前暂停 / 阶段 / 队列 / 余额 / 阈值(浏览器每 2 秒轮询一次) |
| /api/peak-hours/state | POST | 切换全局暂停(通过宿主的设置服务写入) |
| /api/peak-hours/balance | GET | 实时 DeepSeek 账户余额(宿主缓存 5 分钟) |
| /api/peak-hours/balance?fresh=1 | GET | 强制从上游重新获取(绕过宿主缓存和浏览器缓存;工具提示中的 REFRESH 按钮会调用此接口) |
| /api/peak-hours/usage?rangeDays=N | GET | 最近 N 天的按天、按模型的 token / 成本分桶(默认 30,最大 365;宿主缓存 5 分钟) |
| /api/peak-hours/usage?fresh=1&rangeDays=N | GET | 强制宿主重新遍历会话持久化日志 |
| /api/peak-hours/queue/dispatch | POST | 手动派发队列中最前面的项目(队列卡片中每行的发送箭头会调用此接口) |

API 密钥由宿主的凭据接缝持有,永远不会到达浏览器——宿主路由读取密钥,从 api.deepseek.com 获取数据,并返回解析后的 JSON 信封。

已验证

该插件通过了我在 Windows 开发树上能运行的所有 harness 门禁:

| 检查 | 结果 |
| --- | --- |
| pnpm run constraints | 220/220 个包符合规范 |
| pnpm run verify-cordis-config | 120/120 个配置文件通过 |
| pnpm run verify-package-invariants | 220/220 个手工维护的伴随包符合规范 |
| tsc -b tsconfig.client.json | 干净 |
| pnpm --filter ... run bundle | 约 78 kB 的 client.js |
| pnpm run build(宿主 + 客户端 + Web) | 干净 |
| 实时运行时冒烟测试(curl /plugins/.../client.js) | 200,约 78 kB,插槽已注册 |

源码布局是什么样的

deepseek-peak/
├── README.md               # 本文件
├── LICENSE                 # MIT
├── .gitignore
├── install.sh              # harness 插件的一行安装脚本
├── uninstall.sh            # 回滚辅助脚本
├── package.json            # 独立小组件的包
├── serve.js                # 独立小组件的 Node 服务器
├── smoke.js                # 独立小组件的自测(5/5 通过)
├── widget.html             # 独立小组件
├── docs/
│   └── pill-preview.png    # 本 README 顶部的截图
└── harness-plugin/         # harness 内插件(由 install.sh 复制到
harness 克隆目录)
├── package.json
├── tsconfig.json
├── tsdown.config.ts
├── README.md
└── src/
├── index.ts                        # 宿主端 — 路由、设置、
│                                   #   LLM 网关、1 Hz 阶段计时器
├── invariant.ts
├── css-modules.d.ts
└── client/
├── index.ts                    # 浏览器 apply() — 注册胶囊组件
├── domain.ts                   # 纯高峰/非高峰计算、时间表、
│                               #   切换前计算
├── phase.ts                   # 阶段类型、currentPhase()、标签
├── peakHoursState.ts          # 状态钩子 — 2 秒轮询、暂停开关
├── balance.ts                 # 余额获取 + 5 分钟缓存、支持 REFRESH
├── usage.ts                   # 宿主用量获取,带宿主端回退
├── pricing.ts                 # 模型显示名称
├── PeakHoursPill.tsx           # 始终可见的 React 组件
├── PeakHoursPill.module.css
├── PeakHoursHost.tsx           # 悬停状态宿主;渲染工具提示 + 队列
├── PeakHoursHost.module.css
├── UsageTooltip.tsx            # 工具提示卡片(余额 + 图表 + 队列)
├── UsageTooltip.module.css
├── QueueCard.tsx               # 每行调度卡片
├── QueueCard.module.css
├── PauseSwitch.tsx             # 胶囊组件的右边缘开关
├── PauseSwitch.module.css
├── PeakHoursDock.tsx           # 旧版 input.dock 变体,保留以供
│                                #   参考;当前胶囊组件位于
│                                #   会话头部
└── PeakHoursDock.module.css

说明

- 时间表和切换前日期以常量形式内置在
src/client/domain.ts 中。如果 DeepSeek 更改了时间窗口或
切换日期,请编辑那里的常量并重新打包。
- 所有时间均以 UTC 计算;仅显示时本地化为
浏览器的 IANA 时区。
- 胶囊组件依据内置的 UTC 时间表信任浏览器时钟。
系统时钟设置错误的用户将看到误导性的
状态。未来的迭代可以通过
worldtimeapi.org 进行合理性检查。
- 胶囊组件上的暂停开关和插件配置页面中的
paused 字段是写入同一持久化设置的
两条写入路径。2 秒状态轮询会协调
最后写入的一方。
- 胶囊组件的 REFRESH 按钮会使浏览器缓存失效(因此
快速第二次点击仍能到达宿主),并以
?fresh=1 调用宿主(因此宿主会绕过自己的 5 分钟缓存并
从 api.deepseek.com 重新获取)。两者都必须运行最新代码,
REFRESH 才能端到端工作;宿主更改需要重启
dsh web。

许可证

MIT。参见 LICENSE。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入社群

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

DPharness QQ 群二维码,QQ 扫码进群
QQ 扫码进群
DPharness 飞书群二维码,飞书扫码进群
飞书扫码进群