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-client-ui-timeline

v0.1.0

Published

DSH Web GUI 会话问题导航条:聊天区左缘一问一杠,随滚动高亮当前问题、悬停显示问答预览气泡、点击把该问平滑滚到视口顶(未渲染的更早历史自动翻页加载),无需改动 dsh 本体源码

Readme

dsh-client-ui-timeline — DSH 会话问题导航条(对标 ZCode TurnNavigator)

给 DSH Web GUI 复刻 ZCode 桌面端的「对话问题导航」:

聊天区左缘一列小横杠——一问一杠(含会话中的 steering 追问),窗口够宽时常驻:

  • 随滚动:当前所在问题的杠高亮拉长(2.6×),相邻两根也按距离渐变拉伸,运行中的最后一问常亮;导航条自动滚动跟随当前杠。
  • 悬停某根杠:右侧弹出该轮问答预览气泡(用户问题 2 行加粗 + 助手回复 3 行,≤2 段、220 字截断;无正文显示「暂无助手正文」,回合运行中显示「助手仍在工作」)。
  • 点击:该问题的消息行平滑滚动到视口顶部(prefers-reduced-motion 时瞬时);目标行未渲染时自动 loadOlder 翻页(上限 80 页)后再跳。
  • 少于 2 问不显示;会话宽度 < 640px 隐藏(ZCode 原版阈值 864px,此处放宽)。

English README


安装

在 DSH 的 profile(如 desktop)里,编辑 profiles/<name>/package.json

  1. dependencies 加(<commit hash> 换成仓库里你想固定的那次提交的完整 40 位 hash):
"dsh-client-ui-timeline": "github:hhb1028/dsh-client-ui-timeline#<commit hash>"
  1. dsh.profile.bundles 数组加 "dsh-client-ui-timeline"
  2. profiles/<name> 目录下执行 pnpm install
  3. 重启 DSH。

包自带 cordis.patch.yml(insert id ui-timeline-scrubber),经 dsh.bundle.patch 自动生效;在 profile 的 cordis.patch.yml 重复 insert 同 id(Loader 会抛 duplicate loader entry id,vision-toolkit/meow-smooth 同款坑)。

兼容性

  • 针对 DSH Desktop 2.0.2@deepseek-ai/* 0.1.1-rc.2)开发。
  • 依赖会话 chat 节点形状与 [data-conversation-scroll] / [data-chat-flow-key] 的 DOM 契约。
  • DSH 大版本更新可能改变上述形状/契约导致失效;失效时功能静默隐藏,不影响 DSH 本体。

卸载

profiles/<name>/package.json 删掉依赖与 bundles 条目,pnpm install,重启 DSH。

实现说明(对照 ZCode 原版)

  • 原版:out/renderer 的 TurnNavigator 组件(chat.turnNavigator.* i18n),挂在虚拟化会话列表旁,onJumpToQuerydata-row-id 行滚到视口顶、行未挂载时 scrollToIndex + 12 帧 rAF 轮询。
  • 本插件:DSH 会话无虚拟化,全部行在 DOM——坐标直接量 [data-chat-flow-key] 行的 getBoundingClientRect;数据链 sessions.list.currentscope(id)(ctx 代理)→ sessionOf(ctx)getSnapshot().chat.{order,nodes,timeline};一问一杠从 kind:user/steering 节点生成,回复预览取该回合首个有正文的 assistant-step
  • 视觉规格照抄原版:10px/杠、杠 12×2px 圆角、scaleX 距离渐变(2.6/1.7/1.25)、气泡 w-320 右偏 8px、line-clamp 2/3、220 字截断、left-3 top-1/2 导轨、隐藏滚动条;颜色换用 DSH 的 --dsw-alias-* 变量跟随主题/皮肤。
  • 纯浏览器半区(window.__ModuleLoader__ 模块,id 必须等于包名),零构建、不碰 dsh 本体;host 半区为惰性空插件。所有宿主访问有防御:上游形状变化时功能静默隐藏,不卡 web boot。

许可证

MIT