dsh-python-env:为 DSH 提供工作区 Python 虚拟环境管理

前言

在 DSH 中,智能体可能需要为当前项目准备 Python 虚拟环境、安装依赖,再调用对应解释器运行代码。dsh-python-env 为这些操作提供一组模型工具。

它把 Python 虚拟环境的发现、创建、安装、卸载和移除收敛到 DSH 插件内,并通过 DSH 平台的 subprocess channel 在 host process 中调用标准库 python -m venvpip

这是什么

dsh-python-env 是 DeepSeek Harness(DSH)插件,由 AngelosZou 维护,许可证为 MIT。它面向单个 DSH 工作区,提供工作区范围的 Python 虚拟环境管理。

它包含:

  • 五个模型工具:pyenv_discoverpyenv_createpyenv_installpyenv_uninstallpyenv_remove
  • python-env skill
  • system-prompt guidance section

核心功能

覆盖虚拟环境常用操作

pyenv_discover 用于发现当前工作区内的 Python 虚拟环境。

pyenv_create 用于创建虚拟环境。

pyenv_install 用于向环境中安装依赖,支持 packagesrequirements

pyenv_uninstall 用于从环境中移除依赖。

pyenv_remove 用于移除工作区内的虚拟环境。

使用标准库和 DSH subprocess channel

插件不依赖 uvvirtualenv 等第三方环境管理器。它通过 DSH 平台的 subprocess channel 在 host process 中运行标准库 python -m venvpip

跨平台与镜像回退

插件支持 Windows、macOS、Linux 的跨平台布局与解释器链。

它支持 PyPI 镜像和本地代理回退,镜像包括 TUNA、Aliyun、USTC,并覆盖常见本地代理端口。

工作区边界与执行策略

插件限制操作在会话工作区内,缓存和临时状态位于:

<workspace>/.dsh-pyenv/

它不触碰全局 Python 环境、host pip 缓存和系统临时目录。

变更类工具遵守会话沙箱策略,在只读会话中拒绝执行;pyenv_discover 仍可用。

所有 pyenv 工具受两分钟时间预算限制,pyenv_discover 在一分钟内。

安装与启用

要求:

  • Node.js >= 20
  • @deepseek-ai/dsh-base 组合的 DSH profile,提供 subprocessjobstoolsskills 服务
  • 插件管理的环境需要 Python >= 3.8,可在 PATH 中或显式传入

安装命令:

dsh plugin --profile web add dsh-python-env

安装后需重启 DSH backend。工具会在新会话中出现,包括 pyenv_discoverpyenv_createpyenv_installpyenv_uninstallpyenv_removepython-env skill。

典型用法

pyenv_create
pyenv_install { packages: ["pytest>=8"] }
pyenv_install { requirements: "requirements.txt" }
pyenv_uninstall { packages: ["pytest"] }
pyenv_discover

创建或发现环境后,使用工具报告的 interpreter 运行代码:

Windows: <venv>\Scripts\python.exe
macOS/Linux: <venv>/bin/python

适用场景与注意

适合在 DSH 会话中管理 Python 项目依赖,并希望把环境操作限制在当前工作区内的场景。

注意:

  • 插件以当前 DSH 进程权限运行,python -m venvpip 调用会按该进程可用环境执行;安装前建议检查源码与 MIT 许可证。
  • 变更类工具在只读会话中拒绝执行,pyenv_discover 仍可用。
  • 所有 pyenv 工具受两分钟时间预算限制,pyenv_discover 在一分钟内。
  • 插件管理的环境需要 Python >= 3.8。

资源

GitHub 仓库:

https://github.com/AngelosZou/dsh-python-env

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye