npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

dsh-turnbar

v0.3.0

Published

A progress bar for your agent conversations — in-session turn navigation with hover previews, context fuel gauge, chapters, trajectory jump and ⌘K search for DeepSeek Harness

Readme

dsh-turnbar

English | 简体中文

给你的 agent 会话装上一条视频进度条。

长会话用起来很爽,直到你想找回"80 轮之前提过的那条要求"。这时候原生滚动条只会让你瞎猜。 dsh-turnbar 给 DeepSeek Harness 的对话区加了一条视频播放器式的进度条:悬停就能预览任何一轮、 按住拖动扫过全部轮次、点一下直接跳过去、Esc 一键回到原位。

悬停预览

安装

三条路,任选其一:

① 插件市场(最省事):dsh 里打开 dshmarket 市场,搜「turnbar」一键安装(市场收录申请中,收录前用下面的方式)。

② 命令行:打开 Mac 的「终端」App(Terminal.app),粘贴:

dsh plugin --profile web add dsh-turnbar

注意:这条命令要在终端 App 里运行,不是在 dsh 的聊天框里。如果你的终端不认识 dsh 这个命令(输入 dsh --version 提示 command not found,说明 dsh 不是全局安装的, 比如你一直用桌面版或让 AI 帮你启动),先跑:

npm install -g @deepseek-ai/dsh

③ 让 AI 帮你装:直接对你的 AI 说"帮我装 dsh-turnbar",它会执行上面的命令—— 和你之前装其他插件的方式一样。

装完重启 dsh 生效。零配置,历史会话自动回填,进度条永远显示完整会话。

跳转高亮

功能

  • 🎚 全景进度条:每轮一段,阅读位置用段高亮实时标出来;超过 150 轮自动聚合成 ≤40 组,条永远不会糊成一片。
  • 🖼 悬停预览卡:跳之前先知道"这轮讲了什么"——首句、工具调用数、改过的文件、 token 用量、轮内补充消息,悬停一下全都有。被终止的空轮会置灰,卡片上注明 「该轮已终止,无对话内容」,不装懂。
  • 🔎 会话内搜索:进度条右端的放大镜按钮或 ⌘K 都能唤起。搜你说过的,也搜 agent 说过的,覆盖整个会话(包括没加载出来的历史);结果带计数,↑↓ 选择时自动滚进 视野,回车直接落到进度条上。
  • 点击 / 拖动跳转:点一下 ≤300ms 落地并高亮;按住拖就像拖视频进度一样扫过各轮。 目标轮还没加载时会自动翻页直到找到为止。
  • ⌨️ ⌘↑ / ⌘↓:从你正在读的位置逐轮上下走,空轮自动跳过。
  • Esc 返回原位:每次跳转后按 Esc(或点左下角提示条)精确回到跳转前的位置。
  • 🧩 优雅降级:哪天 dsh 改了 API 不兼容,插件会自己藏起来,绝不让你的会话崩掉。

为什么还要再做一个导航插件?

dsh 发布头四天里涌进来 9 个导航插件,但清一色是"导航轨 / 抽屉 / 点链":给你一串 用户消息让你点。dsh-turnbar 是唯一做成播放器形态的:

| | dsh-turnbar | dsh-navbar | dsh-chat-timeline | dsh-message-navigator | dsh-conversation-outline | |---|---|---|---|---|---| | 形态 | 常驻全景进度条 | 滑动窗口点链 | 官网导航轨复刻(右侧细轨) | 大纲抽屉 | 侧栏大纲 tab | | 全会话地图(超出已加载窗口) | ✅ 事件日志 | ❌ | ❌ | ❌ | ❌ | | 拖动 scrub | ✅ | ❌ | ❌ | ❌ | ❌ | | 富元信息悬停卡(工具/文件/token) | ✅ | ❌ | ❌ | ❌ | ❌ | | Esc 返回原位 | ✅ | ❌ | ❌ | ❌ | ❌ | | 会话内搜索 | ✅ 全文(用户+助手) | ❌ | ❌ | 仅用户消息 | ❌ | | 独立安装 | ✅ | ✅ | ✅ | ✅ | 依赖 better-sidebar |

它们都是 MIT 协议、各有各的好——dsh-turnbar 只是在"手感"上走得更远:它是播放器,不是列表。 想搭配使用的话见下面。

互补插件

  • dsh-rewind —— 把会话回滚到更早的轮次(先跳过去看,再决定回滚)。
  • dsh-turn-fold —— 折叠工具调用风暴;它的轮次统计头和我们的预览卡正好互补。

致谢

这个插件踩在别人验证过的路上,特此感谢:

  • @vllndsh-navbar —— 悬停预览与点击跳转的 DOM 交互范式、wheel+scrollTop 跳转配方,都是从他那里验证来的;
  • @YesSanSandsh-conversation-outline —— host↔client 同源 JSON 数据桥的正路示范,以及那份非常实用的 PLUGIN_DEV_NOTES.md
  • DeepSeek Harness 团队 —— 官方插槽、session 事件流与持久化 API,让这个插件可以全程走正路,零 patch。

兼容性

已在 dsh 0.1.0-rc.5 / 0.1.0-rc.6(web profile)实测。挂在官方 conversation.composer.dock 插槽上,无 patch、无 UI hack。

和其他占用同一 composer.dock 插槽的插件(dsh-web-ui-all 及其内含的 dsh-live-stats / dsh-aionui-panel)可以同槽共存:内置的共存 CSS 层 (v0.2.2+)把 dock 强制成可换行的行排,进度条永远独占自己一整行,官方统计行仍 靠在任意第三方条目旁边,进度条绝不被挤扁。单轮会话现在也显示一条 1 段进度条 (只有全新的 0 轮会话保持隐藏)。

Roadmap

  • v1.0:章节自动分段(任务边界)、书签、token/上下文余量仪表

开发

pnpm install
pnpm test        # vitest:fold 逻辑、卡片模型、host 半区降级
pnpm build       # tsdown:lib/index.mjs(node 半区)+ lib/client.js(web 半区)

架构:双半区插件——node 半区把 session/event firehose 折叠成轮次记录(sidecar 持久化), 经 /plugins/dsh-turnbar/state 提供给浏览器;web 半区把进度条渲染进官方 composer dock 插槽。 所有 dsh API 接触面收敛在 src/platform/dsh/

License

MIT。