DeepSeek Harness 插件

OffPeak

Peak-hour price guard for DeepSeek API tidal pricing: intercept sends during peak hours (Beijing 09:00-12:00 / 14:00-18:00) and schedule them to run at off-peak prices. / DeepSeek 峰谷定价高峰拦截提醒:高峰时段拦截发送(英文原文)

跳到安装方式

来源信息

GitHub 仓库
christophersmith2737-commits/OffPeak
最近更新
2026年8月17日
分类
通知与集成
GitHub stars
3
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/christophersmith2737-commits/OffPeak
插件名:OffPeak
作者:christophersmith2737-commits

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器4 个文件
README.zh.md来源说明 · 只读预览
README 语言

<div align="center">

OffPeak · dsh-offpeak

DeepSeek API 峰谷定价的高峰时段拦截提醒插件

高峰时段在你按下发送前把消息拦下来——排到低价时段再自动执行。

![npm version](https://www.npmjs.com/package/dsh-offpeak) ![License](LICENSE) ![Platform](#)

English version: README.md

</div>

---

为什么做这个

DeepSeek 自 2026-08-17(北京时间)起实行峰谷定价

时段时间(北京时间)相对调价前
高峰09:00–12:00、14:00–18:00最高 4.5 倍
闲时其余时间高峰的一半

调价后价目表(元 / 百万 tokens):

模型计费项高峰闲时
V4 Flash输入(缓存未命中)31.5
输出94.5
输入(缓存命中)0.10.05
V4 Pro输入(缓存未命中)94.5
输出2713.5
输入(缓存命中)0.30.15

如果你经常用 DeepSeek V4 Flash 跑长任务:上午 10 点发出去的账单,比晚上 7 点发出去贵 3 倍。OffPeak 负责让你在按下发送之前就意识到这一点。

功能

当前模型为 DeepSeek V4 Flash / Pro、且北京时间处于高峰窗口内时,在输入框按 Enter(或点发送按钮)会在消息发出前拦截——文字留在输入框,弹出对话框:

  • 价目表:当前模型高峰/闲时每百万 tokens 单价
  • 继续执行:立即按正常路径发送(草稿清理、排队、提示等行为与原生一致)
  • 定时执行:小时轮只含低价时段(0–8 点、18–23 点),已过去的时间移除,23 之后滚到次日 0–8 点;分钟 00–59 逐分钟可选。服务端记录命令文本与时间,到点自动把命令提交给原会话执行——那时浏览器不在线也能跑
  • 今日不再提醒:当天(北京时间)不再拦截/弹窗
  • :不发送,消息保留在输入框

> 执行中的命令绝不会被打断:任务跨进高峰边界时不会弹窗,提醒只在你高峰时段内的下一条命令出现。

安装

需要 web profiledsh web)。

dsh plugin --profile web add dsh-offpeak

手动安装(无需 pnpm):

1. 把包复制到共享插件目录: - Windows:%USERPROFILE%\.dsh\profiles\node_modules\dsh-offpeak - macOS / Linux:~/.dsh/profiles/node_modules/dsh-offpeak 2. 在 $DSH_HOME/profiles/web/cordis.patch.yml 末尾追加:

``yaml - insert: - id: offpeak name: 'dsh-offpeak' config: effectiveFrom: '2026-08-17' debug: false ``

3. 重启 dsh web

> 插件在 effectiveFrom(2026-08-17,峰谷定价生效日)之前休眠。想提前试用,把它改成今天。

工作原理

高峰时段(北京时间 09:00–12:00 / 14:00–18:00),模型 = V4 Flash/Pro
        │
按 Enter / 点发送 ──► 客户端拦截 ──► 消息保留在输入框
        │
   ┌─ 弹窗 ────────────────────────┐
   │ 价目表 · 命令预览              │
   │ [继续执行]        [定时执行]   │
   │ ☐ 今日不再提醒                │
   └───────────────────────────────┘
        │                              │
   继续执行                      定时执行
        │                              │
        ▼                              ▼
 原生 composer 提交               POST /ds-offpeak/schedule
 (消息正常发出)                 { text, atMs, sessionId }
                                    清空输入框
                                           │
                                 服务端定时器到点
                                           ▼
                              session.prompt → 原会话
                             (浏览器不在线也能执行)
  • 拦截在客户端:捕获阶段监听 composer 输入框的 Enter 与发送按钮的点击,用本地计算的北京时间 + 服务端最新状态(高峰窗口、模型、今日不再提醒)做判定
  • 输入法安全:中文/日文输入法组合态(isComposing)下的回车永不拦截
  • 服务端兜底:高峰时段消息若经未拦截路径到达宿主,会话事件监听会弹非阻塞提醒
  • 高峰判定使用 Asia/Shanghai 时区,与机器时区无关

配置

默认说明
effectiveFrom"2026-08-17"峰谷定价生效日(北京时间);此前插件休眠
debugfalse忽略生效日期;开放 /ds-offpeak/debug-remind
peakWindows09:00–12:00、14:00–18:00高峰窗口(分钟数 { start, end }),可覆盖
profile自动(web状态文件所属 profile

路由

方法路径用途
GET/ds-offpeak/state状态:是否高峰、模型、价目表、待提醒、小时轮选项、任务
POST/ds-offpeak/ack确认兜底提醒
POST/ds-offpeak/dismiss今日不再提醒
POST/ds-offpeak/schedule{ text, atMs, sessionId } 登记定时任务
POST/ds-offpeak/cancel{ id } 取消任务
POST/ds-offpeak/execute{ id } 立即执行
POST/ds-offpeak/debug-remind模拟高峰命令(仅 debug)

所有写操作仅接受同源 POST;状态与任务持久化在 $DSH_HOME/profiles/<profile>/offpeak.json

安全与隐私

  • 拦截完全发生在本地浏览器;消息只在你点「继续执行」后走正常 composer 路径发出
  • 定时命令本地存储,由本地服务端到点后重新提交给原会话
  • 价目表按官方公告硬编码;不联网、无遥测

常见问题

小时轮为什么跳过 12–14 点? 12:00–14:00 名义上是闲时,但它夹在两个高峰窗口中间。OffPeak 只提供明确安全的时段(0–8、18–23)。

会拦截子代理/排队消息吗? 不会——只拦截 composer 自身的发送动作。

关闭弹窗会怎样? 什么都不发,消息留在输入框。

多个标签页? 各自独立拦截;「今日不再提醒」在服务端共享。

开发

src/index.js     服务端——高峰检测、兜底提醒、定时调度、持久化
client/client.js 浏览器端——拦截、弹窗、时间轮(零依赖原生 DOM)
node --check src/index.js && node --check client/client.js

许可

[MIT](LICENSE) © christophersmith2737