DeepSeek Harness (DSH) Web 客户端自带折叠功能,但该功能仅在特定条件下生效:会话为紧凑视图、该轮有定稿答案、该轮已关闭且没有更早的历史(!historyIncomplete)。当会话超过两三个来回或点击“加载更早”时,该条件恒为真,导致折叠功能失效,界面变得冗长。
dsh-fold-it-up 插件接管了 conversation.chat.node 的渲染逻辑,不再依赖 store 快照,而是直接读取 DOM 元素上的属性(如 data-chat-turn、data-turn-process-member)来判断折叠状态。它强制折叠所有已完成轮次的工作过程,保留答案显示。
插件信息¶
- 名称: dsh-fold-it-up
- 类别: 客户端插件
- 作者: gurio-wine
- 许可证: MIT
- 核心功能:
- 强制折叠已完成轮次的工作过程。
- 支持历史会话及“加载更早”页面的自动折叠。
- 自动归类并折叠上下文注入行(如
@deepseek-ai/dsh-system-prompt)。 - 处理报错、触顶或无答案的轮次。
安装与启用¶
本插件无任何依赖,直接使用生成物。
- 克隆仓库到本地任意目录:
git clone https://github.com/gurio-wine/dsh-fold-it-up.git
- 装入 Web profile(
web为默认配置名):
dsh plugin --profile web add <clone下来的目录>
- 刷新页面生效。
典型用法¶
- 打开任意会话(包括历史会话和点击“加载更早”后的页面),所有已结束的轮次会自动折叠成一行。
- 点击折叠行可展开或收起。
- 使用浏览器搜索(Ctrl+F)可以找到并展开折叠的内容。
适用场景与注意事项¶
- 适用场景: 长会话开发调试、需要快速浏览上下文摘要的场景。
- 依赖环境: 需要运行 DSH 的环境满足 Node.js >= 22.12.0。
- 无构建步骤: 无需任何构建工具链,
client.js等生成物已入库。 - 状态持久化: 折叠的展开状态不持久化,刷新页面后会重置为折叠状态。
- 样式复用: 使用官方产品自带的折叠行样式,不引入额外 CSS。
总结¶
dsh-fold-it-up 通过影子渲染技术修复了 DSH 官方折叠功能在长会话和加载历史时的失效问题,通过简单的安装即可获得整洁的对话界面。