DSH Hub
dsh-tidychat cover

BananaSoldier01/dsh-tidychat

dsh-tidychat

UIWeb UI4 GitHub stars· updated 2026-08-24

dsh-tidychat is a community DeepSeek Harness plugin. Read the repository README before installing.

Install

npx @deepseek-ai/dsh plugin --profile web add @bananasoldier01/dsh-tidychat

Restart `dsh web` after install. Bundle APIs can change during the developer preview.

README badge

dsh-tidychat DSH Hub badge
[![DSH Hub](https://dshhub.dev/badge/dsh-tidychat.svg)](https://dshhub.dev/plugins/dsh-tidychat)

Paste this into your README. The star count updates with every catalog sync.

From the README

Excerpt from BananaSoldier01/dsh-tidychat, cleaned of badges and images.

dsh-tidychat

🌐 English

让 DSH 的长会话变成可扫读、可跳转的结论流。

多任务、多轮次的会话里,思考、工具调用、中间文字和最终总结混在一起,回头找「上次那个任务的结论」很费劲。dsh-tidychat 把已完成的任务轮次自动折叠成一条结论,把思考与正文用分隔线切开,并在聊天区左缘提供一条 Codex 式全局导航定位条(Canvas minimap),任意长度的会话都能全局浏览、快速跳转。

🔌 生态:挂 #dsh · #dsh-plugin topic,欢迎收录。

✨ 功能

功能说明
🗂 自动折叠已完成轮次自动收起思考(Think)、工具调用与中间文字,只保留最终总结;控制条含「过程 N 步」和处理时长(用时 / 首 token / 速率)
➖ 分隔线思考行与正文之间的实线,一眼区分「过程」与「结论」
📍 左缘定位条(Adaptive Navigation Rail)固定高度 Canvas minimap:任意轮次(几十到几千)全局映射到同一可视区;鱼眼悬停放大、拖动预览、点击跳转到阅读区顶部;当前轮次高亮跟随滚动;默认色可背景自适应或手动选「色系 × 明度」,强调色(当前/悬停回合)独立配色
⬆ 智能加载更早历史页面空闲时逐步加载更早记录;检测到页面响应开始下降时自动暂停,保持长会话流畅,需要时仍可手动继续加载
📤 一键报告问题自动生成诊断报告(版本/浏览器/性能数据/异常检测/现象标签),一键打开 GitHub issue 预填页,标题正文全带,零手写提交

四个功能各自独立,可在「设置 → 插件配置」里可视化开关,改动即时生效;另有「📤 生成诊断报告并提交」一键入口。

📸 效果

自动折叠:已完成轮次收成一条控制条,只留最终结论(上);点击「展开」恢复思考、工具调用与中间文字(下)。

左缘定位条(Canvas minimap):固定高度全局映射,任意长度会话可全局浏览;悬停鱼眼展开 + 摘要卡(含日期时间),拖动预览,点击跳转到阅读区顶部。

设置面板:四个功能独立开关 + 现象标签 + 一键「生成诊断报告并提交」,改动即时生效。

🚀 安装

前置:已安装 DSH(Web 版),pnpm 在 PATH 上。

# 方式 1(推荐):npm 包,预构建产物免 allowBuilds 授权
dsh plugin --profile web add @bananasoldier01/dsh-tidychat

# 方式 2:从 GitHub 安装(推荐钉版本,可复现)
dsh plugin --profile web add git+https://github.com/BananaSoldier01/dsh-tidychat.git#v0.2.3

安装后重启 dsh web + 硬刷新(Cmd+Shift+R)。

更新

插件以 profile 依赖的形式安装,更新就是让 pnpm 重新拉取该依赖的新版本(只拉这个插件,不会重下整个 DSH):

# 方式 A:npm 方式安装,直接更新
dsh plugin --profile web update @bananasoldier01/dsh-tidychat

# 方式 B:装的是某个 tag,改钉到新 tag 重新 add
dsh plugin --profile web add git+https://github.com/BananaSoldier01/dsh-tidychat.git#v0.2.3

更新后同样重启 dsh web + 硬刷新。

⚠️ 让设置开关可写(仅 DSH ≤ 0.1.0-rc.6 需要):rc.6 及更早版本的「设置 > 插件配置」白名单硬编码在宿主编译产物里,默认不含第三方插件的命名空间,导致开关变灰不可点。运行下面命令把 tidychat 加进白名单(幂等;DSH 升级后重跑即可):

curl -sL https://raw.githubusercontent.com/BananaSoldier01/dsh-tidychat/main/scripts/whitelist-patch.sh | bash

DSH ≥ 0.1.0-rc.7 不需要这条:rc.7 起白名单机制移除,命名空间由插件动态注册,开关自动可点。

💡 版本兼容性0.2.0 起适配 DSH ≥ 0.1.0-rc.7(含 0.1.1-rc.x,已实测 rc.1/rc.2 契约点无变化)。rc.7 把 settings.plugin.item 槽从 list 改为 keyed,注册字段由 id 改为 key,旧版写法会报 "Failed to load plugins";DSH ≤ 0.1.0-rc.6 请使用 0.1.0

🗺️ 路线图

0.2.0(已发布)—— Adaptive Conversation Navigation Rail

左缘定位条从「固定列表」升级为 Canvas Minimap 全局导航

  1. 固定高度min(70vh, 660px),任意 turn 数量(20/70/200+)都映射在同一可视区内
  2. Turn 全局均匀映射y = index/(total-1) × railHeight,不随 turn 数增长 DOM(仅 1 个 canvas + 1 个提示卡)
  3. 鱼眼 hover:hover 附近 ±4 turn 间距放大、远处自动压缩,命中测试与绘制共用同一布局函数
  4. Drag scrubbing:拖动时仅预览目标 turn,松手才跳转
  5. 当前 turn 高亮:以「阅读区顶部」为准(含 header 偏移),随滚动实时更新
  6. 精确跳转:用户消息滚到阅读区顶部(而非 viewport 中心或埋进 header)
  7. 兼容性:fold / divider / autoload / diagnostics 均不受影响(rail 数据来自会话快照,与折叠的 CSS 隐藏无关)

0.2.1(已发布)—— 定位条配色完善(PR #5 合入)

  1. 背景真实冒泡:默认色 auto 的背景判定从会话滚动容器沿父级向上冒泡找第一个非透明背景(alpha=0 跳过),不再只查固定候选
  2. auto 尊重主题:默认色 auto 优先用宿主淡色文字色,与实际背景 WCAG 对比 ≥3:1 才使用,不足自动切纠偏灰;强调色 auto(默认)= 跟随主题品牌色(--dsw-alias-state-business-primary
  3. 配色折叠为高级项:设置卡片内「配色(高级)」可折叠收起,明度档在 auto 时禁用
  4. 配置枚举化:host schema 四个配色字段改为 z.union 枚举收敛取值;插件卸载时清除写入 :root 的临时 CSS 变量

0.2.2(已发布)—— 提示卡可读性(issue #6)

Related plugins