READMESource: main@4010bc4d
offpeak-panel — 错峰任务队列(DeepSeek Harness 插件)
高峰时段收到较大的非即时任务时不直接执行:先 ask_user_question 核对任务细节、细化拆分后自动存入错峰队列,空闲时段由全局调度器自动派发回原会话执行。附右上角可拖拽的悬浮队列面板。
功能
- 任务入队工具(全局注册,任何会话可用):
offpeak_queue_task— 存入细化后的任务计划offpeak_queue_status— 查看队列 / 按 id 删除
- 错峰策略提示词:收到任何需要执行的工作任务(无论大小、无论高峰与否)→ 先
ask_user_question确认细节 → 拆分子任务 → 自动入队(无需用户声明「排队」)。例外:执行调度器派发的排队任务、用户明确要求立即执行、纯问答无需产出的交互。 - 全局调度器:每分钟检查,空闲时段(北京时间非高峰窗口,可自定义)自动把
waiting任务批量派发回 owner 会话执行([OFF-PEAK QUEUED TASK EXECUTION])。 - 悬浮面板:
- 会话头「错峰队列」开关按钮(显示等待数)
- 右上角可拖拽悬浮窗:高峰/空闲徽章、北京时间、队列列表(拖拽排序 / ↑↓ / 删除)、高峰区间与冗余量设置(生效窗口 = 区间 ± 冗余,重叠自动合并)
安装
dsh plugin --profile web add github:GoldenShit233/offpeak-panel
本地安装:
dsh plugin --profile web add file:/path/to/offpeak-panel
安装后重启 dsh web 生效(需要 pnpm 可用;dsh plugin 会将其加入 dsh.profile.bundles)。
数据文件(会话工作区内)
.offpeak-queue.json— 队列(只含等待任务,派发后自动清理).offpeak-config.json— 高峰区间与冗余量配置(面板「设置」中修改)
结构
offpeak-panel/
├── package.json # dsh.bundle.patch + dsh.client(web) 声明
├── cordis.patch.yml # 插件行挂载
└── lib/
├── index.js # 宿主半部:工具 + 策略 + 调度器 + /offpeak/api/* JSON 路由
└── client.js # 浏览器半部:会话头开关 + 悬浮面板(手写 module-loader bundle)
许可
MIT
No comments yet. Be the first to write one.