← 返回列表
⚠ 装前注意
一个 DeepSeek Harnessdsh插件,它让内置的对话轮次导轨——即 Codex…
基本兼容但装前注意:未发布到 npm registry,仅可从源码安装 · 最近上游提交 2026/9/20 · 已提供中文文档
DSH 插件:在任意对话记录宽度下保持内置对话轮次栏可见(在窄对话记录中取消隐藏宿主轮次栏)。
综合分
29.8
GitHub 分
29.8
用户评分
—
★ Stars
0
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add KKKKeybird/dsh-turn-rail-persistent未发布到 npm registry,仅可从源码安装,改用 GitHub 源安装
信任档位:已验证本站已于 1 天前真实安装成功
- 是什么
- dsh 原生插件 · ui
- 装得上吗
- 本站已真实安装成功(非静态推断)
- 安全吗
- 本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
- 还在维护吗
- 活跃:最近一次提交在 5 天前
档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →
🟢实装验证通过· 2026/9/25
由本站实装验证器在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/22(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查⚠ 装前注意
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包dsh-turn-rail-persistent(未发布到 npm,仅可源码安装)
✓Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
未发布到 npm registry,仅可从源码安装
验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/22 15:34:17
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
由 DeepSeek 最新模型翻译生成dsh-turn-rail-persistent
一个 DeepSeek Harness(dsh)插件,它让内置的对话轮次导轨——即 Codex 风格的、沿对话记录边缘向下排列的水平标记阶梯——在任意对话记录宽度下都保持可见,而不是让宿主在窄对话记录下将其隐藏。
该插件本身不添加任何 UI:它只是取消隐藏宿主已经提供的导轨,并且不改变其位置、几何形状和行为。
它解决的问题
@deepseek-ai/dsh-client-ui-chat 已经渲染了一个 TurnNavigator:沿对话记录右边缘,每个轮次一个 12px 标记(固定 10px 间距),悬停/聚焦时预览该轮次的提示和已定稿的回复,点击可跳转到——或分页载入历史中的——对应用户输入。
宿主会在窄对话记录下隐藏整条导轨:
@container (width _slot { display: none } }
因此,一旦侧边栏、详情面板或小窗口将对话记录挤压到 900px 以下,导轨就会消失——看起来就像 dsh 从来没有过这个功能。没有任何设置可以控制它,也没有其他插件处理这个问题。
安装
从本仓库安装
dsh plugin --profile add github:KKKKeybird/dsh-turn-rail-persistent
从 npm 安装(发布后)
dsh plugin --profile add dsh-turn-rail-persistent
或者,一旦该插件被列入精选的 awesome-dsh-plugin 注册表,在设置 → 插件市场中一键安装即可。
重启 dsh(桌面应用则重启应用)以挂载插件。无需任何配置。
工作原理
两种机制,不依赖宿主 API:
1. 按结构打标签。 railNavs() 从标记包装元素中找到已渲染的导轨——即类列表中带有 _markPosition CSS 模块局部名的元素,向上追溯到其 ——并为该 nav(data-dsh-turn-rail)及其槽位(data-dsh-turn-rail-slot)打上标签。按结构而非按哈希后的局部名(今天是 eGxaPq_,下次构建后又是别的)进行匹配,使其在宿主重新构建后仍能正常工作。
2. 恢复一条声明。 整个样式表就是 [data-dsh-turn-rail-slot]{ display: block !important; }。!important 声明优先级高于宿主 @container 块中的普通声明,因此导轨在任意宽度下都保持挂载。不触碰任何几何形状:导轨保留宿主的边缘位置、高度区间、阶梯间距和预览截断。
一个 mutation 监听器会在会话切换重建视图后重新打标签,并在已打标签的导轨仍处于挂载状态时跳过其 DOM 扫描(对话记录在每个流式增量时都会发生变更)。
未改变的内容
标记间距、活动/忙碌/未加载状态、悬停预览、轮次分页、滚动跟随,以及导轨自身的“少于两个轮次则不渲染”提前返回(if (items.length 元素无误报,以及干净释放。
- test/host-contract.test.mjs 针对运行机器上安装的宿主 bundle 断言该插件的假设:导轨仍然通过 _slot{display:none} 上的 @container (width=0.1.5-rc.2 =24.0.0。
- 仅宿主的 UI 变更:无面向模型的行为,未注册任何工具,无网络访问,不读取或写入任何文件。
许可证
MIT