dsh-turn-navigator
DSH Web turn navigation plugin.
dsh-external
@dsh-external
⬇ 2
★ 1
main
安装
dsh plugin --profile web add github:dsh-external/dsh-turn-navigator
需要可复现安装时,可在仓库后追加 #commit 固定提交。
DSH Web turn navigation plugin.
该插件未提供要点说明,请参考仓库 README。
dshdsh-plugin
- 安装并启动 DeepSeek Harness:
npx @deepseek-ai/dsh web - 在终端执行上面的安装命令(CLI 会解析插件并核验来源)
- 用 dsh plugins list 确认已安装,必要时重启 Harness 生效
插件以当前 dsh 进程的权限运行,安装时可能执行代码。请先通读仓库源码与许可证,确认无破坏性命令与越权访问;本站只做索引,不对第三方插件安全性作担保。
| 代码仓库 | github.com/dsh-external/dsh-turn-navigator |
| 许可证 | BSD-3-Clause |
| 主要语言 | main |
| 下载量 | 2 |
| GitHub 星标 | 1 |
| 最近推送 | 2026-08-12 |
| 收录日期 | 2026-09-19 |
| 分类 | 工具与能力 |
事实信息来自公开插件目录快照(2026-10-01),介绍文案由本站再加工。
以下为插件仓库 README 全文(原始内容,由公开目录抓取整理)。
# @deepseek-ai/dsh-turn-navigator
English | [中文](README.zh.md)
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

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:
```sh
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:
```sh
dsh plugin --profile web add -w github:dsh-external/dsh-turn-navigator#
```
The checked-in `lib/` output installs without rebuilding. A compatible DSH Web version is required. To remove the plugin:
```sh
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:
```ts
export interface TurnNavigatorOwnerProps {
loadOlder: () => void
}
interface SlotMap {
'conversation.chat.navigator': {
kind: 'single'
scope: 'session'
owner: TurnNavigatorOwnerProps
}
}
```
2. In the chat view registration, claim the child slot with the same kind and scope:
```ts
children: {
'conversation.chat.navigator': { kind: 'single', scope: 'session' },
}
```
3. 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:
```tsx
{renderSlot('conversation.chat.navigator', { loadOlder: loadOlderAnchored })}
```
4. 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:
```sh
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/`](compat/README.md) 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](#required-dsh-web-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.
数据来源:公开的 DeepSeek Harness 插件目录与各插件 GitHub 仓库。本站为独立第三方目录,与 DeepSeek、幻方(High-Flyer)及插件作者均无隶属或背书关系。