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-vscode-workbench

v0.1.8

Published

Explorer, Monaco editor, search and local Git overlay for DSH

Readme

亮点

  • 真正的 VS Code 风格:资源管理器 / 搜索 / 源代码管理三视图 + 活动栏 + Ctrl+Shift+E/F/G 快捷键,沿用熟悉的 VS Code 工作流。
  • 可靠的保存:原子写入 + 版本校验,磁盘文件被外部改动时立即报冲突,绝不静默覆盖。
  • 外部变更可感知:WebSocket 实时监听工作区,脏文件被外部修改会在标签与状态栏标记。
  • 提交图表:泳道式提交图,分支历史一目了然。
  • 按工作区恢复:活动视图、标签、栏宽、面板与目录展开状态随工作区持久化,刷新后继续工作。

功能

资源管理器

懒加载目录树,支持新建文件 / 目录、上传、重命名、删除与刷新。可把本地文件拖到工作区根目录或任一目录;新增文件显示 A,已修改文件显示 M 等 Git 状态。

编辑器

Monaco 多标签编辑,脏状态跟踪,原子保存,版本冲突与外部变更提示。

预览

Markdown 默认渲染,可切换源码与大纲;支持工作区相对链接、图片与常见图片文件预览。

搜索

基于 @vscode/ripgrep 的全文搜索,支持大小写、全词、正则与包含 / 排除规则。

Git

状态分组、暂存、撤销暂存、丢弃、提交、分支切换、内联 / 并排差异与提交图表。

布局

可调节与折叠的左侧视图、可扩展的底部面板与状态栏;设置统一管理主题与栏宽。

DSH 对话

右侧复用官方会话界面,保留消息、编程工具、模型、附件与权限能力。

终端

内置由 node-pty 与 xterm 驱动的本地交互终端。点击左侧活动栏终端图标打开底部面板,支持多终端、重命名、尺寸自适应、ANSI 输出与 Ctrl+C。

状态恢复

按工作区保存活动视图、标签、栏宽与面板状态,刷新后继续工作。

工作台通过官方 sidebar.footer.actionshell.overlay 扩展点挂载,不替换或卸载 ui-layout

截图

2026-08-31 22-52-58.png

安装

dsh plugin --profile web add dsh-vscode-workbench

使用 pnpm 安装时,node-pty 需要执行受限的原生构建脚本。若出现构建许可提示,请在当前 profile 的 pnpm-workspace.yaml 中加入:

allowBuilds:
  node-pty: true

快捷键

| 快捷键 | 操作 | | --- | --- | | Ctrl+Shift+E | 打开资源管理器 | | Ctrl+Shift+F | 打开搜索 | | Ctrl+Shift+G | 打开源代码管理 | | Ctrl+S | 保存当前文件 | | Ctrl+Alt+B | 显示或隐藏 DSH 对话栏 | | Ctrl+\`` | 显示或隐藏终端 | | Ctrl+Shift+`` | 新建终端 |

左侧活动栏的终端按钮会展开终端面板;已打开时再次点击不会关闭它。

安全

Host 只接受当前 DSH 会话工作目录内的相对路径,并阻止目录穿越与符号链接越界。保存使用版本校验与原子替换;Git 与 ripgrep 使用参数数组启动,不拼接 Shell 命令。终端只接受同源 loopback 请求,固定在会话工作目录启动,并移除 API key、token、secret 等敏感环境变量。

开发

pnpm install
pnpm typecheck
pnpm test
pnpm build

需要 Node.js ^22.19 || >=24、pnpm 11.7、系统 Git,以及 node-pty 所需的本机构建环境(预编译产物不可用时)。

许可证

MIT