dsh-peak-scheduler:DeepSeek 峰谷价格自动调度

前言

DeepSeek Harness (DSH) 是用于构建智能体的开发环境。DeepSeek 的 API 调用费用根据时段分为峰价和谷价,通常谷价仅为峰价的一半。在开发过程中,手动等待谷价时段再执行任务会增加心智负担。

dsh-peak-scheduler 插件通过在输入框工具行增加“峰谷调度”按钮,解决这一痛点。它自动查询当前时段,并允许将任务推迟到谷价时刻自动执行。

核心功能

该插件主要解决以下问题:

  1. 自动查询:根据官方文档规则自动判定当前是峰价还是谷价,并联网获取节假日日历。
  2. 一键调度:在输入框增加调度按钮,提供“立即执行”或“推迟到谷价”两个选项。
  3. 任务管理:推迟的任务不会立即运行,而是创建一个等待任务存储在官方 schedule 服务中。
  4. 可视化反馈:侧边栏显示等待任务的数量与列表,支持随时手动开始或取消。

安装与启用

1. 安装插件

使用 DSH 插件命令安装,需要指定 profile(如 desktop 或 web):

dsh plugin --profile desktop add github:yizhiyizhi0128/dsh-peak-scheduler

2. 配置 Bundle

编辑 ~/.dsh/profiles/desktop/package.json,将插件加入 dsh.profile.bundles。同时,必须将官方的 schedule bundle 加入同一数组。

"dsh": {
  "profile": {
    "bundles": [
      "dsh-peak-scheduler",
      "@deepseek-ai/dsh-experimental-schedule-bundle"  // 必须在此处登记
    ]
  }
}

注意:官方 schedule bundle 不能写在 dependencies 中,否则会导致 pnpm install 失败。它只能通过 bundle 名按名插入。

3. 安装依赖并重启

执行安装命令使配置生效,随后必须重启宿主进程。插件模块在启动时才加载,重启前不会生效。

dsh plugin --profile desktop install

峰谷规则

插件的判断依据取自 DeepSeek 官方 API 文档。

  • 高峰时段:周一至周五(不含中国法定节假日)的 09:00–12:00、14:00–18:00。
  • 谷价时段:其余全部时间,包括周末、中国法定节假日、以及调休补班的周末。
  • 价格:谷价是峰价的一半。

文件结构

插件包含以下核心文件:

文件 作用
index.js 宿主侧:提供 HTTP 路由,调用 schedule 服务和 session controller
lib/peak.js 峰谷判定纯逻辑,包含边界、跨日、跨周末等测试用例
lib/holidays.js 节假日日历,支持联网获取、本地缓存与降级
src/client.js 浏览器侧:输入框按钮、弹窗、侧边栏任务面板
cordis.patch.yml Bundle 层配置,用于注入插件模块
test/*.mjs 包含峰谷判定、节假日校验、宿主响应组装等测试

典型用法

  1. 在 DSH 输入框输入提示词。
  2. 点击输入框工具栏的 「峰谷调度」 按钮。
  3. 弹窗显示当前时段、价格判定及距离下次切换的时间。
  4. 选择 「推迟到谷价时段自动执行」。
    • 插件会计算到下一个谷价时刻的秒数(至少 2 秒)。
    • 调用官方 schedule 服务创建一次性任务。
    • 侧边栏“等待任务”角标增加。
  5. 在谷价时刻到来时,官方 schedule 服务自动将提示词投递回原会话。
  6. 或者在等待期间,点击侧边栏的“等待任务”手动“立即开始”。

依赖

该插件依赖官方的 @deepseek-ai/dsh-experimental-schedule-bundle 来实现等待任务的持久化存储与到点投递。确保该 bundle 已正确安装在 profiles 中。

结语

该插件通过复用 DSH 生态能力,将复杂的峰谷定价逻辑封装为简单的交互按钮。所有任务数据存储在官方 schedule 服务中,确保了数据的耐久性和跨会话可用性。

GitHub 仓库

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜