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-waystation

v1.5.0

Published

DSH(DeepSeek Harness)上的 Waystation 控制面板插件,配合 Matt Pocock skills(github.com/mattpocock/skills)的 wayfinder / triage / grilling / handoff 等技能使用:右侧 details 列面板(GitHub issue 地图/列表/技能/环境检查)、输入区状态栏胶囊、动作注入与交接开新会话。打开形式仅右侧 details 列(无 PiP/悬浮)。npm 标准安装(bundle 装配,一条命

Readme

dsh-waystation

DSH(DeepSeek Harness)Web 界面的 Waystation 控制面板插件(Client + Host 双端), 配合 Matt Pocock skills 的 wayfinder / triage / grilling / handoff 等技能使用: 输入区状态栏胶囊(可接/阻塞/沉淀/交接/环境/更新)+ 右侧 details 列面板(列表 / 技能 / 环境检查三视图, 唯一打开形式)+ GitHub issue 动作注入(诊断 / 修复 / 讨论 / 执行,均带 /wayfinder /triage 技能命令)

  • 交接开新会话。
  • 插件包名: dsh-waystation(可分发 npm 包,见 package/,当前 v1.3.3:13 项 bug 修复 + UI 逐版定稿(C 卡片式两行结构 / 迷你圆环进度 / 标签贪心折叠 +N 弹窗 / 编号+map 竖排)+ 快照性能提速 + npm 发布)
  • 动态版 pluginId: wfst-1(v9–v24 迭代产物)
  • 平台: Client(浏览器页面)+ Host(Node 进程,gh CLI 数据层)
  • 配套: mattpocock/skills(wayfinder / triage / grilling / handoff / ask-matt 等)
  • 两种形态: ① 正式安装(npm 一条命令,开机自启,推荐);② 动态加载(进程内,会话级)

功能

| 模块 | 说明 | |---|---| | 状态栏胶囊 | 输入区上方:可接 / 阻塞 / 沉淀(零丢失快照)/ 交接 / 环境 / 更新,点击直达对应面板视图 | | 面板 · 列表 | GitHub issue 全列表(map 置顶 + 子票迷你圆环进度)、标签过滤 chips(GitHub 配置色)、阻塞筛选、已关闭折叠、行级动作按钮;行布局 = 两行结构(编号/map 竖排 + 标题占满整宽限 2 行 + 标签/按钮行) | | 标签贪心折叠 | 单行不换行:宽面板显示多标签、窄面板少标签(最少 1 个),放不下的折叠为 +N 弹窗(fixed 定位 · 自适应面板左右边界 · 内容完整可见) | | 进度显示 | map 行右侧 18px 迷你圆环 + n/total(等宽数字右缘对齐,圆环零间隙) | | 面板 · 技能 | 技能雷达(推荐 / 列表 / 圆环),点击注入 /skill | | 面板 · 环境检查 | 8 项前置检查(仓库定位 / setup / tracker / gh CLI / 登录 / API / 技能探测),红黄绿分组 + 一键处理 | | tabs 行 | 列表 / 技能 / 环境检查 + 右侧刷新按钮 + 最右侧版本号(如 v1.3.3),便于核对已更新 | | 行级动作 | 按 label 四选一:诊断(/triage) / 修复(/wayfinder) / 讨论(/wayfinder) / 执行(/wayfinder),按钮色 = GitHub label 配置色,点击预填输入框;执行/新会话按钮常显(复制/外链也常显) | | map 详情 | 顶部「执行」+ 任务按状态动作、可接/已认领/被阻塞/已关闭垂直走廊、Decision/Fog/Out-of-scope 折叠 | | 交接 | 第一击注入 /handoff 时间戳模板;第二击预填 /read + 复述确认 prompt 并开新会话 | | 统一引导句 | 动作注入统一带「从第一性原理出发完成任务,并对抗式审查。」 |

使用方式

第 0 步:安装 DSH CLI(仅首次 · 一次性)

DSH CLI 提供 dsh 命令行工具(用于安装/更新/卸载插件、查看 DSH 状态)。 本插件的安装/更新/卸载都通过 dsh 命令完成。

推荐一 · npm 全局安装(最常用)

npm install -g @deepseek-ai/dsh

验证安装成功:

dsh --version
# 期望输出类似 [email protected] 或更新版本

⚠️ 如果 dsh 命令找不到(PATH 未配置):

  • Windows:npm 会自动把全局 bin 加到 %APPDATA%\npm,重启 cmd/终端即可
  • macOS / Linux:可能需要手动加 $(npm config get prefix)/bin 到 ~/.bashrc 或 ~/.zshrc

推荐二 · 不装 CLI,用 npx 临时跑(不需要全局装)

npx --yes @deepseek-ai/dsh --version

npx --yes @deepseek-ai/dsh 等价于 dsh(每次首次会缓存包)。

方式一:正式安装(推荐 · 一条命令 · 装进整个 Harness · 开机自启)

用 DSH CLI(dsh)或 npx 临时命令(跨平台,Windows / macOS / Linux 同一句; ~/.dsh = DSH 的家,DSH_HOME 自定义过就换成它的路径):

安装(已装过 DSH CLI):

dsh plugin --profile web add dsh-waystation

安装(未装 DSH CLI,用 npx):

npx --yes @deepseek-ai/dsh plugin --profile web add dsh-waystation
  • 命令把插件装进 web profile(~/.dsh/profiles/web/node_modules),同步 web/package.json 并自动 reconcile 注册(bundle 装配)。装完刷新浏览器页面(http://127.0.0.1:3080)即生效,之后每次 DSH 启动自动加载。

  • ✅ 一键装完即用(bundle 装配):本包声明 dsh.bundle.patch(包根 cordis.patch.yml), dsh plugin add 自动把包加入 profile 的 dsh.profile.bundles,启动时 loadProfile 自动应用—— 无构建脚本(pnpm v10 不再拦截),无需手动编辑任何文件;dsh plugin remove 自动移除。

  • ⛔ 千万不要用 npm install --prefix ~/.dsh/profiles 安装:profiles/node_modules 是 DSH 的 扁平回退软链区(启动时 healProfilesModuleFallback 自动重建,装的是 npx 全家桶), npm --prefix 会把它当新项目,把 package.json 未声明的包(含你的插件)全部 prune 掉。 2026-08-14 实测事故:一次安装插件连带删掉 511 个包,DSH 插件全部加载失败。 插件正确安装位 = profiles/web/node_modules(官方命令负责),注册写 web/cordis.patch.yml。

  • 为什么不用 npm install -g:-g 装到 %APPDATA%\npm\node_modules,而 Node 的默认解析链 不包含该目录(本机实测 require.resolve 失败)——DSH 进程 require 不到,装了也白装。 独立 CLI 应用(如 dsh-feishu-bot)靠 bin 快捷方式运行所以能 -g;插件必须被 DSH 进程 解析,所以装 Harness 自己的 profile。

升级:

dsh plugin --profile web update dsh-waystation
# 或用 npx:npx --yes @deepseek-ai/dsh plugin --profile web update dsh-waystation

卸载:

dsh plugin --profile web remove dsh-waystation
# 或用 npx:npx --yes @deepseek-ai/dsh plugin --profile web remove dsh-waystation
# 并手动删除 cordis.patch.yml 里的 dsh-waystation insert 块(或保留,DSH 找不到包会忽略)

原理:DSH 的 dsh.client 插件机制(dsh-client-modules)会扫描组合里声明了 dsh.client: { platform: 'web' } 的包,把 exports["./client"] 指向的 bundle 伺服为 /plugins/<id>/client.js 并注入 window.__DSH_BOOT__,浏览器内核在启动 时自动挂载该插件条目。宿主半 lib/index.js 通过 ctx.connection.rpc 注册 /dsws RPC 通道(gh CLI 数据层),Client 半经同一通道取数。

方式二:动态加载(零安装 · 会话级 · 重启失效)

在 DSH 会话中由 Agent 通过 Cordis 工具链加载:

  1. cordis_define —— plugin 用 kind: new、idPrefix: wfst,code.host 填入 host.js 的内容、code.client 填入 client.js 的内容。
  2. cordis_run —— 首次运行需在界面批准(安全机制,Client 代码要在页面执行)。
  3. 生效后输入区出现 Waystation 胶囊;Run 卡片内出现控制面板。

数据层说明(宿主半)

  • 依赖:gh CLI(兜底路径 D:\0Tools\GitHubCLI\gh.exe)+ git 仓库工作目录(默认 D:\2Study\StudyNotes\SKILLS,可随会话 cwd 切换)。
  • 数据流:gh issue list 枚举全量 issues(map 列表从中过滤 wayfinder:map)→ GraphQL aliases 一次查询全部 map 详情(subIssues + labels + assignees + blockedBy)→ 组装快照(map 五区块解析 + tickets + stats)。
  • RPC 通道 /dsws:status / snapshot / refresh / cwd / handoffLatest / claim。
  • 刷新策略:纯手动(状态栏「更新」/ 列表「刷新」/ 打开面板即刷)+ 60s 快照缓存、30s 环境检查缓存。
  • 性能:v1.3.3 起快照加载 ~35s → ~12s(aliases 批量 8 次 GraphQL → 1 次)。

v1.3.3 新增(2026-08-15)

  • 13 项用户 bug 修复(配置面板全展开 / textarea 自适应 / 占用→阻塞 / 按钮常显 / map 完成态 / 双 loading 修复等)
  • UI 逐版定稿:C 卡片式两行结构、编号/map 竖排、18px 迷你圆环进度、标签贪心折叠 +N 弹窗(自适应面板)、窄屏按钮正方形
  • tabs 行刷新按钮 + 最右侧版本号 v1.3.3
  • 快照性能提速 ~35s → ~12s(GraphQL aliases 批量 + 合并 fetchMaps + 缓存 60s)
  • 开发工作流文档 DEV-WORKFLOW.md(改 bug → 实时生效完整流程)

完整变更历史见 CHANGELOG.md。

文件

  • host.js / client.js —— 动态版源码(cordis_define 的 code.host / code.client 函数体)
  • package/ —— 可分发插件包(正式安装用,标准 npm 包结构)
    • package.json —— 包声明:dsh.client(platform web / immediately)+ dsh.bundle.patch(装配)
    • cordis.patch.yml —— bundle 装配 patch(dsh plugin add 自动应用,无构建脚本)
    • lib/index.js —— 宿主半(ESM:gh 数据层 + /dsws RPC 通道注册)
    • lib/client.js —— 浏览器半 bundle(window.__ModuleLoader__.load 注册格式)
  • README.md —— 本说明
  • issues-checklist.html —— 迭代需求清单(v9–v24,43+ 项)
  • DESIGN.md / prototype.html —— 设计定稿与原型
  • tests/ —— host 逻辑测试(verify-status / verify-panel)

备注

  • 若动态版(方式二)与正式安装版同时生效,两套 UI 会同时出现(同名插槽注册), 建议保留正式安装版即可,动态版 cordis_stop 掉。
  • 本插件需要 GitHub 仓库工作目录(wayfinder 地图仓库)才能取到数据; 非仓库目录下环境检查会提示「仓库定位」未就绪。
  • 用户界面偏好(开始模板等)存浏览器 localStorage,与动态版共用同一 key。