DeepSHPlugins
dsh-plugin-response-window 项目预览
GITHUB / COMMUNITY PROJECT

dsh-plugin-response-window

UI 增强JavaScriptMIT

Web UI 插件:以阶段性文字回复为界分段,把每段的 think 与工具调用收进限高可滚动、高度可配置的 slide 窗口,中间过程始终可见。

1 Starsheiheiha798 更新时间 2026-08-24
访问 GitHub 仓库
dsh-plugin-response-window 项目预览

项目介绍

中文

Web UI 插件:以阶段性文字回复为界分段,把每段的 think 与工具调用收进限高可滚动、高度可配置的 slide 窗口,中间过程始终可见。

English

Web UI plugin that folds each staged response's think and tool calls into per-segment bounded, scrollable slide windows with a configurable height, keeping every intermediate response visible.

项目信息与收录信号

快照 2026-09-11
作者 / 组织
heiheiha798
仓库
heiheiha798/dsh-plugin-response-window
GitHub Stars
1
Forks
1
开发语言
JavaScript
许可证
MIT
最近推送
2026-08-24
Manifest
数据中检测到声明

公开仓库不自动等于可商用;许可证与当前兼容性以原项目文档为准。Manifest 和数据评分不构成安装安全认证。

数据评分

62/ 100
维护活跃
88
文档与实用信息
85
生态关注度
24
安装便捷信号
100
项目声明信号
100

近 18 天仍在更新;README 含完整安装与使用说明;关注度尚低(1)。

评分来自已有数据快照的五维模型,仅作浏览参考,不是实际使用评测或安全检测结论。

安装与使用

所有项目资料与许可均以对应 GitHub 仓库为准。

dsh plugin --profile web add github:heiheiha798/dsh-plugin-response-window

复制命令不会自动执行。请先阅读仓库文档,确认环境要求与许可证。

项目截图

仓库 README

GitHub 原文

已保存的仓库文档快照;文档抓取时间未记录,可能与上方目录介绍处于不同版本。安装前请核对当前仓库说明。

dsh-plugin-response-window

DeepSeek Harness (DSH) Web 插件:把一轮里的 think(推理)和工具调用放进有限高度的可滚动窗口(默认 10 行),以阶段性文字回复为界分段,每个分段一个 slide;文字回复保持原生完整显示、不做限高。中间过程始终可见(只是不撑爆页面)——Grok Build 风格。

与「全部折叠成 summary」类插件(如 dsh-tool-summary)不同:本插件不隐藏任何内容。think 与工具调用一条条列在 slide 里,每段都能展开翻到底;文字回复完全原生展示。
只包 bash + think:阶段性/最终文字 response 不加限高、不加「展开全部/收起」按钮。

效果

一个 prompt 之后有 100 次 tool call + 长回复时:

  • think(推理)和工具调用 → 合并为 slide(think 与 tool call 都是 implementation,不做区分):
  • 以「阶段性文字回复」为界分段:模型中途直接返回给用户的每条文字 response 是天然分隔点;两个分隔点之间的一段 think+bash 是一个 slide。不会两个 input prompt 之间挤成一整个 slide
  • 头部:10 个工具调用 · 5 Think(无 emoji、无冗余序号)+ 进行中 / 失败徽标,可点击收起/展开
  • 主体:max-height: N 行(默认 10)的内部滚动区
  • think 与工具调用严格按真实输出顺序交错排列(不做「think 全在上 / bash 全在下」的强行分区)
  • 每段 think 一行(Think + 单行摘要 + 展开箭头),默认折叠,点击展开完整推理(内部限高滚动);展开文字与工具输出同字号(同一 mono 字体)
  • 每条工具调用一行(状态点 + 工具名 + 单行摘要),点击展开参数/输出(输出再限高一档,内部滚动)
  • 执行中自动跟随底部
  • 原生 Think 行从消息流中隐藏(该段已并入 slide,避免重复显示),与 slide 内展示共用同一份内容
  • 阶段性文字回复与最终回复 → 完全原生展示,保持全文可见,不套 slide 窗口、不加任何按钮
  • 用户消息始终是「整轮的分隔点」,保持原位
效果预览见 GitHub 仓库页面或自行安装体验(仓库不再内置运行截图,避免暴露会话内容)。

安装

dsh plugin --profile web add github:heiheiha798/dsh-plugin-response-window

或本地 link 方式(开发调试):

git clone https://github.com/heiheiha798/dsh-plugin-response-window.git
cd dsh-plugin-response-window
dsh plugin --profile web add "link:$(pwd)"

装完重启 dsh web(或等 profile HMR)生效。

卸载:dsh plugin --profile web remove dsh-plugin-response-window

配置

cordis.patch.yml 里插入了默认配置,可改:

键默认说明
lines10窗口高度(行)。0 = 不限高(等价于关闭窗口)
collapsedfalse每轮 slide 是否默认收起成一行 bar。默认 false:始终展开、内容可见
showReadOnlytrue是否在 slide 里列出 read/grep/web_search 等只读调用(默认全列出,不藏)
minCollapseRows3仅 collapsed: true 时生效:少于该数量的轮次不收起

设置页(Settings → General)

插件在 Web UI 的 Settings → General 里注册了一项 「响应窗口大小(行数)」:

  • − / 数值输入 / +:调整 lines(0–200,0 = 不限高,默认 10)
  • 即时生效:改动后已渲染的 slide 高度立刻变化(经宿主 settings namespace dsh-plugin-response-window 持久化)

实现说明(为什么安全)

  • 工具调用 slide 通过 conversation.chat.node(tool-call key,priority: -100)的 slot shadow 在 React 层实现:每轮第一个 tool-call 节点渲染整个 slide,同轮其余 tool-call 节点渲染空,任何渲染异常自动 abdicate 回内置渲染。
  • 绝不移走 React 拥有的 [data-chat-anchor-key] 行节点。实测:把行移进自定义容器后,一旦 DSH 后续移除该行(会话切换/编辑/压缩),React 会调用 parent.removeChild(row) 抛 NotFoundError,整个会话树被卸载——因此本插件只用「slot shadow + 类/CSS」两种方式,对 React 行结构零改动。
  • 原生 Think 行隐藏与 slide 内的 think 同步:只对「该段内有 slide」的原生 data-variant="think" 行加 display:none(DOM 类/CSS,无重挂、无删除),其余(无工具调用的纯 Think 段)保持原生显示。
  • 插件只读 session 快照(useSession),不写快照、不调宿主 API。

开发 / 测试

纯 JS,无构建步骤:

npm run check   # node --check lib/index.js && node --check lib/client.js

E2E(需要已启动的 dsh web 与 python playwright):

dsh --profile web --no-open --port 3639 &
python3 test/e2e.py --url http://127.0.0.1:3639 --session "架构重构不顺原因分析"
  • 宿主半:lib/index.js(注册 settings namespace,依赖 @deepseek-ai/schemastery)
  • 浏览器半:lib/client.js(window.__ModuleLoader__.load,依赖 web 运行时注入的 react、slots 与 settings scope)

License

MIT

使用前核对

安装步骤、兼容版本与授权范围以原项目当前文档为准。Stars 和评分是快照中的导航信号。

安装与排错 · 项目问题反馈

同类项目