a179-sanae/dsh-auto-collapse ↗★ 1
dsh-auto-collapse
DeepSeek Harness Web 客户端插件:把会话里的工具卡片与 Think 推理块折叠成一行,折叠态实时显示当前正在进行的工作(工具名 + 正在执行的命令/参数、或思考内容),运行中带流光动画;点击展开/收起。让界面只保留模型说的话。
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:a179-sanae/dsh-auto-collapse说明文档
阅读完整 README ↗dsh-auto-collapse
DeepSeek Harness Web 客户端插件:把会话里的工具卡片与 Think 推理块自动折叠成一行摘要,让界面只保留模型说的话。
English: README.en.md
这是什么
dsh-auto-collapse 是一个纯前端 DOM 插件,挂在 DeepSeek Harness Web 聊天界面上,把工作流程折叠成一行行摘要——工具调用、推理过程不再占据整屏,呈现接近 VSCode Codex 桌面端的折叠体验,同时将“Deep diving” 修改为 “Deep sleeping”。它不改动消息内容,只控制工作流程的显示状态:
- 回合完成自动收起(一级):每个回合完成后,工作过程收成一行
已处理 X秒,只留模型最终正文;点击展开完整工作流程(上下文注入 → 思考 → 工具调用 → 过程正文 → 最终正文)。 - 二级折叠行:展开一级后,工具调用组与思考块各自折叠成一行 chip(
正在运行 {命令}/运行了命令/已思考),点击展开/收起;相邻工具组合并,正文输出是硬边界(不会跨正文合并)。 - 三级思考合并:展开
已思考后,连续思考合并为一个三级思考行(标题Think · 第一句),点击展开合并内容块;原始四级行不出现。 - 原生视觉对齐:图标盒 16px / glyph 14px / 行高 24px / 行距 16px,颜色使用 DSH 原生 token(
--dsw-alias-label-*),思考与命令图标取自 DSH 原生图标(IconThinkOutline14/IconApiOutline14)。 - 流式友好:同一个
assistant-step原地补正文、React 换节点和历史乱序挂载都会重新协调;running 状态带文字流光与三点跳动,prefers-reduced-motion下停止动画。 - 完整工作类型:除 tool-call 外,顶层
command/manual-compaction、context 和纯图片 final 都按同一回合语义处理。 - 可逆:卸载(HMR stop)时完整还原所有折叠/隐藏/改写。
安装
dsh plugin --profile web add "github:a179-sanae/dsh-auto-collapse#main"
安装后重启 DSH web 服务(或触发插件 HMR),页面 Ctrl+Shift+R 硬刷新即可生效。无需任何配置。
开发
项目结构
src/fold.ts 核心:FoldController(状态机)+ findBlocks(块识别)+ 折叠/展开逻辑
src/client.ts 浏览器端入口(注册插件)
src/index.ts host half
build.mjs esbuild 构建(lib/client.js 的注册 id 在 banner 里)
deploy.mjs 安全部署:校验 → 备份 → 替换 → 身份核验重启 → 哈希验证/回滚
cordis.patch.yml profile 树挂载
test/ fake DOM 契约、竞态、会话切换与 40 组乱序排列回归
检查
npm run check
依次执行 TypeScript 检查、构建和全部回归测试。
快速部署(本机开发)
npm run deploy
脚本先核验插件/DSH 包名和 3080 监听进程身份,再做时间戳备份、替换、重启与服务端哈希验证;失败自动恢复旧 bundle。可用 DSH_AUTO_COLLAPSE_LIB、DSH_DIR、DSH_WEB_PORT、DSH_LOG_DIR 覆盖默认路径。