dshbase

插件目录 / Developer / dsh-chat-rail

dsh-chat-rail

未验证 Max-Null

✓ 持续维护 2 位贡献者 基于 2 个官方 DSH 包

查看 GitHub ↗ ← 返回插件目录

1Stars
0Forks
0未关闭 issue
语言
2026-08-21最近推送
跨平台平台

功能简介

画卷式消息导航栏:右侧竖条 hover 展开画卷,scroll-spy 高亮居中跟随,与 better-sidebar 双面板动画同步避让

我们的评价
未验证 — 尚未实测

画卷式消息导航栏:右侧竖条 hover 展开画卷,scroll-spy 高亮居中跟随,与 better-sidebar 双面板动画同步避让 尚未验证——请自行安装测试。

「未验证」表示我们的自动化 CI 尚未安装过该插件。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。

你是插件作者? 想拿到「已验证」标签——提交你自己的验证证据(截图、日志或短视频),我们审核通过后即改为「已验证」。

提交验证证据 ↗

README

@max-null/dsh-chat-rail

本插件属于 @max-null/* 插件系列——这一系列共同构成 SSID(思灵 · Seek Soul in Darkness) 桌面体验。SSID 是整合它们的盒:dsh-capture · dsh-chat-rail · dsh-chinese-thinking · dsh-draft-polish · dsh-guardian · dsh-habit · dsh-header-unify · dsh-memory · dsh-node-appearance · dsh-plugin-center · dsh-skill-mcp-center · dsh-ssid-panels · dsh-ssid-zh-ui

This plugin belongs to the @max-null/* family — a set of plugins that together form the SSID (思灵 · Seek Soul in Darkness) desktop experience.

面向 DeepSeek Harness画卷式消息导航栏:会话面板右侧的一条竖排导航,每条用户消息一个指示点,scroll-spy 跟随阅读位置,hover 展开画卷查看消息列表,点击跳转任意历史消息。

不同于市面上"面板弹出式"的导航插件,dsh-chat-rail 采用画卷式展开:收起时是一条干净的竖条,hover 时从右往左平滑展开,像打开画卷一样。

截图

展开态(画卷 + 消息预览 tip) 收起态(与 better-sidebar 共存)
rail-1 rail-2

为什么比市面上的导航栏优秀

市面上的会话导航插件(chat-timeline / milestone / msg-nav / turn-rail…)大多只做"指示条 + 点击跳转",在真实使用中有一堆体验问题。dsh-chat-rail 针对每一个问题给出了答案:

能力 市面同类 dsh-chat-rail
与侧边栏/底栏共存 ❌ 展开时与 better-sidebar 错位、遮挡 跟随 CSS 变量动画同步避让--dsh-sidebar-width / --dsh-sidebar-height,与面板共享同一 transition,右栏/底栏展开收起时导航无缝跟随,互不遮挡
展开形态 ❌ 面板突兀弹出,高度错位 画卷式展开:单容器从右往左平滑展开,高度天然一致
阅读位置跟随 高亮点会跑出显示区 导航条自动滚动,高亮点持续居中:无论会话滚到哪里,当前消息的指示点始终在导航可视区中央
切换会话定位 回到顶部 ✅ 自动定位到新会话当前阅读位置
消息预览 浏览器原生 title(与悬停双重提示) 自绘 tip 面板:完整内容、动画结束后精准定位、无原生 title 干扰
消息信息 只有预览文本 编号 + 相对时间 + 文本三列对齐:编号固定宽、时间靠右,文本区域最大化且整齐
长会话跳转 干等卡死 加载反馈:跳转远距离消息时显示 spinner + "加载中",收起态只留图标
主题适配 部分 ✅ 全部使用 DSH 主题变量(--dsw-alias-*),浅深色无缝适配
无侧边栏兜底 ❌ 依赖特定插件 ✅ 纯 DSH 环境开箱即用,固定右缘 + 垂直居中

兼容性(重点)

  • 与 dsh-better-sidebar 深度兼容:导航栏的右缘和垂直位置跟随 better-sidebar 的 --dsh-sidebar-width / --dsh-sidebar-height CSS 变量,右栏和底栏展开/收起时导航与面板共享同一段 transition 动画同步移动,永不错位、永不遮挡(包括底栏右上角的收起按钮)。
  • 无 better-sidebar 也能用:变量缺失时走 CSS fallback(右缘 12px + 垂直居中),纯 DSH 环境开箱即用。
  • 需要 DSH ≥ 0.1.0-rc.6

安装

dsh plugin --profile <name> add @max-null/dsh-chat-rail

或手动加入 profile 的 package.json dependencies + dsh.profile.bundles

- id: chat-rail
  name: '@max-null/dsh-chat-rail'

交互

  • hover 导航条:画卷展开,显示编号 / 相对时间 / 消息预览
  • hover 消息项:左侧弹出完整内容 tip 面板(含图消息在文本上方显示图片缩略图)
  • 点击消息项:跳转到会话中对应消息(未加载的历史自动翻页补载)
  • 滚动会话:高亮点跟随,导航条自动滚动保持居中
  • 含图消息:展开态显示柔和图片角标(收起态不显示,保持竖条干净)

架构

  • host 半端lib/index.mjs):注册 chatRail 会话投影——从 session log 折叠用户消息锚点 { seq, time, text, id }(排除插件/工具注入的上下文行)
  • client 半端lib/client.js):conversation.input.dock 槽注入,portal 渲染到 body
  • 数据源优先序:chatRail 投影 → 已加载聊天节点 → 后台 loadOlder 循环

SSID 系列

开发

pnpm install
pnpm typecheck   # tsc 严格类型检查
pnpm build       # 产出 lib/

License

MIT

安装

🧩 让 Agent 自动装(推荐)

装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:

dsh plugin add dshbase-catalog

然后对 agent 说「帮我装 dsh-chat-rail」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包

该插件是 GitHub 源码(未发 npm)——直接从仓库装:

Web profile:

dsh plugin --profile web add github:Max-Null/dsh-chat-rail

Headless(CLI)profile:

dsh plugin --profile headless add github:Max-Null/dsh-chat-rail

实测报告

尚未 L3 验证——若已跑过,见下方失败备注。

状态:pending · 最近测试 2026-08-26
备注:验证: runtime-fail 浏览全部待验证失败 →
安全:尚未扫描——我们的每日静态扫描将很快覆盖它。

分享徽章

Developer 里更多

浏览全部 7789 个插件 →