dsh-input-traffic
三档(now/next/later)输入规划 dock:以红/黄/绿色优先级条取代忙碌 Enter 排队栏,普通 Enter 排入 later,支持多行原位编辑、拖拽排序与会话级冻结/恢复;冻结按钮经 stopNextTurn/resume RPC + 输入框锁定,桥接另一独立插件 [dsh-session-guard](https://github.com/drscrewdriver/dsh-session-guard)(可在 dsh-market 安装)实现按会话真实冻结锁定,并配合其高峰全局自动暂停,在 DeepSeek 高价时段停止会话、错峰自动恢复。
安装
dsh plugin --profile web add dsh-input-traffic
沙箱测试结果
| 阶段 | 结果 |
|---|---|
| 1 安装 | ✗ |
| 2 列装 | — |
| 3 挂载 | — |
| 4 启动 | — |
dsh: initialized profile web at /home/node/.dsh/profiles/web四阶段在隔离沙箱里跑:安装(有网)→ 列装 → 挂载 → 启动(后三步断网)。
README
<p align="center">
<strong>给 DeepSeek Harness Web GUI 一个三档输入交通管制</strong>
</p>
<p align="center">
<a href="README.en.md">English</a> · <strong>中文</strong> · <a href="README.ja.md">日本語</a> · <a href="README.ko.md">한국어</a>
</p>
<p align="center">
<a href="LICENSE"><img alt="MIT License" src="https://img.shields.io/badge/license-MIT-263146?style=flat-square"></a>
<img src="https://camo.githubusercontent.com/2c11fb2e0e14bb9985c5acbe61123a7441c5ee63aa27fa6e04e2a707ebfd6022/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6473682d2d706c7567696e2d72656164792d3437384342463f6c6f676f3d646565707365656b266c6f676f436f6c6f723d7768697465" alt="dsh-plugin" data-canonical-src="https://img.shields.io/badge/dsh--plugin-ready-478CBF?logo=deepseek&logoColor=white" style="max-width: 100%;">
<img alt="Public beta" src="https://img.shields.io/badge/status-public%20beta-7da1de?style=flat-square">
<a href="https://dshfind.com/zh/plugins/drscrewdriver/dsh-input-traffic?ref=badge"><img alt="dsh-input-traffic" src="https://dshfind.com/api/badge/drscrewdriver/dsh-input-traffic?lang=zh"></a>
</p>
dsh-input-traffic
- [English README](./README.en.md)
- [中文 README](./README.md)
- [日本語 README](./README.ja.md)
- [한국어 README](./README.ko.md)
- [Installation guide](./INSTALL.md)
- [中文安装指南](./INSTALL.zh.md)
- [日本語インストールガイド](./INSTALL.ja.md)
- [한국어 설치 안내](./INSTALL.ko.md)
- [Changelog](./CHANGELOG.md)
- [日本語 changelog](./CHANGELOG.ja.md)
- [한국어 changelog](./CHANGELOG.ko.md)
▼ DSH 版本适配
本插件(compat/0.1.5 线,0.2.12-beta.1 起)仅支持 DSH v0.1.5+。
| DSH 版本 | 状态 | 说明 |
| --- | --- | --- |
| ≥ 0.1.5-alpha.1 | ✅ 支持 | 面向 0.1.5-rc.1 / rc.2 验证(类型契约已对照 dsh-v0.1.5-rc.2) |
| < 0.1.5-alpha.1 | ⚠️ 不支持 | 请留在 main 线(0.2.11-beta.1,支持 0.1.2+)或更早版本 |
- 分界点在 0.1.5:Session V3(surface node)、dockkit Sidebar 重写、Lexical composer 是 0.1.5 的结构性变更。本插件的三个 slot 锚点(conversation.input.dock/conversation.input.right/settings.general.item)在 0.1.5 全部保留,服务面(send/cancel/updateQueue/blocks.set)无破坏记录,因此代码零结构改动,仅收窄支持分段。
- 队列条位置:注册order: 1000,排在conversation.input.dock带内所有已知条目(todo 0 / goal 10 / 官方 queue 20 / dsh-perm-gate 提示 30)之后,紧贴输入卡片。DSH 没有 "last" 语义,这是约定而非结构性保证——第三方插件若注册更大的order仍可能插到它下面。
▼ DSH 0.1.5 已知回归(宿主侧,非本插件 bug)
| 问题 | 对本插件的影响 | 讨论 |
| --- | --- | --- |
| fork 会话继承父会话「已入队未执行」的 prompt 并自动重跑 | 正是本插件管理的等待队列:fork 出的子会话可能重放父会话排队中的消息 | #6314 / #6197 |
| composer 迁移 Lexical 后 IME 组合期 Enter 被当换行、浏览器翻译插件打崩输入框 | 影响「拉回编辑器回填草稿」与发送路径 | #6231 / #6052 |
| 阻塞式工具等待期间 steer 无法抢占(最长约 10 分钟) | 黄色「下一轮插入」档位在该窗口不生效,用户可能误以为是插件问题 | #6030 |
| 升级旧 profile 后 client combo 缓存陈旧,插件树整体不激活 | 排障第一步:强制刷新浏览器(清缓存)再排查 | #5999 / #6374 |
兼容性说明: v0.2.9 已包含日语(ja)和韩语(ko)字典,但当前官方 DSH 只通过LocaleRuntime提供zh和en。在原版 DSH 中选择ja或ko会失败,并提示locale "<id>" is not registered。需要等待官方 DSH 增加对应 locale ID 后才能正常使用。高级用户可以维护 DSH fork,在packages/client/locale/src/locale-settings.ts更新LOCALE_IDS,在packages/client/locale/src/client/index.ts更新LOCALES标签,并补齐核心字典和测试,然后重新构建并运行 fork 版本。仅修改本插件无法扩展 DSH 的全局 locale 列表。
智能体忙碌时不再只有"打断"或"排队"二选一:红色打断立即输入、黄色下一轮插入、绿色排队到最后,三档并存;邻近 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,核对冻结前后的实际花费),形成「提醒 → 冻结 → 错峰恢复 → 对账」的省钱闭环。
<!-- host-compat:begin — generated by scripts/sync-hosts.mjs from scripts/hosts.mjs; DO NOT EDIT -->
- 支持的 DSH 宿主:
0.1.0-rc.20.1.0-rc.30.1.0-rc.60.1.0-rc.70.1.0-rc.80.1.1-rc.10.1.1-rc.20.1.2-rc.10.1.5-rc.10.1.5-rc.20.1.5-rc.30.1.7-rc.10.1.7-rc.20.2.0-rc.10.2.0-rc.20.2.1-rc.10.2.1-rc.20.2.1-rc.30.2.1-rc.40.2.1-rc.50.2.2-rc.1(覆盖 0.1.0 / 0.1.1 / 0.1.2 / 0.1.5 / 0.1.7 / 0.2.0 / 0.2.1 / 0.2.2 共 8 条线 21 个 rc) - 运行时已验证:
0.1.0-rc.2,0.1.0-rc.3,0.1.0-rc.6,0.1.0-rc.7,0.1.0-rc.8,0.1.1-rc.1,0.1.1-rc.2,0.1.2-rc.1,0.1.5-rc.1,0.1.5-rc.2,0.1.5-rc.3,0.1.7-rc.1,0.1.7-rc.2,0.2.0-rc.1,0.2.0-rc.2(证据见.compat-results/)
<!-- host-compat:end -->
它能做什么
实际运行截屏(Windows,dsh web):
<figure>
<img width="1600" alt="深色模式下的会话页:上方排队等待区显示『1 条排队消息』(🟢 排队 test1)与『取消并清空』;中央为花边样式输入框,提示 Cmd/Ctrl+Enter 插话发送全部排队消息;输入行右侧为『冻结会话』按钮、DeepSeek-V4-Flash 模型选择与发送控件" src="assets/dark-mode.png" />
<figcaption>深色模式(自动跟随系统 / dsh 暗色主题):排队等待区 + 输入行右侧「冻结会话」按钮。</figcaption>
</figure>
<figure>
<img width="1400" alt="浅色模式且会话已冻结的会话页:排队等待区出现『已冻结:当前轮次完成后暂停,排队消息将在恢复后继续』横幅及『取消并清空』;队列含测试1(🟢 排队)、测试2/测试3(🟡 插话中);输入行按钮切换为『恢复会话』" src="assets/light-mode.png" />
<figcaption>浅色模式 + 已冻结状态:高峰时段冻结后队列被冻结保存,输入行按钮切换为「恢复会话」,错峰再行处理。</figcaption>
</figure>
- 三档插入并存:智能体忙碌时,每一条输入都先进入等待区,再按需选择何时进入对话——不再只有一个"打断"或只有一个"排队":
- 🔴 红色(now):打断当前轮次并立即输入——当前生成停止,消息作为新输入被 agent 立刻处理并回复;
- 🟡 黄色(next):下一自然轮插入——不打断当前执行,当前正在进行的动作(工具调用 / 本轮生成)结束后插入;
- 🟢 绿色(later):待整个逻辑执行完成后输入——排队等待,上一轮输入的所有动作都结束后再处理(默认状态)。
- 黄色可逆:对已插话(黄色)的消息点绿色按钮,可撤销插入、收回排队状态。
- 排队内容可再编辑:已经排在队列中的消息可以直接在队列里
…(truncated)
以上内容来自 npm 上的 README,我们只做格式化,不改内容。
版本
npm 上共发布:43,最后更新 2026-11-06