DSH WebUI 对话大纲插件:按轮次结构化展示与 LLM 标题生成

前言

DeepSeek Harness Web(npx @deepseek-ai/dsh web)在处理长对话时,用户往往需要频繁滚动才能定位上下文或理解会话走向。dsh-conversation-outline 插件在 DSH-better-sidebar 侧边栏注册了一个「对话大纲」标签,将当前会话按轮次结构化展示,并为每一轮生成 LLM 标题,支持一键跳转。

插件简介

  • 名称:dsh-conversation-outline
  • 维护者:YesSanSan
  • 定位:静态 DSH Web 插件
  • 许可证:MIT
  • 核心价值:提供会话结构概览与快速导航,减少滚动操作。

核心功能

  1. 按轮次结构化大纲
    插件将当前会话按轮次分组,展示用户消息、助手回复、工具调用(连续调用自动合并为可折叠分组)、压缩检查点及错误行。

  2. 一键跳转
    点击大纲中的任意条目,自动加载历史并滚动到聊天视图或轨迹视图的对应行。

  3. LLM 一句话标题
    利用 Host 的 llm.stream 接口生成标题(不创建 subagent),按内容指纹缓存,分支会话前缀相同即可复用。

  4. 标题生成完全并行
    已结束轮次即时生成,即使 Agent 仍在处理后续轮次;仅当前进行中的轮次等待本轮结束。

  5. 可配置
    标题模型、推理等级、并发数、单次超时、失败重试、禁用开关均在齿轮设置中持久化。

  6. 窄面板自动收缩
    面板宽度 ≤360px 时,行内类型标签自动从文字收缩为图标(悬停显示文字),与轨迹视图行为一致。

安装与启用

直接安装到 web profile,无需手动 clone:

npx @deepseek-ai/dsh plugin --profile web add github:YesSanSan/dsh-conversation-outline#main

重启 DSH:

npx @deepseek-ai/dsh web

打开 better-sidebar 的 + 菜单,选择「对话大纲」。

配置项

配置持久化到 better-sidebar pluginSettings['conversation-outline']。

键 默认 范围 含义
model '' — 标题模型;空 = 跟随主会话模型
reasoningEffort '' off / low / medium / high / max 推理等级;空 = 跟随会话
maxConcurrency 3 1–8 客户端并发生成标题的 worker 数
timeoutSeconds 60 5–300 单次尝试超时;对整个尝试生效
maxRetries 2 0–5 失败重试次数(退避 0.8s 起,封顶 5s)
disabled false — 完全禁用标题生成

权限与数据

  • 会话日志:Host 通过 ctx.sessionQuery(readSession / listEvents)只读当前会话日志构建大纲,不回写。
  • LLM 调用:标题生成只把当前轮可见文本(用户 + 助手块,去掉工具调用,截断)发送到配置的模型路由。
  • 浏览器存储:标题缓存于 localStorage(dsh-conversation-outline-titles:v1)。
  • 网络访问:除配置的模型 provider 外无其他网络访问。

注意事项

  • 依赖版本:插件依赖 dsh-better-sidebar v0.12.0+(需要 settings.render 与 pluginSettings 支持)。npm 上的 dsh-better-sidebar 可能仍是 0.11.0,v0.12.0 功能需从源码构建后链接到 profile。
  • 进程重启:安装或更新后需完整重启 npx @deepseek-ai/dsh web 才能生效。
  • 安全反馈:安全问题请通过 Issues 私密反馈,或先邮件联系作者,再公开披露。

生态位置

  • GitHub:https://github.com/YesSanSan/dsh-conversation-outline
  • 生态目录:https://www.skillhub.cn/plugins/YesSanSan/dsh-conversation-outline
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜