lco117/dsh-peak-hours

lco117★ 2JavaScript最后同步: 2026-08-16

在 GitHub 打开

A DeepSeek Harness plugin that displays a peak-hours status badge in the session header.

README 摘要

dsh-peak-hours DeepSeek Harness 插件:在会话顶栏(对话区域顶部)显示「 高峰时段 」状态徽章。插件获取当前系统时间,转换为 北京时间(UTC+8) ,当时间落在 09:00–12:00 或 14:00–18:00 时显示 🔴 高峰时段 ,否则显示 🟢 非高峰时段 ,旁边附带当前北京时间。 界面预览 · 功能 · 工作原理 · 安装 · 使用 · 开发 · 开源发布 · Star History 界面预览 高峰时段(🔴) 非高峰时段(🟢) : : : : 功能 - 会话顶栏徽章 :位于对话区域顶部,与其它会话工具项排在一起,并排在「会话日志下载」的左边。 - 始终北京时间 :把绝对时间戳直接平移 UTC+8(无夏令时)再判断,无论机器在哪个时区,状态都正确。 - 两个高峰区间 : 09:00–12:00 与 14:00–18:00 (半开区间:12:00:00 与 18:00:00 属于非高峰)。 - 每 15 秒自动刷新 :到达整点边界后最多 15 秒内状态翻转,无需刷新页面。 - 语言可配置 :在 设置 → 通用 → 徽章语言 选择徽章显示语言(中文 / English),选择持久化,重启后保持。 - 跟随主题 :使用外壳的语义色 token( --dsw-alias- ),浅色/深色主题下都协调。 - 零延迟 :纯客户端时间计算——没有网络请求、没有额外模型调用。 工作原理 半 职责 client.js (浏览器半) 挂载时及每 15 秒读取 new Date() ;转换为北京时间钟面分钟( UTC+8 ,无夏令时);对照两个半开高峰区间判断;把徽章注册进 conversation.session.header.utilities (排在会话日志工具左边),并把「徽章语言」选择行注册进 settings.general.item index.js (Host 半) 注册 peak-hours 设置命名空间( language 字段,默认 zh )与私有 loopback RPC 通道 /peak-hours ( get / set ),供浏览器半读写该语言设置 为什么用私有 RPC 通道而不是 settings RPC? dsh-host-apiproxy 只向显式白名单( WEB SETTINGS NAMESPACES / PRODUCT SETTINGS NAMESPACES )内的命名空间开放 settings 读写,第三方插件注册的命名空间会收到 settings-not-exposed ,选择无法持久化。因此浏览器半走宿主进程内私有通道( ctx.connection.rpc.handle ),宿主内对 ctx.settings 的读写不受该白名单限制——持久化保持不变。 为什么高峰判断仍在客户端? 需求…

在 GitHub 查看完整 README →
工具/开发deepseek-harnessdshdsh-plugindsh-pluginspeak-hour-detectionpeak-hours

分类