前言¶
DeepSeek Harness(DSH)把对话界面拆成可插拔的 bundle。若你在本地跑 Harness 做智能体开发,有时会对照 DeepSeek 官方定价页里的「高峰 / 低谷」时段安排调用或测试——定价说明在浏览器里,会话底部的统计行(例如 1 轮 · 68 步 | LLM ...)旁却没有对应提示,需要反复切页或心算北京时间。
下面介绍社区插件 @ttxl314/dsh-ds-peak-valley:在 composer dock 统计行同一行固定一枚 文峰 / 文谷 徽标,按北京时区与官方定价脚注的窗口本地计算,不发起 HTTP、不消耗 token。
这是什么¶
- 名称:
@ttxl314/dsh-ds-peak-valley(npm 包名与注册 id 一致) - 维护者:ttxl314
- 分类:趣味换装(SkillHub 社区目录)
- 版本(资料中 package.json):0.1.1,许可证 MIT
- 定位:纯客户端 DSH 插件,向
conversation.composer.dock槽位(id: ds-peak-valley,order: 1)注册一行徽标,与 session 统计条并排显示。
时段规则与 DeepSeek 官方定价页脚注一致,文档引用:https://api-docs.deepseek.com/zh-cn/quick_start/pricing/。非 DeepSeek 官方插件,与 DeepSeek / 幻方无从属关系。
徽标显示什么¶
| 状态 | 北京时间 | 颜色 |
|---|---|---|
| 文峰(peak) | 周一至周五 09:00–12:00、14:00–18:00 | 红 #e5484d |
| 文谷(valley) | 其余时刻(夜间、午休、周末等) | 蓝 #0091ff |
徽标大致结构(README 示意):
文峰 14:26 · 距下谷 3小时34分
└─┬─┘ └─┬─┘ └───┬───┘ └──┬──┘
state Beijing next switch time left
clock direction (h/min)
- 距下谷(蓝色语境):即将在 12:00 或 18:00 进入文谷。
- 距下峰(红色语境):即将在 09:00 或 14:00 进入文峰。
- 鼠标悬停可看到完整窗口说明与计算用的北京时刻戳。
周末视为连续文谷,下一次切换为周一 09:00(含周五 18:00 → 周一 09:00 的倒计时逻辑,见仓库自测)。
核心行为(已核实)¶
- 时区:硬编码
Asia/Shanghai,用浏览器时钟经Intl.DateTimeFormat推导北京时间;本机系统时区不影响判定,但依赖系统时钟是否准确。 - 刷新:约每分钟重绘一次。
- 无配置:无配置文件、无 slash 命令、无设置项开关。
- 隐私:仅在客户端计算;无 HTTP、无遥测、不读 API key、不读仓库或会话数据。
实现上,lib/index.js 为宿主入口(apply() 空操作,供扫描 dsh.client);lib/client.js 为浏览器 bundle(徽标与 computeStatus / nextTransition);cordis.patch.yml 把插件行插入 profile 树。bundle 须以包名 @ttxl314/dsh-ds-peak-valley 调用 window.__ModuleLoader__.load({ id }),否则不会挂载。
安装与启用¶
要求:已安装 DSH,且使用 web 或 desktop profile;Node.js ≥ 18。
资料中的注册方式(tree-outside bundle)如下。先将仓库放到本机某路径,再对该 profile 执行 link 注册(README 原文含 clone 步骤,此处只保留与 DSH 相关的命令形态;路径替换为你的 checkout 目录):
dsh plugin --profile web add link:<path-to-clone>
也可手工编辑 profile manifest(常见路径 $DSH_HOME/profiles/web/package.json):
{
"dependencies": {
"@ttxl314/dsh-ds-peak-valley": "link:<path-to-clone>"
},
"dsh": {
"profile": {
"bundles": [
"@deepseek-ai/dsh-base",
"@deepseek-ai/dsh-web-app",
"@ttxl314/dsh-ds-peak-valley"
]
}
}
}
完成后重启 DSH;徽标应出现在 composer dock、统计行旁。
卸载:从 dependencies 与 dsh.profile.bundles 中移除该包并重启。
兼容性(README):针对 DSH 客户端插件 API(conversation.composer.dock、react 种子模块、window.__ModuleLoader__,dsh.client.platform = "web");在 DSH 0.2.1-rc.5 的 desktop 与 web profile 上验证。若未来 DSH 更名槽位或加载入口,主要改 lib/client.js。
典型用法¶
安装并重启后无需额外操作:打开任意对话,在底部统计行一侧查看徽标即可。
若状态与预期不符:
- 确认系统时间已同步。
- 悬停徽标,核对 tooltip 中的北京时间戳。
- 若徽标不出现:检查
dependencies包名是否为@ttxl314/dsh-ds-peak-valley、是否列入dsh.profile.bundles、link:目标目录是否仍存在。
开发者可在插件目录运行自测(不依赖 DSH 进程):
node test/self-test.mjs
或:
npm test
CI 在 Node 18 / 20 / 22 上跑同一套测试(.github/workflows/test.yml)。
若 DeepSeek 调整峰谷窗口,需改 lib/client.js 顶部的 PEAK_WINDOWS / PEAK_WEEKDAYS(README 说明)。
适用场景与注意¶
适合:在 DSH web 或 desktop 里长时间对话、希望一眼看到当前是否处于官方定价意义上的文峰/文谷,且不想为此时段查询单独打 API 的开发者。
注意:
- 插件以当前 DSH 进程及其加载的 bundle 权限运行;安装前请阅读源码与 MIT 许可证,确认可接受本地 link 依赖方式。
- 社区目录 SkillHub(https://www.skillhub.cn/plugins/ttxl314/dsh-ds-peak-valley)与 GitHub 仓库由社区维护,不是 DeepSeek 官方应用商店。
- 重命名包时必须同步
package.json、cordis.patch.yml与lib/client.js内的id,否则npm test会失败且浏览器端可能静默不挂载。
结尾¶
@ttxl314/dsh-ds-peak-valley 把 DeepSeek 定价页上的峰谷窗口压缩成 composer 底栏一枚只读徽标:本地算、每分钟更新、零网络。需要安装细节与排错时,以仓库 README 为准。