前言¶
在 DSH 中,智能体可能需要为当前项目准备 Python 虚拟环境、安装依赖,再调用对应解释器运行代码。dsh-python-env 为这些操作提供一组模型工具。
它把 Python 虚拟环境的发现、创建、安装、卸载和移除收敛到 DSH 插件内,并通过 DSH 平台的 subprocess channel 在 host process 中调用标准库 python -m venv 与 pip。
这是什么¶
dsh-python-env 是 DeepSeek Harness(DSH)插件,由 AngelosZou 维护,许可证为 MIT。它面向单个 DSH 工作区,提供工作区范围的 Python 虚拟环境管理。
它包含:
- 五个模型工具:
pyenv_discover、pyenv_create、pyenv_install、pyenv_uninstall、pyenv_remove python-envskill- system-prompt guidance section
核心功能¶
覆盖虚拟环境常用操作¶
pyenv_discover 用于发现当前工作区内的 Python 虚拟环境。
pyenv_create 用于创建虚拟环境。
pyenv_install 用于向环境中安装依赖,支持 packages 和 requirements。
pyenv_uninstall 用于从环境中移除依赖。
pyenv_remove 用于移除工作区内的虚拟环境。
使用标准库和 DSH subprocess channel¶
插件不依赖 uv、virtualenv 等第三方环境管理器。它通过 DSH 平台的 subprocess channel 在 host process 中运行标准库 python -m venv 和 pip。
跨平台与镜像回退¶
插件支持 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,提供subprocess、jobs、tools和skills服务 - 插件管理的环境需要 Python >= 3.8,可在 PATH 中或显式传入
安装命令:
dsh plugin --profile web add dsh-python-env
安装后需重启 DSH backend。工具会在新会话中出现,包括 pyenv_discover、pyenv_create、pyenv_install、pyenv_uninstall、pyenv_remove 和 python-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 venv与pip调用会按该进程可用环境执行;安装前建议检查源码与 MIT 许可证。 - 变更类工具在只读会话中拒绝执行,
pyenv_discover仍可用。 - 所有
pyenv工具受两分钟时间预算限制,pyenv_discover在一分钟内。 - 插件管理的环境需要 Python >= 3.8。
资源¶
GitHub 仓库: