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

@gestaltrun/dsh-client-ui-skill-explorer

v0.3.21-gestaltrun.0

Published

DSH skill center: browse loaded skills by source (bundled / project / user / custom / runtime), enable or disable, create and delete, in a web GUI panel.

Readme

@gestaltrun/dsh-client-ui-skill-explorer

English | 中文

DSH Web GUI 的技能中心:按来源分级浏览已加载的全部 skill,启用/禁用模型 调用,创建新技能,删除技能(移入可恢复的回收站)。

功能

  • 侧边栏「技能中心」入口,打开面板含两个 tab。
  • 技能 tab:按来源分级展示(系统内置 / 项目 .dsh/skills / 项目 .agents/skills / 自定义目录 / 用户 ~/.dsh/skills / 用户 ~/.agents/skills / 运行时注册),顶部搜索框按技能名或描述即时过滤 (名称命中排在前面,Esc 或「清空」按钮复位),并与工作区选择叠加生效; 每张卡片显示描述、适用场景、可调用标记、启用/禁用开关(改写 SKILL.md frontmatter 的 disable-model-invocation,模型目录热刷新)与删除按钮 (文件移入 .trash,可恢复)。
  • 创建 tab:表单创建新技能,可写入用户根(~/.dsh/skills)或项目根 (.dsh/skills),生成标准 SKILL.md。
  • 数据来自按官方 dsh-skill-filesystem 根约定的文件系统扫描,并与 ctx.skills 注册表(bundled / runtime 条目)合并。本插件不改变 skill 的 加载/注入语义——纯 GUI 管理层。

安装

从 npm(推荐)

dsh plugin --profile web add @gestaltrun/dsh-client-ui-skill-explorer@latest

从仓库(开发)

git clone https://github.com/gestaltrun/dsh-web.git
cd dsh-web
pnpm install
pnpm -r build
dsh plugin --profile web add link:$(pwd)/packages/dsh-skill-explorer

安装后重启 dsh web,侧边栏出现「技能中心」入口。

路由

| 路由 | 方法 | 说明 | | --- | --- | --- | | /api/dsh-skill-explorer/list | GET | 分级技能列表 | | /api/dsh-skill-explorer/set-enabled | POST | 启用/禁用(改写 frontmatter) | | /api/dsh-skill-explorer/create | POST | 创建技能(user/project 根) | | /api/dsh-skill-explorer/delete | POST | 删除(移入 .trash) | | /api/dsh-skill-explorer/health | GET | 健康检查 |

安全模型

  • 全部 /api/dsh-skill-explorer/* 路由默认仅限 loopback(插件家族共享围栏: loopback 套接字 + Host 头 + 浏览器同源标记):未配对的局域网客户端在任何 技能文件访问前即收到 403 forbidden: loopback-only。同时装了 dsh-remote-web-ui 时,有效的已配对设备 cookie 是额外放行路径(与 api/gate 检查同一枚 cookie);未配对与已撤销设备仍 403。技能中心不硬依赖 远程插件。
  • 写路由仅把面板展示的路径作为身份声明;执行修改前,最新文件系统扫描必须解析到 同名且路径完全一致的技能。任意路径与过期的同名回退都会被拒绝,因此项目技能 消失后,尚未执行的操作不会改到同名的用户级或自定义技能。
  • 技能内容是用户自写的 markdown;创建表单限制内容 64KB。
  • 面板用文本节点渲染技能描述(无 HTML 注入)。
  • 扫描跟随符号链接:skill 根里的符号链接目录 / .md 单文件链接会被当作 普通技能列出。链接属于用户的挂载意图,因此不校验链接目标是否落在某个 skill 根内;项目根(可能来自 clone 的仓库)里的符号链接被视为该项目内容, 其指向目录中的 SKILL.md 会被读取并展示——这是预期信任边界。链接技能可 列表、可启用/禁用(改写目标自身的 frontmatter),但不可删除:删除会把 链接目标的 SKILL.md 移出原位、越出当前 skill 根,因此对链接技能隐藏删除 按钮并在 delete 路由上拒绝(400)。写操作仍受 loopback 围栏与「仅信任最新 扫描路径」约束。

已知限制

  • 项目技能跟随面板显示的 workspace:list 路由接受显式 ?cwd= 覆盖, 创建表单会发送当前显示的 workspace;项目根为该 workspace 最近的 .git 祖先。
  • frontmatter 解析为零依赖轻量实现(块标量、布尔、input 嵌套块);不支持的 生僻 YAML 特性以官方 dsh-skill-filesystem 提供方为准。
  • 链接技能不可删除(见安全模型);启用/禁用对链接技能正常(改写目标 SKILL.md frontmatter)。目录型与「单文件」链接都能正常列出;「单文件」 符号链接(指向单个 .md)在原子改写(rename)时会被替换为一个普通文件 (链接不再保留),目标文件本身不受影响。

数据遥测

浏览器半区每个 UTC 日向 dsh-market.com 发送一次匿名安装心跳:仅含一个 localStorage 随机 ID 与本包名,无其他数据。服务端只存储该 ID 的加盐哈希,不存 IP,且只暴露聚合计数。完整契约见 docs/telemetry.md。

License

BSD-3-Clause。