DSH Web 会话页实时大纲面板:「用户问题 + Markdown 标题(1~6 级)」大纲树,流式生成时实时更新,点击节点滚动定位并高亮,支持展开深度调节、搜索与会话级收藏。
安装
# npm 包(预构建)
dsh plugin --profile web add dsh-outline
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:urzeye/dsh-outline
GitHub 来源的插件在安装时会在你的机器上执行构建脚本。请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
DeepSeek Harness(DSH)Web GUI 的实时大纲插件:在会话页提供一棵"用户问题 + Markdown 标题(H1~H6)"的大纲树,流式生成时实时更新,点击节点即可定位正文并高亮当前阅读位置。

特性
实时大纲
- 大纲由会话事件流构建(用户问题为一级节点,助手回复中的 Markdown 标题挂在其下),不抓取 DOM
- 流式生成时随 token 实时更新;刷新、重连、历史分页由 DSH runtime 自动重建,无需自行处理
- 点击节点滚动定位正文,并高亮当前阅读位置
层级与视图
- 层级滑块控制展开深度(0~6 档),节点可单独展开/收起,支持一键展开/收起全部
- 关键词搜索(带匹配计数)、按会话收藏、"只看收藏"模式
- 一键复制大纲、回到顶部/底部
面板形态
- 面板为
shell.overlay浮层:右缘触发条悬停预览、可固定常驻、可拖拽移动,不挤压聊天区
主题与国际化
- 跟随 DSH 主题变量与明暗模式;界面文案中英文随 DSH 语言切换
环境要求
- DeepSeek Harness(DSH)Web GUI
- Node.js ≥ 22.13(仅本地开发与构建时需要,pnpm 11 的最低要求)
安装
以下命令均通过 dsh plugin 转发给 profile 目录内的 pnpm。安装后需重启 dsh web 生效(插件的 host 部分在 DSH 启动时加载)。
从 npm 安装(推荐)
dsh plugin --profile web add dsh-outline
从 tarball 安装
无需发布 npm,也不需要任何构建授权。可自行 pnpm pack,或从 GitHub Releases 下载:
pnpm pack # 产出 dsh-outline-<version>.tgz
dsh plugin --profile web add ./dsh-outline-0.1.2.tgz
本地路径安装(开发调试)
dsh plugin --profile web add /path/to/dsh-outline # 或相对路径 ./dsh-outline
link 安装后 client 改动经 pnpm watch 重建即可 HMR 生效;host 半变更需重启 dsh web。
卸载
dsh plugin --profile web remove dsh-outline
使用
- 启动
dsh web,打开任意会话页。 - 鼠标悬停会话页右缘的大纲触发条,即可预览大纲面板。
- 点击触发条或面板右上角的固定按钮,将面板固定常驻;拖动标题栏移动面板位置(拖动即固定)。
- 面板内:点击节点跳转正文;顶部滑块调整展开层级;节点行内提供展开/收起与收藏按钮;支持关键词搜索。
开发
pnpm install # 安装依赖(prepare 会自动构建 lib/)
pnpm build # tsc 类型 + tsdown client bundle
pnpm test # vitest(core 纯逻辑 + DOM 锚点)
pnpm typecheck
| 命令 | 说明 |
|---|---|
pnpm install |
安装依赖(prepare 自动构建 lib/) |
pnpm build |
构建(tsc 类型 + tsdown client bundle) |
pnpm test |
运行 vitest 测试 |
pnpm typecheck |
类型检查 |
pnpm watch |
监听构建,配合本地 link 安装 HMR 调试 |
src/
├── core/ # 纯逻辑:标题解析、大纲树、滚动计算(不依赖 DSH/DOM)
├── client/ # 适配层:会话事件流订阅、面板组件、槽位注册
│ └── panel/ # 大纲面板 React 组件
└── index.ts # host 侧入口
tests/ # vitest 测试(core 纯逻辑 + DOM 锚点)
docs/ # 可行性分析与技术方案
架构纪律见 AGENTS.md:src/core/ 只放纯逻辑,DSH API 调用只出现在适配层与槽位注册代码里。
文档
| 文档 | 内容 |
|---|---|
| docs/feasibility.md | 可行性分析(证据、能力映射、边界) |
| docs/technical-plan.md | 技术方案与分阶段实施计划 |
贡献
欢迎通过 Issue 与 Pull Request 参与贡献。
- 改动
src/core/:运行pnpm test - 改动适配层/面板:运行
pnpm typecheck,并在本地 DSH 实例冒烟验证
社区
使用问题请提交 Issue;社区讨论可前往 LINUX DO。
致谢
- 交互形态移植自 Ophel(浏览器扩展)
- 插件形态遵循 DSH 官方打包与安装约定,参考 DSH-better-sidebar
许可证
链接
同类插件
zhu1090093659/dsh-web-ui★ 1866
DSH Web UI 插件与皮肤合集:任务看板、git 图、右侧面板、远程移动端 UI、桌宠、实时 token 统计与皮肤中心。
ccch1mneyyy/dsh-TUI★ 869
Claude Code 风格全屏终端 UI:像素鲸鱼顶栏、实时工作状态行、思考流式展开。
omdsh-dev/DSH-better-sidebar★ 731
侧边栏完整工作台:内置文件渲染编辑、终端、Git 与子代理,支持三方插件注册新 Tab。
huiliyi37/dsh-tianshu-tui★ 132
DeepSeek Harness 的终端 UI(TUI)。
omdsh-dev/dsh-at-file★ 126
Codex 风格的 `@file` 文件引用,输入框里直接搜索并引用工作区文件。
Nagi-ovo/dsh-visualize★ 82
对话内生成式 UI:模型把交互式 HTML 卡片直接画进会话流,带流式预览与沙箱渲染。