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

@kkutysllb/dsh-terminal

v1.0.1

Published

dsh-external in-box dsh bundle: embedded terminal panel (node-pty backed multi-tab shells, per-workspace buckets, xterm.js UI) as a bottom dock inside the dsh web page, replacing the retired Electron host terminal-panel.

Readme

@kkutysllb/dsh-terminal

侧边栏嵌入式终端——主界面底部的真实终端(xterm.js + node-pty,VS Code 同款体验):per-workspace 面板桶、RPC(/dsh-terminal/api/rpc + SSE 输出流)、工作区探针与乱序防御、布局让位协议。

自 KCoder 内置包独立发布的 dsh 插件(v1.0.0 起独立版本线)。

真实终端语义(模式平移自 dsh-coding-sidebar 的 pty-deps / pty-manager)

  • 内核级伪终端:node-pty spawn(macOS/Linux 走 forkpty,Windows 走 ConPTY),TERM=xterm-256color + COLORTERM=truecolor——vim/htop/ 配色/交互程序完整可用;
  • 依赖降级:node-pty 懒加载永不抛错;缺失/损坏时插件保持挂载, GET /dsh-terminal/api/deps 返回 cause + 可粘贴修复命令,终端面板 渲染降级卡(复制 + 重试),不再无声失败;
  • spawn-helper 修复:插件激活时幂等补回包管理器剥掉的 macOS prebuilt 助手可执行位(缺失时每个 spawn 都会 posix_spawnp failed);
  • transcript 回放:每标签服务端维护 1MB 环形缓冲;页面刷新/面板重建 后经 snapshot RPC 回放历史,回放在途的新输出由 client 侧 pending 队列保序(不重不漏);restart 清空历史;
  • shell 解析链:POSIX $SHELL → passwd 登录 shell → /bin/bash; Windows DSH_TERMINAL_SHELL → pwsh 探测链(PATH + 已知安装目录)→ powershell.exe;POSIX 以登录 shell 启动(读 profile 文件)。

node-pty 版本契约:^1.1.0,与 DSH core(@deepseek-ai/dsh-subprocess-local) 同 range——同 range 同 integrity 让 pnpm 两侧解析到同一物理包(一份 native 绑定,无漂移)。

安装

dsh plugin install @kkutysllb/dsh-terminal

形态

  • 纯产物直提包:entry.js(cordis 层挂载)+ client.jswindow.__ModuleLoader__.load({id}) 注册,经 /plugins combo 路由拼接执行) + cordis.patch.yml(bundle 层声明)。
  • client 面:是;无原生构建、无 server 依赖安装(如含 server 半则在 entry.js 内实现)。

开发

  • 本仓为开发真源;改动后跑 node scripts/sync-to-dsh-plugins.mjs 同步 dsh-plugins 镜像并提交推送。
  • 本地跑真 pty 集成用例需 node-pty 可解析(开发目录可 ln -sfn ~/.dsh/profiles/web/node_modules/node-pty node_modules/node-pty); 沙箱环境会拦 forkpty/exec(posix_spawnp failed),需在无沙箱终端跑。
  • pnpm smoke(prepack 自动)做契约形态校验;node scripts/create-github-releases.mjs 同步 release/ 到 GitHub Releases。
  • 单测:node tests/run-tests.mjs(依赖层 / shell 链 / transcript 回放 / 桶管理真 pty 用例)。

许可

MIT © dsh-external