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

@yunlai/dsh-workbench

v1.6.5

Published

Development workbench for DeepSeek Harness: files, code navigation, document previews, Git diffs and history, and breakpoint debugging with expression evaluation.

Readme

对话与开发工作台的概念插画

AI 改完代码后,先在右侧打开 diff,从改动行跳回源码,再沿定义读到实现。遇到需要弄懂的代码,可以把问题交给一个讲解会话,随后在工作台翻阅卡片。文件树、编辑器和底部工具窗口可以调整大小,当前对话始终留在旁边。

快速开始

  1. 在 DeepSeek Harness 的插件管理器选择「安装插件」,输入 @yunlai/dsh-workbench,启用「开发工作台」。
  2. 打开一个已注册的 Git 项目对话,展开右侧工具区,在「开始」或「更多工具」中选择「开发工作台」。
  3. 从文件树打开文件。在支持的源码中按 F12 跳定义,或从底部打开「变更」核对 diff。

在线安装用户可在插件详情检查版本并更新,随后重载或重启 Harness。当前发布包要求 Harness 0.2.1-rc.5 或更新版本,运行环境要求 Node.js 22.14.0 或更新版本。下载 ZIP · 升级说明

下载 Release 中的 ZIP 并解压,按包内 INSTALL.txt 安装依赖,再在 Harness 插件管理器中选择解压后的目录。也可以克隆仓库并安装源码目录。

git clone https://github.com/Chengyunlai/dsh-workbench.git
cd dsh-workbench
npm ci --omit=dev

工作台能做什么

| 想做的事 | 在工作台里怎么做 | | --- | --- | | 读懂源码 | 用文件树和内容查找定位代码。标签保留各文件的阅读位置,支持语法高亮、折叠、同词高亮、定义跳转和前进/后退。右键标签可关闭当前、其他或全部文件。 | | 看清 Python 类关系 | 从文件树工具栏或 Python 源码右键菜单打开层级树或分栏图。查看继承、抽象类、显式 Protocol 基类及有源码依据的工厂返回关联,点击节点或方法跳回源码。类关系目前仅支持 Python,处于 Beta 阶段。 | | 阅读文档和图片 | 对话中的 Markdown 可进入工作台预览,也可切回源码。预览支持 YAML 标题、标签和字段、代码块高亮与文件链接。文件标签还可预览 PNG、SVG、ICNS 等图片和图标。 | | 核对 Git 改动 | 分组查看已暂存、工作区变更和未跟踪文件,阅读逐行 diff、提交图与提交详情。双击 diff 行可跳到当前源码。可把选中的 diff 行作为修改任务或讲解材料交给新会话。 | | 检查真实执行 | 启动调试或接入已有进程,设置断点、单步并切换栈帧。暂停时可悬浮查看变量、展开对象、查看行内值及求值,也可一次清理全部断点。 | | 运行项目命令 | 从底部打开终端,复用 Harness 终端服务在当前会话的工作区运行命令。切换到查找、变更、历史、记忆卡片或调试时,编辑区仍可见。 |

Python 类图基于静态源码分析。定义跳转可打开语言服务返回的受支持库源码和声明文件,显示为只读库标签。类关系说明 · 导航限制

讲给我听与记忆卡片

例如读到一个 stream() 方法,想知道 SSE 字节在哪里分帧、何时变成模型事件。右键文件选「讲给我听」,输入问题。新会话会尝试沿源码和具体输入讲清链路,把同一份完整解释保存成一张卡。卡片先概括问题,末尾用一道回忆题请你复述机制或预测边界情况。

底部「记忆卡片」按归档目录分组,可组合搜索标题、摘要、标签、来源与路径。卡片是项目中的 Markdown 文件,默认存放在 .dsh/cards/。关联文件的卡片按源码最近两级目录归档,未关联源码的归入 general/,已有卡片也可按来源在索引里归组。卡片使用指南

记忆卡片的 YAML 元数据、问题概括、示例与回忆题

记忆卡片按通用和 src/transport 分组,可搜索问题、标签与来源

能力演示

下方录制使用虚构项目。点击截图可查看对应 GIF。

Python 类关系

Python 源码和右侧类关系图,显示 EventReader 的两个实现

Python 源码和右侧层级树,按基类展开实现与方法

暂停后悬浮查看变量

Python 断点暂停、悬浮变量和单步

代码折叠和标签恢复 · 调试悬浮录制说明

主视觉是概念插画。类关系和记忆卡片截图取自 1.4.1 工作台的真实 Harness Web 界面,使用虚构的 Beacon Stream 项目和样例卡片。其他演示来自较早版本的独立实例,GIF 按步骤调整了画面停留时长。

语言支持

下表区分定义跳转与调试。五种语言都可只读浏览、语法高亮和折叠。Go 和 Java 需要配置本机语言服务,Python 和 JS/TS 的导航依赖随包安装。

| 语言 | 定义跳转 | 启动与接入调试 | | --- | --- | --- | | Python | Pyright | debugpy | | Go | gopls | Delve | | Java | Eclipse JDT LS | 暂无 | | JavaScript | TypeScript 语言服务 | vscode-js-debug(Node.js) | | TypeScript | TypeScript 语言服务 | vscode-js-debug(需要生成 JS 和 source map) |

调试适配器需单独配置。配置好后可在源码区设置断点并按 F5,或用右键菜单接入已有进程。自定义启动参数可写入 .dsh/debug.json。语言配置 · 调试配置

使用边界

  • 已有文本文件的源码视图可直接编辑,按 ⌘S/Ctrl+S 保存。保存后可在「变更」里核对 Git diff。
  • 终端与调试会执行实际命令或程序。卡片由讲解会话写入项目目录,内容按工作区的权限与 Git 规则管理。
  • CI 覆盖 Linux 和 macOS 的基础检查、安装包验收及真实语言服务与调试器测试。桌面交互实测覆盖 macOS,Windows 与 Linux 桌面交互待验证。

文档与贡献

| 目的 | 文档 | | --- | --- | | 操作、快捷键、语言服务与布局 | 使用指南 | | 调试器、启动与接入配置 | 调试指南 | | 版本变化与安装迁移 | 升级说明 | | 报告问题或提交 PR | 贡献指南 · Issues | | CI、发布与安全报告 | 自动化与发布 · 安全报告 |

项目使用 MIT 许可。编辑器使用 CodeMirror,界面图标来自 Lucide,文件图标来自 vscode-icons。依赖许可声明