
drscrewdriver/dsh-input-traffic
dsh-input-traffic
Busy-time input queue for the DeepSeek Harness web GUI: three-tier (now/next/later) planning, queue editing with drag-to-reorder and concurrency protection, interject (steer) and interrupt, batch clear with confirm, session freeze. A cordis client plugin, no dsh source changes, no PR required.
Install
npx @deepseek-ai/dsh plugin --profile web add dsh-input-trafficRestart `dsh web` after install. Bundle APIs can change during the developer preview.
README badge
[](https://dshhub.dev/plugins/dsh-input-traffic)Paste this into your README. The star count updates with every catalog sync.
From the README
Excerpt from drscrewdriver/dsh-input-traffic, cleaned of badges and images.
<strong>给 DeepSeek Harness Web GUI 一个三档输入交通管制</strong> <strong>中文</strong> · <a href="README.en.md">English</a>
dsh-input-traffic
智能体忙碌时不再只有"打断"或"排队"二选一:红色打断立即输入、黄色下一轮插入、绿色排队到最后,三档并存;邻近 DeepSeek 高峰收费时段可一键冻结会话,错峰再恢复继续。
无需修改 dsh 源码、无需提 PR:dsh plugin 命令组装 + bundle patch 装配的 cordis client 插件。
💡 为什么推荐「冻结会话」:DeepSeek 已于 2026-08-17 实行峰谷计费——高峰时段(北京时间 9:00-12:00、14:00-18:00)单价为闲时(其余时段,含午间、夜间、周末与节假日)的 2 倍。长跑型会话若跨越高价窗口,手动冻结暂停 API 消耗、错峰再恢复,费用最多可省 50%。
目前建议搭配:配合一般提醒插件(如 dsh-notify,到点桌面提醒「该冻结/该恢复」)与计费统计插件(如 dsh-deepseek-usage、dsh-cost-tracker、dsh-billing-balance,核对冻结前后的实际花费),形成「提醒 → 冻结 → 错峰恢复 → 对账」的省钱闭环。
它能做什么
- 三档插入并存:智能体忙碌时,每一条输入都先进入等待区,再按需选择何时进入对话——不再只有一个"打断"或只有一个"排队":
- 🔴 红色(now):打断当前轮次并立即输入——当前生成停止,消息作为新输入被 agent 立刻处理并回复;
- 🟡 黄色(next):下一自然轮插入——不打断当前执行,当前正在进行的动作(工具调用 / 本轮生成)结束后插入;
- 🟢 绿色(later):待整个逻辑执行完成后输入——排队等待,上一轮输入的所有动作都结束后再处理(默认状态)。
- 黄色可逆:对已插话(黄色)的消息点绿色按钮,可撤销插入、收回排队状态。
- 排队内容可再编辑:已经排在队列中的消息可以直接在队列里编辑——多行编辑区随内容自动扩展,长消息也能完整查看与修改(Enter 保存 / Shift+Enter 换行 / Esc 取消);也可打回输入框再编辑(回填 composer 修改后重新发送)。
- 队列管理:等待区的消息可以上移 / 下移调整顺序、删除,以及队列级「取消并清空」。
- 编辑不丢内容:编辑保存失败(消息已被 agent 认领)时,编辑内容自动退回主输入框,不会丢失;主输入框已有内容时不覆盖。
- 高峰期冻结:输入框右侧「冻结会话」按钮——邻近 DeepSeek 高峰收费时段(9:00-12:00、14:00-18:00)时主动暂停 API 消耗:当前轮次自然完成后暂停,未发送队列冻结保存;「恢复会话」后在非高价时间继续处理。
- 接管官方行为:插件生效时,官方设置面板的「繁忙时 Enter 键行为」设置行不再显示(Enter 行为固定为绿色排队)。
界面预览
等待区与冻结按钮在会话页面中的布局示意:
┌─ 输入区 ──────────────────────────────── 发送 ── [❄ 冻结会话] ─┐
└────────────────────────────────────────────────────────────────┘
┌─ 排队等待区(3 档规划 dock)────────────────────────────────────┐
│ ┌ 2 条排队消息 🗑 取消并清空 ┐ │
│ │ 🟢 排队 第一条消息内容预览… ↑ ↓ 打回 编辑 删除 │ │
│ │ 🟢 排队 第二条消息内容预览… ↑ ↓ 打回 编辑 删除 │ │
│ │ 编辑中:多行文本区随内容自动扩展(上限约 8 行) │ │
│ │ Enter 保存 · Shift+Enter 换行 · Esc 取消 │ │
│ └──────────────────────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────────────────────┘
三档语义
| 档位 | 颜色 | 语义 | 底层机制(dsh 现有 RPC 组合) |
|---|---|---|---|
| later(默认) | 绿 | 排队:上一轮输入的动作都结束后再处理;对已插话(黄色)的消息点绿 = 撤销插入,收回排队 | Enter 默认 queue → agent.followup()(next-turn);收回 = updateQueue(remove) + send(text) |
| next | 黄 | 下一自然轮插入:当前正在执行的动作结束后插入 | updateQueue(id, { kind: 'steer' }) → agent.steer()(next-step 步骤边界) |
| now | 红 | 打断并输入:停止当前轮次,消息立即被处理 | cancel() → updateQueue(remove)(避免 inbox 重复插入拒绝)→ send(text)(重新提交,唤醒 driver 立即处理) |
红色为什么是 cancel + remove + resend:harness 的 inbox 禁止重复插入同一条消息,打断后直接 steer 会被拒绝导致消息滞留(详见「常见问题」)。
会话冻结 / 恢复(高峰期暂停)⭐ 推荐
省钱定位:这是本插件面向 DeepSeek 峰谷计费(2026-08-17 生效)的核心推荐功能——高峰时段(9:00-12:00、14:00-18:00)单价翻倍、闲时半价。手动冻结把不紧急的生成「暂停」到闲时再恢复,直接规避高价窗口,长跑型会话最多省一半费用。
建议搭配:一般提醒插件(如 dsh-notify)在进入/离开高峰时段时提醒你手动冻结/恢复;计费统计插件(如 dsh-deepseek-usage、dsh-cost-tracker、dsh-billing-balance)在冻结前后核对实际花费。
输入框右侧(发送按钮旁)的「冻结会话 / 恢复会话」按钮,用于即将进入 DeepSeek 高峰收费时段时暂停 API 消耗:
- 冻结:当前轮次不打断、自然完成后暂停;队列与冻结解耦——冻结只停止 agent 消
…

