Skip to content
dsh.fish
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

  • This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.
Source