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

v0.3.0

Published

Per-project runtime environments for DeepSeek Harness: auto-adopt or create a project-local Python venv (.venv_local/python) and wire in the toolchains/env vars for the runtimes each project uses.

Readme

dsh-venv

为每个 DSH 工作区 / 项目提供独立的运行时环境。自动识别项目用了哪些运行时,自动创建/接管 python venv,并把各运行时的环境变量注入到工作区——python/pip 永远走项目环境,绝不静默落到系统 Python。

DeepSeek Harness(DSH)项目环境管理插件。


为什么需要它

在 DSH 里打开多个项目时,如果所有会话共享系统 Python,容易出现:

  • 不同项目依赖互相污染(A 项目装了包,B 项目"看到了")
  • 系统 Python 被项目改动弄得不可控
  • 换机器 / 换工作区,环境没法跟着项目走

dsh-venv 给每个项目一个独立环境,让 agent 跑 Python 工具时永远用项目自己的解释器。

设计理念

  • 有则接管,无则自动建:目录存在就接管,不存在就 python -m venv .venv_local/python 自动创建——不需要任何配置步骤。
  • 一个文件夹承载多运行时:.venv_local/ 是环境容器,每种运行时一个子目录:
    项目根/
    └── .venv_local/
        ├── python/   ← Python(venv,自动创建/接管)
        ├── node/     ← Node(检测到 package.json 时链接)
        └── go/       ← Go(检测到 go.mod 时链接)
  • 自动识别,零配置:检测到 pyproject.toml/requirements.txt→python、package.json→node、go.mod→go,把对应运行时的工具链 bin 前置 PATH 并注入专属变量(VIRTUAL_ENV、NODE_PATH、GOBIN)。
  • 安全优先:缺少/无效的环境会报错,绝不静默回退到系统 Python;绝不覆盖已存在的环境。

功能

| 能力 | 说明 | |---|---| | 🎯 工具 | project_env_status(查看/自动接管)、project_env_ensure(缺失即自动建 venv)、project_env_run(在项目环境中执行命令) | | 🖥️ Web 面板 | 设置页新增「项目环境」区,列出所有会话工作区的环境,状态一目了然 | | 🧩 多运行时 | python(venv 真环境)+ node / go(工具链接入、变量注入) | | 🔒 安全 | 无 venv 即报错,不回落系统 Python;不覆盖已有环境 |

安装

# 从 npm 安装:
dsh plugin --profile web add dsh-venv

# 或从 GitHub 源码安装:
dsh plugin --profile web add github:emuco/dsh-venv

安装后重启 DSH 生效(重启是 DSH 加载新 plugin 层的条件)。

使用

装好即可用,无需配置。agent 在上述系统提示的引导下会自动调用 project_env_* 工具;你也随时可以在设置页的「项目环境」面板查看各工作区的环境状态。

目录结构

  • src/index.js — 核心:路径、detect/status/environment、resolveCommand、create、run、多运行时 environmentAll
  • src/plugin.js — DSH host 插件:工具 + web API + 系统提示
  • src/client.js — DSH client 端:设置面板
  • cordis.patch.yml — DSH profile 插入补丁

开发

cd dsh-venv
npm test        # 运行测试(node --test)

License

MIT