前言¶
DeepSeek Harness (DSH) 是用于构建智能体的开发环境。DeepSeek 的 API 调用费用根据时段分为峰价和谷价,通常谷价仅为峰价的一半。在开发过程中,手动等待谷价时段再执行任务会增加心智负担。
dsh-peak-scheduler 插件通过在输入框工具行增加“峰谷调度”按钮,解决这一痛点。它自动查询当前时段,并允许将任务推迟到谷价时刻自动执行。
核心功能¶
该插件主要解决以下问题:
- 自动查询:根据官方文档规则自动判定当前是峰价还是谷价,并联网获取节假日日历。
- 一键调度:在输入框增加调度按钮,提供“立即执行”或“推迟到谷价”两个选项。
- 任务管理:推迟的任务不会立即运行,而是创建一个等待任务存储在官方 schedule 服务中。
- 可视化反馈:侧边栏显示等待任务的数量与列表,支持随时手动开始或取消。
安装与启用¶
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 |
包含峰谷判定、节假日校验、宿主响应组装等测试 |
典型用法¶
- 在 DSH 输入框输入提示词。
- 点击输入框工具栏的 「峰谷调度」 按钮。
- 弹窗显示当前时段、价格判定及距离下次切换的时间。
- 选择 「推迟到谷价时段自动执行」。
- 插件会计算到下一个谷价时刻的秒数(至少 2 秒)。
- 调用官方 schedule 服务创建一次性任务。
- 侧边栏“等待任务”角标增加。
- 在谷价时刻到来时,官方 schedule 服务自动将提示词投递回原会话。
- 或者在等待期间,点击侧边栏的“等待任务”手动“立即开始”。
依赖¶
该插件依赖官方的 @deepseek-ai/dsh-experimental-schedule-bundle 来实现等待任务的持久化存储与到点投递。确保该 bundle 已正确安装在 profiles 中。
结语¶
该插件通过复用 DSH 生态能力,将复杂的峰谷定价逻辑封装为简单的交互按钮。所有任务数据存储在官方 schedule 服务中,确保了数据的耐久性和跨会话可用性。