Skip to content
dsh.fish
Bundle

dsh-conversation-nav

DSH Web UI plugin: a maid-atelier friendly right-side question rail that lists every user message in the current conversation, previews it on hover, and smooth-scrolls to it on click.

Source
Fiker1203
License
MIT
Updated
Updated 15 hours ago

Readme

# dsh-conversation-nav · 对话问题导航

**DSH Web UI 插件:在对话右侧生成一条「问题导航」竖条,悬停可预览用户提问内容,点击平滑跳转到对应消息,并适配女仆主题(maid-atelier)。**

如果你用 DeepSeek Harness 进行长对话,经常需要在几十轮提问里来回翻找某个问题,这个插件就是为你准备的。它把当前会话中的每一条**用户提问**变成一个右侧的序号标记:

- 平时只占右侧一条很窄的竖条,不遮挡聊天区
- 鼠标悬停到序号上,展开一张小卡片预览该条提问内容
- 点击序号,平滑滚动到对应消息并短暂高亮
- 页面滚动时自动高亮当前正在浏览的问题

## 功能

- 自动识别当前会话中的每条用户消息(`[data-chat-flow-kind="user"]`)
- 右侧竖向问题导航,序号清晰,窄条不遮挡内容
- 悬停 / 键盘聚焦展开预览卡片,显示「第 N 问」和提问文本
- 点击平滑滚动到目标消息,并闪烁高亮
- 滚动时自动高亮当前问题
- 响应 React 动态渲染:加载更早消息、切换会话、虚拟滚动时自动更新
- 兼容 DSH 聊天区「贴底滚动」逻辑:在对话最底部点击也能正常跳转
- 女仆主题适配:
  - 浅色模式:象牙白 / 海军蓝 / 金色描边
  - 深色模式(`data-ds-dark-theme`):深海夜蓝 / 香槟金
  - 未启用女仆主题时自动回退到 DSH 官方设计变量

## 安装

```sh
dsh plugin --profile web add github:Fiker1203/dsh-conversation-nav
```

安装后重启 Web UI,并硬刷新浏览器(Ctrl+Shift+R)。

本地路径安装:

```sh
dsh plugin --profile web add C:/path/to/dsh-conversation-nav
```

## 卸载

```sh
dsh plugin --profile web remove dsh-conversation-nav
```

## 使用

打开一个有多条用户提问的会话,右侧会自动出现竖排问题导航:

- **悬停**序号 → 展开预览卡片,查看该问题内容
- **点击**序号 → 平滑滚动到该问题并高亮
- 向上/向下滚动对话 → 导航条自动高亮当前所在问题

## 结构

```
dsh-conversation-nav/
├─ package.json        # dsh.bundle + dsh.client 声明
├─ cordis.patch.yml    # 仅插入 conversation-nav 条目
├─ index.js            # host:无主机行为(浏览器专用插件)
├─ client.js           # browser:注入右侧问题导航 UI + 跳转/预览
└─ README.md
```

## 原理与维护

- 插件只读取页面 DOM,不发送任何数据。
- 用户消息选择器定义在 `client.js` 开头的 `USER_NODE_SELECTOR`。
- 如果 DSH 改版导致用户消息的 DOM 标记变化,更新该选择器即可。

## License

MIT

Install

dsh plugin --profile web add github:Fiker1203/dsh-conversation-nav

Profile: web

  • This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.
Source