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

@ttmouse/dsh-chat-history

v0.1.0

Published

ChatGPT-style conversation-history rail for the DeepSeek Harness web GUI: a strip of bars at the transcript's right edge with a hover panel listing every user message, click-to-jump and scroll-synced highlighting.

Readme

dsh-chat-history

English | 中文

用于 DeepSeek Harness Web GUI 的 ChatGPT 风格对话历史侧边栏。对话记录右边缘有一竖条横线指示器,每条用户消息对应一根横线;悬停弹出浮层列出所有用户消息,点击某行即滚动到该消息。活跃横线跟随滚动位置,浮层打开后暂停跟随(点击锁定)。

功能

  • 横线导航:对话记录右边缘每条用户消息一根横线,会话至少包含两条用户消息时始终可见。
  • 悬停浮层:列出全部用户消息(序号 + 单行预览),点击跳转。
  • 滚动同步:活跃横线指向滚动容器顶部边缘处或以下的第一条用户消息;跳转后高亮锁定。
  • 点击锁定:浮层打开期间自动同步暂停,关闭后恢复跟随。
  • 按条跳转:直接按下侧边栏跳到最近横线,横线之间的空隙也能导航。
  • 数据完全来自会话聊天快照(user/steering 节点),样式只使用设计令牌。

依赖要求

  • 需要 DeepSeek Harness 的 web profile(GUI)。侧边栏注册到 conversation.session.header.actions 槽位——这是已发布 @deepseek-ai/dsh-client-ui-conversation 长期提供的会话头部动作槽位,任何已发布版本的 ui-conversation 都能挂载,不依赖任何上游新槽位。侧边栏本身以 position: fixed 渲染在对话滚动容器上,不占用头部布局。

安装

在运行 GUI 的 profile(如 ~/.dsh/profiles/web)中添加该 bundle 并安装:

# 在 profile 目录,从 npm registry 安装
pnpm add @ttmouse/dsh-chat-history

或作为 GitHub 源依赖:

pnpm add @ttmouse/dsh-chat-history@github:ttmouse/dsh-chat-history

或使用 dsh 插件通道(可用后):

dsh plugin --profile web add @ttmouse/dsh-chat-history

然后把 bundle 加入 dsh.profile.bundles(dsh plugin add 流程会自动完成):

{
  "dsh": {
    "profile": {
      "bundles": ["@deepseek-ai/dsh-base", "@deepseek-ai/dsh-web-app", "@ttmouse/dsh-chat-history"]
    }
  }
}

重启 dsh web 并刷新浏览器。侧边栏出现在活跃对话的右边缘。

开发

pnpm install
pnpm build     # tsc(lib/types + node half)+ tsdown(lib/client.js 浏览器 bundle)
pnpm test      # vitest,jsdom

浏览器 bundle 是 window.__ModuleLoader__.load 握手产物,CSS Modules 以内联 <style> 注入;外部依赖(react、@deepseek-ai/dsh-client-runtime/client 等)通过 DSH loader 模块表解析。

License

MIT