DeepSeek Harness 插件

dsh-uvm

DSH-native uv environment manager with pip fallback and conda visibility(英文原文)

跳到安装方式

来源信息

GitHub 仓库
Harzva/dsh-uvm
最近更新
2026年8月19日
分类
插件市场与管理
GitHub stars
0
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/Harzva/dsh-uvm
插件名:dsh-uvm
作者:Harzva

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器3 个文件
README.md来源说明 · 只读预览

<h1 align="center">dsh-uvm</h1>

<p align="center"> <strong>DSH 原生 uv 环境管理器:在 DSH Web 里创建、安装、同步、运行 Python 虚拟环境。</strong><br /> uv 为主管理器,pip 作为回退适配器,conda 环境只读可见。 </p>

<p align="center"> <img alt="Status: alpha" src="https://img.shields.io/badge/status-alpha-f59e0b" /> <img alt="DSH 0.1.0-rc.6" src="https://img.shields.io/badge/DSH-0.1.0--rc.6-2563eb" /> <img alt="Tests: 18 passing" src="https://img.shields.io/badge/tests-18%20passing-16a34a" /> <a href="LICENSE"><img alt="License: MIT" src="https://img.shields.io/badge/license-MIT-7c3aed" /></a> </p>

> [!IMPORTANT] > 这是面向 DeepSeek Harness (DSH) 的独立、非官方插件。所有命令只在本机执行,任何写入都限制在插件管理的环境根目录内。

这是什么

DSH 原生标签页(设置 → 插件 → uv 环境),把 uv 的 venv 生命周期搬进 DSH Web:

  • 工具链医生(doctor):自动探测本机 uv / pip(经 python -m pip)/ conda 的路径与版本,uv python list --only-installed 提供可选 Python 版本。
  • 环境列表:读取插件管理目录下的全部 pyvenv.cfg,标注每个环境的 Python 版本与创建来源(uv / pip)。
  • 创建 / 删除uv venv <root>/<name> --python <版本>;无 uv 时回退 python -m venv。删除前二次确认,路径严格限制在环境根目录内。
  • 安装 / 卸载uv pip install|uninstall --python <venv>;回退 python -m pip
  • 同步:把 requirements 内容经 stdin 写入 uv pip install -r -(等价 uv pip sync 语义,锁定文件同步在路线图中)。
  • 项目同步(M2):指向本地项目,静态解析 pyproject.toml 依赖声明与 uv.lock 锁定版本,和环境已装包做差异预览(已满足 / 缺失 / 版本漂移),确认后再应用;预览不访问网络,无变更时自动跳过。
  • 运行:在环境内运行 python <args>python -m pip <args>,60 秒超时、输出上限 512 KB。
  • conda 只读conda env list --json 仅展示,插件不修改 conda 环境。

设计理念借鉴 AgentWorkOS:环境是可声明、可体检、可同步的工作区资产,而不是散落在磁盘上的隐式状态。

flowchart LR
    U["DSH Web / uv 环境 tab"] -->|"same-origin JSON API"| H["dsh-uvm Host bridge"]
    H -->|"spawn,无 shell"| UV["uv venv / uv pip / uv python"]
    H -->|"回退"| PY["python3 -m venv / -m pip"]
    H -->|"只读"| CO["conda env list --json"]
    H --> E[".dsh-uvm/envs 环境根目录"]

DSH 始终是宿主与 UI;uv 继续拥有真实的虚拟环境、缓存与 Python 版本管理。插件不打包 uv,不上传任何环境数据,也不修改 conda 或全局 pip 状态。

安全边界

  • 所有路由只接受 loopback + 同源 请求,其余一律 403。
  • 子进程全部经 spawn 参数数组调用,不经过 shell;包规格、环境名、运行参数均有白名单校验。
  • 环境名必须匹配 [A-Za-z0-9][A-Za-z0-9._-]{0,63};路径先校验再解析,并复核必须位于环境根目录内。
  • 单次请求体积、包数量、参数数量、输出体积、执行时长均有上限。
  • 插件不会读取 DSH 会话、凭据或用户其它目录;pyvenv.cfg 原始内容(含 home 路径)不会返回给客户端。

快速开始

1. 准备工具链(任一即可)

uv --version        # 首选:uv 0.5+
python3 -m pip --version  # 回退路径
conda --version     # 可选,只读可见

2. 构建并打包插件

git clone https://github.com/Harzva/dsh-uvm.git
cd dsh-uvm
pnpm install --frozen-lockfile
pnpm check
pnpm run pack:dsh

3. 安装进 DSH Web 配置文件

dsh plugin --profile web add ./artifacts/harness-flow-dsh-uvm-0.1.0-alpha.1.tgz
dsh web

也可以直接安装 GitHub Release 产物或仓库地址:

dsh plugin --profile web add https://github.com/Harzva/dsh-uvm/releases/latest/download/harness-flow-dsh-uvm-0.1.0-alpha.1.tgz
dsh plugin --profile web add github:Harzva/dsh-uvm

环境根目录默认为 ~/.dsh-uvm/envs。可用环境变量覆盖(dsh web 启动前设置):

$env:DSH_UVM_ENV_ROOT    = 'D:\venvs'       # 环境根目录
$env:DSH_UVM_UV_PATH     = 'C:\tools\uv.exe' # 显式 uv 路径
$env:DSH_UVM_PYTHON_PATH = 'C:\Python\python.exe' # 回退解释器

开发

pnpm check              # 构建 + 类型检查 + 18 项测试
pnpm run pack:dsh       # 打包 npm tarball
pnpm run verify:dsh-offline  # 隔离 DSH 配置实测

verify:dsh-offline 创建临时 DSH Home,把打包产物安装进真实 DSH 0.1.0-rc.6 Web 配置文件,启动本地 Web 并检查 /dsh-uvm/api/bootstrap 与客户端模块,随后删除临时配置。不读取、不修改用户的 DSH 配置

项目边界

仓库职责
astral-sh/uv上游 Python 包与环境管理器
Harzva/AgentWorkOS工作区资产管理理念参考
Harzva/dsh-uvm独立的 DSH 桥与原生 UI

架构与兼容边界见 [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md),剩余路线见 [ROADMAP.md](ROADMAP.md)。

License

[MIT](LICENSE) © 2026 Harzva