DeepSHPlugins
dsh-turn-navigator 项目预览
GITHUB / COMMUNITY PROJECT

dsh-turn-navigator

UI 增强TypeScriptBSD-3-Clause

DSH Web 长对话回合导航(私有):跟随对话滚动、悬停预览用户回合、点击跳转;对话少于 3 个用户回合时自动隐藏,支持键盘焦点、深浅主题与 reduced-motion。

2 Starsvibeinging 更新时间 2026-08-12
访问 GitHub 仓库
dsh-turn-navigator 项目预览

项目介绍

中文

DSH Web 长对话回合导航(私有):跟随对话滚动、悬停预览用户回合、点击跳转;对话少于 3 个用户回合时自动隐藏,支持键盘焦点、深浅主题与 reduced-motion。

English

Long-conversation turn navigation for DSH Web (private): follows chat scroll, previews user turns on hover, click to jump; auto-hides below 3 user turns; keyboard-focus, light/dark and reduced-motion aware.

项目信息与收录信号

快照 2026-09-11
作者 / 组织
vibeinging
仓库
vibeinging/dsh-turn-navigator
GitHub Stars
2
Forks
2
开发语言
TypeScript
许可证
BSD-3-Clause
最近推送
2026-08-12
Manifest
数据中检测到声明

公开仓库不自动等于可商用;许可证与当前兼容性以原项目文档为准。Manifest 和数据评分不构成安装安全认证。

数据评分

64/ 100
维护活跃
79
文档与实用信息
85
生态关注度
34
安装便捷信号
100
项目声明信号
100

README 含完整安装与使用说明;标准命令一键安装。

评分来自已有数据快照的五维模型,仅作浏览参考,不是实际使用评测或安全检测结论。

安装与使用

所有项目资料与许可均以对应 GitHub 仓库为准。

dsh plugin add github:vibeinging/dsh-turn-navigator

复制命令不会自动执行。请先阅读仓库文档,确认环境要求与许可证。

项目截图

仓库 README

GitHub 原文

已保存的仓库文档快照;文档抓取时间未记录,可能与上方目录介绍处于不同版本。安装前请核对当前仓库说明。

@deepseek-ai/dsh-turn-navigator

English | 中文

A compact turn navigator for long DSH Web conversations. It follows the conversation scroll, previews a user turn on hover, and jumps to that turn on click. It stays hidden until the conversation contains at least three user turns.

Preview

The compact turn navigator highlighting the fourth turn and showing its hover preview.

It supports keyboard focus, light and dark themes, and reduced-motion preferences. When needed, it loads only enough older history to decide whether the navigator should appear without moving the reader's current position.

Installation

The plugin is private and not published. Its private repository is dsh-external/dsh-turn-navigator, but the repository remains empty until the first reviewed push. Use the local installation path until a reviewed commit is available, then start Web:

dsh plugin --profile web add -w "/path/to/dsh-turn-navigator"
dsh web

After the first reviewed commit is pushed, install that exact private revision with:

dsh plugin --profile web add -w github:dsh-external/dsh-turn-navigator#<reviewed-commit>

The checked-in lib/ output installs without rebuilding. A compatible DSH Web version is required. To remove the plugin:

dsh plugin --profile web remove -w @deepseek-ai/dsh-turn-navigator

Required DSH Web slot

This plugin registers into conversation.chat.navigator; it does not own or render that slot. A compatible DSH Web build must ship the same contract in both the host runtime and the official private client SDK declarations. A plugin-local type augmentation is not a substitute: it could make TypeScript pass while a host that does not render the slot silently shows no navigator.

Add the slot in the owning @deepseek-ai/dsh-client-ui-conversation package at these points:

  1. In the slot contract, declare a session-scoped single slot whose owner supplies anchored older-history loading, and include it in the chat view's PropsRenderSlots union:
export interface TurnNavigatorOwnerProps {
  loadOlder: () => void
}

interface SlotMap {
  'conversation.chat.navigator': {
    kind: 'single'
    scope: 'session'
    owner: TurnNavigatorOwnerProps
  }
}
  1. In the chat view registration, claim the child slot with the same kind and scope:
children: {
  'conversation.chat.navigator': { kind: 'single', scope: 'session' },
}
  1. In the chat view component, render the slot beside the transcript scroll container and pass the callback that preserves the current reading row while older history is prepended:
{renderSlot('conversation.chat.navigator', { loadOlder: loadOlderAnchored })}
  1. Cover declaration and disposal, render dispatch, and anchored older-history loading in the host package tests, then publish a matching private SDK version for @deepseek-ai/dsh-client-ui-conversation and its aligned client peers. A source-only host change does not unblock an external plugin that develops only against official registry packages.

Development and verification

The project .npmrc selects the private @deepseek-ai/* scope; pnpm 11 reads its ${NPM_TOKEN} authentication mapping from the trusted user-level ~/.npmrc. The SDK packages are pinned to the reviewed 0.0.1-rc.2 set. Set NPM_TOKEN, install without lifecycle scripts, then run the checks:

pnpm install --ignore-scripts
pnpm run check

Do not link a DSH source checkout into this directory. Use pnpm run watch beside dsh web --dev for live browser changes. See compat/ for the isolated assembled Web fixture.

Model Experience

None. The plugin only renders existing conversation data in the browser.

KV Cache effect

None.

Known Limitations and Deferred Work

  • The private 0.0.1-rc.2 SDK does not yet declare the required conversation.chat.navigator slot, so the full development check remains blocked until a matching official SDK release. Do not add a local type shim; the installation target must provide the real slot.
  • Only loaded history receives markers; earlier turns appear after older history is loaded.
  • Previews show text only.

使用前核对

安装步骤、兼容版本与授权范围以原项目当前文档为准。Stars 和评分是快照中的导航信号。

安装与排错 · 项目问题反馈

同类项目