Back to home@0w0miki

dsh-question-rail

给Deepseek Harness滚动条加上提问节点

Stars
0
Language
TypeScript
Created
Aug 23, 2026
Updated
Aug 24, 2026

Introduction

dsh-question-rail

会话提问索引条(Question Rail)—— 一个与聊天垂直滚动条结合的浮动标记条,用于 DeepSeek Harness Web 界面。

当前会话的聊天滚动容器右缘显示一条细长的竖条(形似垂直滚动条):

  • 提问标记线:当前已加载的每次用户提问对应一条标记线,位置按该提问在对话内容中的真实位置分布(与滚动条同坐标系),点击即可跳转到那次提问
  • 视口滑块(thumb):半透明蓝色滑块实时指示当前浏览位置与范围,可按住拖动快速滚动,滚轮在竖条上滚动同样生效
  • 加载更早:当存在更早未加载的历史时,竖条顶部显示 提示条,点击滚到顶部触发 "Load earlier";加载后新标记线自动出现并定位
  • 悬停预览:鼠标悬停标记线时浮出该提问文本

Install

本地目录(开发)

dsh plugin --profile web add "file:/path/to/dsh-question-rail"

dsh plugin add 只把包装进 profile 的依赖(普通依赖,非 bundle 层)。要在 web 界面加载它,还需在 profile 的 cordis.patch.yml 中挂载一个 row(与现有 dsh-gh-update 同构):

- insert:
    - id: question-rail
      name: "dsh-question-rail"
      config: {}

然后重启 dsh web(patch 在启动时组合,运行中的服务器不会热加载新 row)。

GitHub 仓库

dsh plugin --profile web add "github:0w0miki/dsh-question-rail"

然后同样在 cordis.patch.yml 挂载上述条目并重启。

Development

./build.sh

build.sh 依次执行类型检查、浏览器半部打包(lib/client.js__ModuleLoader__ 格式)、node 半部编译与类型声明。

构建工具链(tsctsdown)从 PATH 解析;@deepseek-ai/* 是未发布到 npm 的私有包,需在其可解析的环境(如 DeepSeek Harness 仓库的开发环境)中构建,或通过 HARNESS_ROOT 环境变量指定工具链所在目录:

HARNESS_ROOT=/path/to/deepseek-harness ./build.sh

License

MIT