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

@ai-eks/dsh-docking-layout

v0.2.0-rc.2

Published

Dockable Session tabs and drag-to-split conversation groups for DeepSeek Harness

Readme

@ai-eks/dsh-docking-layout

English | 中文

这是一个 DeepSeek Harness Web UI 插件,用编辑器式分组组织不限数量的对话 Tab。可以自由拆分;窗格过小时由用户关闭或移动 Tab。

截图

不限数量的对话 Tab

| 双窗格 | 三窗格 | | --- | --- | | 双对话分组 | 三对话分组 |

功能

  • Tab 和分组数量不限,不设置固定的窗格尺寸门槛。
  • 把 Tab 拖到另一分组可直接移动,拖到边缘可拆分;工具栏支持向右或向下拆分。
  • 宽度不超过 760 像素时,一次显示一个全宽分组,并通过分组切换栏导航。
  • 切回单栏模式或其他主面板时隐藏停靠窗格,返回后恢复分组。
  • 关闭 Tab 只改变浏览器布局,不会删除对应的 DSH Session。关闭最后一个 Tab 会打开空白会话;DSH 选中已有空白会话时会复用它。

安装

从 npm 安装:

dsh plugin --profile web add @ai-eks/dsh-docking-layout@latest

从 Git 安装:

dsh plugin --profile web add github:ai-eks/dsh-docking-layout

从本地 checkout 安装:

git clone https://github.com/ai-eks/dsh-docking-layout.git
cd dsh-docking-layout
pnpm install
dsh plugin --profile web add .

卸载插件:

dsh plugin --profile web remove @ai-eks/dsh-docking-layout

在 DSH 侧栏底部启用 Docking Layout。通过分组菜单或 DSH 侧栏打开 Session,再拖动 Tab 或使用拆分按钮调整布局。

性能与限制

iframe 池会保留每个分组的活动 Tab,以及最近使用的 2 个非活动 Tab;被淘汰的 Tab 再次打开时会重新加载。每个共享面板为通过选择器访问过的工作区保留独立 iframe,保留各工作区的原生标签,直到页面刷新。分组和工作区越多,浏览器内存和 DSH Web 连接数越高。

整页共用一个右侧预览栏;切换会话或分组不会切换或重置已打开的文件。任意会话中的文件链接都在此处打开,收起后保留预览内容。“文件”标签将所有工作区列为独立根目录,按需展开,可同时浏览多个项目;切换会话不会改变文件树或已打开的预览。文件树和预览状态在当前页面内保留,刷新页面后重置。通过右栏顶部的工作区选择器,明确选择终端、Git 等会话绑定工具所属的工作区;切换活动会话不会改变此选择,手动切回工作区时恢复其原生标签。已归档 Session 和子 Agent 路由使用原生对话视图;触屏布局使用拆分按钮和分组切换栏,不依赖 Tab 拖拽。

安装 dsh-better-sidebar 后,底部工作台统一放在所有会话分组下方,宽度与会话区域一致。底栏工作区独立于右栏和活动会话;切换工作区或收起底栏时保留终端和标签。点击外层标签栏中右栏按钮旁的底栏按钮打开,拖动顶边调整高度,也可聚焦分隔条后使用方向键调整。全屏和单栏模式下仍保留相同的工作区归属。只有启用该配套插件时才显示底栏入口。

插件只在浏览器本地保存布局偏好,不复制 Session 日志、提示词、审批或文件;所有嵌入页面均为同源页面。插件不会增加模型可见的提示词、工具、消息或 Session 事件。

兼容性

要求 DeepSeek Harness ^0.2.0-rc.2 和 Cordis ^4.0.4。本插件使用的主视图 Session 保留与工作区导航接口在 DSH 0.2 中保持兼容。DSH 0.1.7 请使用插件 0.1.7-rc.1;DSH 0.1.2 请使用插件 0.1.2-rc.1。

共享底栏请使用已声明支持 DSH 0.2 的 [email protected],已核查其底栏集成接口与本插件兼容。使用 DSH 0.2 前,请先升级旧版配套插件。

开发验证

只有外层页面保留开发热更新连接,避免多个嵌入页耗尽 HTTP/1 连接。修改嵌入页内使用的插件后,请刷新页面加载变更。

pnpm install
pnpm typecheck
pnpm test
pnpm build