前言¶
DeepSeek Harness (DSH) 采用插件架构,旨在通过模块化扩展功能。在 WebUI 对话中,随着交互轮次增加,界面内容会变得冗长。本插件通过引入 Codex-Desktop 风格的折叠机制,将每个已完成 turn 的 Agent activity 压缩为摘要栏,同时保持最终答复可见,从而保持对话界面的整洁。
插件简介¶
- 名称: dsh-turn-fold
- 定位: 为 DSH WebUI 对话添加 Codex-Desktop 风格的回合折叠
- 维护者: memorax-ai
- 许可: MIT
- 依赖: dsh-harmony
核心功能¶
- 折叠机制: 自动折叠已完成、已停止和被中断的 turn。每种状态拥有独立的标签。折叠后的摘要栏默认显示墙钟时间、工具调用次数以及输入/输出 token 数量。
- 状态保留: 插件会记住每个会话和具体 turn 的展开/折叠状态。
- 可访问性: 支持键盘聚焦、状态和操作标签、响应式换行以及减少动画处理。
- 渲染复用: 展开时复用原始原生节点渲染器,确保工具详情、复制功能和文件链接正常工作。
- 智能展开: 当 DSH 标记关闭分支不可用、后续节点位于关闭答案之后、或用户在活动区域内有键盘焦点或文本选中时,turn 保持展开,以防止错误或未完成工作被隐藏。
安装与启用¶
通过 CLI 安装插件到 Web profile:
dsh plugin --profile web add github:memorax-ai/dsh-turn-fold
安装完成后,可通过以下命令验证状态(确保三个补丁均为 bound):
dsh harmony status --profile web
兼容性与实现¶
该插件基于 dsh-harmony 运行,通过内存中的三个 Source Patches 对编译后的浏览器包进行修改:
- inject-turn-fold-runtime: 向 ChatView 注入折叠渲染器和 disclosure UI。
- rewrite-node-render-loop: 替换特定版本的原生节点列表 seam 为每 turn 渲染器。
- install-turn-fold-services: 注册本地化字典并绑定原生设置作用域。
支持的 DSH 版本范围:
* DSH 0.1.0-rc.8 至 0.1.7
* DSH 0.2.0-rc.2
注意事项¶
- 渲染行为: 无论折叠与否,DSH 始终渲染推理过程、工具调用和上下文信息。
- 文件修改: 插件安装的 DSH 文件不会被修改,卸载或禁用后可恢复原生折叠。
- 选择器匹配: 每个选择器必须精确匹配一次;不兼容的编译形状会导致插件失败(fail closed)。
- 测试覆盖: 兼容性测试主要覆盖 Windows 浏览器环境,包括启动、持久化和回放。不覆盖 macOS/Linux 上的真实模型调用或浏览器交互。
总结¶
dsh-turn-fold 通过折叠机制优化 DSH WebUI 的长对话阅读体验,提供 Codex 风格的摘要视图。更多细节可查阅 GitHub 仓库 或 技能库目录。