Bundle
dsh-off-peak-schedule-widget
价格时段输入队列调度 Harness 插件(dsh-plugin):价格高峰拦截输入进入等待区暂存,低谷按队列投递到所选目标对话,随 Harness 自启动
- Source
- BaiLiang-233
- stars
- 1 stars
- License
- MIT
- Updated
- Updated 13 days ago
Readme
# dsh-off-peak-schedule-widget <div align="center"> <b style="font-size: 1.15em;">价格时段输入队列调度 · 任务调度窗口</b><br /><br /> <a href="https://github.com/BaiLiang-233/dsh-off-peak-schedule-widget/stargazers"><img alt="GitHub stars" src="https://img.shields.io/github/stars/BaiLiang-233/dsh-off-peak-schedule-widget" /></a> <a href="https://img.shields.io/badge/version-0.4.2-4d6bfe"><img alt="版本" src="https://img.shields.io/badge/version-0.4.2-4d6bfe" /></a> <a href="https://github.com/topics/dsh-plugin"><img alt="插件生态:GitHub topic dsh-plugin" src="https://img.shields.io/badge/%E6%8F%92%E4%BB%B6%E7%94%9F%E6%80%81-topic%20dsh--plugin-4d6bfe" /></a> <a href="https://img.shields.io/badge/%E5%AE%89%E8%A3%85-%E5%88%9B%E9%80%A0%E6%A8%A1%E5%BC%8F%20Agent-4d6bfe"><img alt="安装方式" src="https://img.shields.io/badge/%E5%AE%89%E8%A3%85-%E5%88%9B%E9%80%A0%E6%A8%A1%E5%BC%8F%20Agent-4d6bfe" /></a> <a href="https://opensource.org/licenses/MIT"><img alt="License: MIT" src="https://img.shields.io/badge/License-MIT-yellow.svg" /></a><br /><br /> 在 [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) 中为输入窗口加一层「低谷调度」:<br /> <b>价格高峰</b>时期拦截输入、暂存到<b>等待区</b>;<b>价格低谷</b>时期按队列顺序<b>投递到所选目标对话</b>。 </div> <div align="center"> <!-- 截图示例:assets/README-demo.png(如提供截图,放在仓库 assets/ 目录后取消下面这行注释即可) --> </div> ## 📑 目录 - [✅ 功能一览](#-功能一览) - [🚀 安装](#-安装) - [⚙️ 使用速查](#️-使用速查) - [📂 目录结构](#-目录结构) - [⚠️ 已知限制](#️-已知限制) - [🗑️ 卸载](#️-卸载) - [📄 许可证](#-许可证) ## ✅ 功能一览 - **🕐 高峰拦截 · 低谷自动投递**:高峰时段经 `conversation.composer` 官方接管链替换输入条,按 Enter 即暂存到等待区、阻止直接提交(官方审批/提问交互优先,不冲突);低谷时段等待区按序进入工作区并投递到目标对话,低谷期间输入完全走原生流程 - **🎯 目标对话(不再每次新建)**:默认投递当前对话;下拉可选任意已有对话并持续投递,直到改选;选“+ 新建对话…”命名后,首条输入触发会话创建(继承工作目录,可配 Agent 预设与模型)并按名命名,后续输入持续投递同一对话;冷会话自动恢复后投递 - **⚙️ 拦截窗选择器**:目标对话 / Agent 预设 / 模型(按 provider 分组)/ 推理等级(随模型联动),均带“继承”并记忆上次选择 - **🗂 多高峰窗口**:默认 08:00–23:00,支持 1–6 个自定义窗口(0–23 时,支持跨午夜,如 23→8) - **💾 配置持久化**:高峰窗口、拦截开关、并发数写入 `runtime-config.json`(`<Harness 工作区>/price-queue-scheduler/`),重启自动适用 - **🔄 插件更新**:设置内「插件更新」支持检查更新与一键更新(二次确认后向当前对话投递更新任务,由创造模式 Agent 执行) - **🖥 任务调度窗口**:标题 + 峰谷指示灯(纯色),右上角 ⚙ 设置 / — 最小化;仅窗口化与最小化两种状态,最小化后经侧边栏按钮或输入区状态条唤起(默认窗口化) - **🖱 输入项操作**:强制执行 / 撤销(均二次确认弹窗);按住拖动可调整等待区/工作区内的次序 - **📋 运行日志**:全部关键操作以 `[price-queue] <ISO时间> [操作] 详情` 写入 Host 日志,面板“执行记录”同步展示 ## 🚀 安装 **前置**:DeepSeek Harness(Web 界面),可正常进入创造模式(Cordis 插件开发通道)。 ### 方式 A:创造模式一键安装(推荐) 在任意 Harness **创造模式**会话中发送以下提示词即可自动安装: ```text 请安装此 Harness 插件:读取本仓库(GitHub:BaiLiang-233/dsh-off-peak-schedule-widget, 即 https://github.com/BaiLiang-233/dsh-off-peak-schedule-widget )的 plugin-package.json、host.js、client.js,然后按 plugin-package.json 的 install.steps 执行—— 以 host.js 全文作为 code.host、client.js 全文作为 code.client 调用 cordis_define (新插件,idPrefix: priceq),再对返回的 pluginId/packageId 调用 cordis_run; 若返回 awaiting-approval,提示用户在 Run 卡片中批准(双勾可授权该插件后续版本)。 ``` 安装完成后可见:侧边栏底部「⏳ 任务调度」入口、输入区上方队列状态条(峰谷指示灯 + 队列数)、默认窗口化的「任务调度」面板;高峰时段输入条即拦截窗。 ### 方式 B:手动安装 ```sh git clone https://github.com/BaiLiang-233/dsh-off-peak-schedule-widget.git ``` 打开任意创造模式会话,把 `host.js` / `client.js` 全文分别作为 `code.host` / `code.client`,通过 `cordis_define` + `cordis_run` 安装(步骤同方式 A,由你手动完成)。 ### 更新 面板「任务调度」右上角 **⚙ 设置 → 插件更新**:点「检查更新」对比仓库最新版本;有新版本时点「一键更新到 vX」并二次确认,更新任务会投递到当前对话,由创造模式 Agent 完成 `cordis_define`(existing)+ `cordis_run`(update)。 > 详细安装/打包说明见 [INSTALL.md](./INSTALL.md)。 ## ⚙️ 使用速查 - **设置(⚙)** - **价格时段与执行设置**:高峰时段(多窗口增删改)、工作区并发数(1–3)、启用高峰拦截开关;配置写入 `runtime-config.json`(面板显示路径) - **插件更新**:当前版本、检查更新、一键更新 - **队列流转**:高峰 → 输入被拦截进入**等待区**暂存;低谷 → 按序进入**工作区**并投递到所选目标对话;强制执行无视时段立即投递 - **界面**:工作区 / 等待区两个分区(可拖拽排序),下方「执行记录(最近 n 条)」可展开;峰谷指示灯仅显示颜色(高峰=黄、低谷=绿) ## 📂 目录结构 ```text dsh-off-peak-schedule-widget/ ├── plugin-package.json # 机器可读清单:创造模式一键安装的契约(名称、idPrefix、安装步骤、配置说明) ├── host.js # Host 半侧源码(动态 Cordis 插件 code.host 的完整函数体) ├── client.js # Client 半侧源码(动态 Cordis 插件 code.client 的完整函数体) ├── README.md # 本文档 ├── INSTALL.md # 手动安装与打包说明 ├── LICENSE # MIT 许可证 └── runtime-config.example.json # 持久化配置示例(运行时自动生成于工作区) ``` ## ⚠️ 已知限制 - 队列与“新建对话目标”绑定为**进程内存态**:插件停止/更新或 Harness 进程重启后清空(已创建/投递的会话本身已持久化);配置文件持久保留并在重装后自动适用 - 高峰接管期输入条不支持附件图片;低谷时段输入完全走原生流程 - 已有对话投递:目标会话在内存中直接投递,否则从持久化恢复后投递(3 次失败后标记失败);目标会话运行中时投递进入其收件箱按序处理 - 模型/推理等级:新建对话时固定到该会话;已有对话为单次生效(仅该条输入);Agent 预设仅新建对话时生效 - 模型/预设目录缓存 60 秒 ## 🗑️ 卸载 在任意创造模式会话中:用 `cordis_stop` 停止运行,用 `cordis_undefine` 彻底移除插件与其所有包版本;`runtime-config.json` 如需清理可手动删除。 ## 📄 许可证 [MIT](./LICENSE) © 2026 凉白
Install
dsh plugin --profile web add github:BaiLiang-233/dsh-off-peak-schedule-widget
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-off-peak-schedule-widget from the hub
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.