SiteEnglish10/DSHCordis--packages-offpeak ↗★ 0
@liming999/offpeak
在非高峰空闲时段自动发送草稿消息 适合希望避开API高峰期、通过空闲时段发送消息来节省费用的用户。
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:SiteEnglish10/DSHCordis#25c7850fa6c80ceaf7a90e84984fda2ced154dbf&path:packages/offpeak说明文档
阅读完整 README ↗空闲时段发送
已发布 @liming999/offpeak,当前源码版本 0.2.2(新增图标,待发布),开发接口参考 DSH 0.2.0-rc.2。
安装
在 DSH 插件安装界面的“填入插件 npm 包名”处,只填写:
@liming999/offpeak
也可使用命令行安装(其他 profile 请替换 desktop):
dsh plugin --profile desktop add @liming999/offpeak
完全退出并重启 DSH。发送键左侧出现「空闲发送」开关。先关闭开关编辑好草稿,再开启:高峰时段阻塞发送和编辑,显示倒计时;关闭开关立即解除自己的阻塞,恢复编辑。进入空闲时段后通过原生提交入口提交一次当前草稿,空草稿不发送。若会话正在运行或提交中,解除阻塞但不自动发送,请手动提交。
规则:北京时间工作日 09:00–12:00、14:00–18:00 为高峰,起点包含、终点不包含;其他时间为空闲。内置 2024–2026 年法定放假与调休安排,未知年份显示「按工作日近似判断」。该规则不查询实时价格,不保证特定折扣。
开关在同一浏览器中全局保存,并同步同源窗口。只有当前挂载且可见的 composer 能持有待发状态;切换会话、隐藏页面、卸载、关闭开关或读取失败均取消待发,恢复时不补发。持久化开关不等于后台任务,退出客户端后不会发送。多个可见窗口各自处理其当前草稿,应避免同时在两个窗口等待发送相同内容。
每 5 秒读取一次宿主时间,临近边界提前刷新;倒计时每秒更新。实际提交允许约一个刷新周期加网络延迟。4 秒请求超时或状态超过 10 秒即释放本插件阻塞,不拦正常发送。仅收到有效空闲状态且之前成功持有阻塞时才自动提交。显示“读取中”或错误时不保证拦截,只有倒计时状态表示已经成功拦住。
不覆盖其他插件阻塞。插件只影响 composer,不能限制外部工具或其他程序提交消息。不复制草稿、不建立后台队列;原生提交负责附件与命令。等待期间需要修改时关闭开关。
本地验收
- 高峰时间先输入草稿,再打开开关,等待出现倒计时;确认编辑、回车和发送按钮均被禁用。
- 关闭开关,确认恢复编辑,草稿与附件仍在;再次开启。
- 接近北京时间 12:00 或 18:00 时测试自动提交,确保只提交一次。空草稿不发送。
- 等待期间切换会话再返回,或将窗口隐藏到谷时后再显示,确认不会补发旧草稿。
- 断网或停止宿主后确认解锁、显示异常;恢复连接且已是谷时不补发。
- 有模型缺失等其他阻塞时开启、关闭本插件,确认不会移除原有限制。
- 测试深浅主题、附件草稿和多个会话。运行中会话到点不自动排队。
安装包包含 lib 中的预构建代码,用户不需要自行构建。没有生产测试时钟后门。
今日时段与日历
鼠标悬停开关显示今日北京时间空闲窗口:工作日 00:00–09:00、12:00–14:00、18:00–24:00;节假日和休息日显示「全天」。进入「设置 → 插件 → 空闲时段日历」查看月历,可切换月份;调休工作日按分时空闲处理。日历及悬停日期按设备北京时间显示,自动发送仍使用宿主 RPC 时间。未收录年份明确标注近似判断。
公开分发包名为 @liming999/offpeak;显示名称为「空闲时段发送」。
0.2.1 修复插件列表名称:通过导出的 locale/en.json、locale/zh.json 提供 meta.title 和 meta.description;安装包名保持不变。更新后完全重启 DSH。
0.2.2 新增专属 SVG 图标,用于 DSH 插件列表展示。更新安装后完全退出并重启 DSH。