前言¶
用 DeepSeek Harness(DSH)做智能体开发时,Web 端的会话往往会越聊越长。想回到前面某一轮对话,只能靠滚动条一点点往上翻,turn 一多,定位就很费时间。
DSH 的理念是「一切皆插件」,客户端 UI 的这类问题同样可以交给插件解决。下面介绍的 dsh-turn-rail 就是这样一个客户端插件:它在页面右缘加一条对话时间轴,样式模仿 DeepSeek 官网聊天页,用来在长会话中定位和跳转历史 turn。
这是什么¶
dsh-turn-rail 由 Luoji-Yuli 维护,仓库为 luoji-yuli/dsh-turn-rail,当前版本 0.3.0,许可证为 MIT,属于客户端类插件。它解决的问题很具体:长会话里快速找到历史 turn,而不用手动滚动。
核心功能¶
- 折叠态导航栏:页面右缘一条 34px 的导航栏,每个用户 turn 对应一个灰色小标记,当前 turn 显示为蓝色并拉伸;
- 展开面板:悬停或键盘聚焦时展开为 240px 的浮动面板,每条用户消息一行;
- scrollspy:滚动时保持活动标记同步;
- 历史自动加载:打开会话时自动翻页加载更早历史,所有历史 turn 无需手动滚动即可出现在导航栏;
- 毛玻璃背景可选:毛玻璃圆角背景为可选开关,默认关闭,亮/暗主题均支持;
- 免构建:仓库内置预编译的
lib/client.js,常规安装无需构建步骤。
安装与启用¶
前置条件:已安装并运行 DeepSeek Harness Web(npx @deepseek-ai/dsh web 或 pnpm dsh web),且 dsh 与 pnpm 都在 PATH 中。
先执行安装命令:
dsh plugin --profile web add github:Luoji-Yuli/dsh-turn-rail
安装成功会输出 + @deepseek-ai/dsh-turn-rail ...。如果执行时 dsh web 正在运行,需要重启并刷新页面。
再启动并验证:
dsh web
打开 http://127.0.0.1:3080,用 Ctrl + F5 强制刷新,然后打开一个包含至少 2 条用户消息的会话,导航栏会出现在页面右缘。注意:会话至少要包含 2 条用户消息,导航栏才会显示。
典型用法¶
开启毛玻璃背景¶
毛玻璃圆角背景默认关闭,需要在设置中手动开启:
- 打开 DeepSeek Harness Web,进入 Settings → General;
- 找到 Turn rail frosted background 一行;
- 打开开关,亮色和暗色主题下都会显示毛玻璃圆角背景;关闭后两种主题下都只显示标记,不带背景。
本地目录安装(开发场景)¶
dsh plugin --profile web add link:./dsh-turn-rail
从源码构建¶
常规安装不需要构建,但如果你想修改 src/ 下的源码,先把改动镜像到 deepseek-harness monorepo 的 packages/client/ui-turn-rail/ 目录,然后运行:
pnpm install
pnpm --filter @deepseek-ai/dsh-turn-rail run bundle
构建完成后,把新生成的 lib/client.js 提交回本仓库。
卸载¶
dsh plugin --profile web remove @deepseek-ai/dsh-turn-rail
适用场景与注意事项¶
适合经常在 DSH Web 里进行长会话、需要来回查看历史 turn 的开发者,也适合希望客户端界面贴近 DeepSeek 官网样式的人。
使用前有几点需要留意:
- 插件以当前 dsh 进程的权限运行,安装前建议先检查源码与许可证(本项目为 MIT);
- 会话至少包含 2 条用户消息,导航栏才会显示;
- 毛玻璃背景默认关闭,需要手动开启;
- 安装时如果
dsh web正在运行,装完要重启并刷新页面。
小结¶
dsh-turn-rail 做的事情不复杂,但切中的是长会话里高频的痛点:快速定位历史 turn。一条命令安装,打开会话即可使用。经过上面的步骤,你可以在自己的 DSH Web 环境里直接验证效果。
- GitHub:https://github.com/Luoji-Yuli/dsh-turn-rail
- 社区目录:https://www.skillhub.cn/plugins/Luoji-Yuli/dsh-turn-rail
需要说明的是,上述目录为社区维护的独立站点,与 DeepSeek、幻方无官方从属关系。