前言¶
在 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 倉庫: