Skip to content
dsh.fish
Bundle

@dsh-external/dsh-question-locator

DSH Web 插件:在会话中列出我的问题并点击定位

Source
M2-Z
stars
1 stars
License
BSD-3-Clause
Updated
Updated 7 days ago

Readme

# dsh-question-locator

[![license](https://img.shields.io/badge/license-BSD--3--Clause-blue.svg)](./LICENSE)

DeepSeek Harness(DSH)Web GUI 插件:在当前会话中列出“我的问题”,点击即可定位到聊天正文并高亮。

## 功能

- 会话页右侧出现一个“问”字浮层按钮
- 点击后打开“我的问题”面板,列出当前会话中所有 `user` / `steering` 消息
- 点击任意问题,聊天区自动滚动到该消息并短暂高亮
- 会话切换时自动跟随当前会话,消息流式/历史加载时列表实时刷新

## 环境要求

- [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness)(DSH)Web GUI
- Node.js ≥ 20(仅本地构建时需要;安装运行不需要)

## 安装

以下命令均通过 `npx @deepseek-ai/dsh plugin` 转发给 profile 目录内的包管理器。安装后**重启 `npx @deepseek-ai/dsh web`** 生效(host 部分在 DSH 启动时加载)。

### 从 GitHub 仓库安装(当前推荐)

```sh
git clone https://github.com/M2-Z/dsh-question-locator.git
npx @deepseek-ai/dsh plugin --profile web add ./dsh-question-locator
```

> Windows 下如果 clone 到 `D:\...`,也可直接使用绝对路径:
> ```sh
> npx @deepseek-ai/dsh plugin --profile web add D:\path\to\dsh-question-locator
> ```

### 从 GitHub Releases 下载 tarball 安装

等仓库发布 Release 后,下载 `dsh-question-locator-<version>.tgz`:

```sh
npx @deepseek-ai/dsh plugin --profile web add ./dsh-question-locator-0.0.1.tgz
```

### 从 npm 安装(发布后可用)

```sh
npx @deepseek-ai/dsh plugin --profile web add dsh-question-locator
```

### 卸载

```sh
npx @deepseek-ai/dsh plugin --profile web remove dsh-question-locator
```

## 使用

1. 启动 `npx @deepseek-ai/dsh web`,打开任意会话页。
2. 会话页右侧会出现“问”字浮层按钮。
3. 点击按钮打开“我的问题”面板。
4. 点击任意问题,聊天区会自动滚动定位到该消息并高亮。

## 开发

```sh
pnpm install
pnpm exec tsc -p tsconfig.json
pnpm exec tsdown
```

## 技术要点

- host 侧为空,纯浏览器端 UI 功能
- 数据源:`ctx.sessions` 的会话列表 + `ConversationSnapshot`
- UI 槽位:`shell.overlay`(additive 浮层,不替换现有界面)
- 定位:按 `data-chat-flow-kind="user|steering"` 顺序匹配 DOM 行,并手动滚动到聊天滚动容器

## License

[BSD-3-Clause](./LICENSE)

Install

dsh plugin --profile web add github:M2-Z/dsh-question-locator

Profile: web

  • This package builds from source on install. pnpm will ask you to allow its build script — that is permission to run the package’s code on your machine, outside the agent sandbox. Only allow sources you trust.
  • This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.
Source