前言¶
DSH 的理念是「一切皆插件」。实际使用 DSH 时,profile 里会包含 bundles、plugins 和 patch,真正影响运行结果的往往不只是某一个插件,而是整套加载顺序和覆盖配置。
常见的麻烦通常不是“能不能启动”,而是这几件事:
- 本机到底有哪些 profiles
- 某个 profile 当前加载了哪些 bundles、plugins 和 patch
- 做实验前如何复制一份可用配置
- 如何把整套 dsh setup 交给别人,并尽量还原原来的结构
Dsh 本身可以启动 profile,并转发安装到 pnpm。已核实资料提到,它不能创建空 profile,也不能直接列出本机 profile 或在实验前复制一套可用配置;这些过去常常要手工处理。下面介绍 asdf17128/dshp,它把这些 profile 管理动作集中成一个命令行工具,也可以作为 DSH 插件安装。
这是什么¶
dshp 的定位可以概括为:管理 DeepSeek Harness profiles——列出、创建、克隆,并把整套 dsh setup 分享成一个可移植文件。
基础信息:
- 仓库:
asdf17128/dshp - 许可证:MIT
- 运行要求:Node 18+
- 已验证兼容:
@deepseek-ai/dsh0.1.0-rc.5
核心功能¶
下面介绍的能力均来自已核实资料:
- 列出本机 profiles,并显示 bundle/plugin 数量与磁盘占用
- 查看指定 profile 的 bundle 加载顺序、plugins 和 patch
- 创建新 profile,支持
--web或--headless - 复制已有 profile,保留
node_modules - 将 profile 导出为单个可移植文件
- 从文件导入并重建 profile
- 对比两个 profile 的差异
- 删除指定 profile
安装与启用¶
作为 CLI 使用时,已核实资料给出的示例是:
npx github:asdf17128/dshp ls
作为插件安装时,已核实资料给出的示例绑定 --profile web:
dsh plugin --profile web add github:asdf17128/dshp
移除该插件:
dsh plugin --profile web remove dshp
已核实资料没有给出更通用的插件安装命令形式,因此这里只展示资料中明确出现的命令。
典型用法¶
先查看本机有哪些 profiles:
npx github:asdf17128/dshp ls
如果要从 web 复制一份用于实验,先做复制,再在副本上试错:
dshp clone web web-试验田
确认需要分享后,可以导出当前配置:
dshp export web -o my-setup.dshp
在另一台机器上导入该文件:
dshp import my-setup.dshp
导入会重建 profile,并通过 dsh 自己的 pnpm 安装插件;因此这一步需要可用的 dsh。其他命令按已核实资料描述是纯文件系统操作。
对比两个 profile:
dshp diff web web-试验田
经过上面的实验后,如果不再需要副本,可以删除:
dshp rm web-试验田 --yes
适用场景与注意¶
dshp 适合需要经常整理、复制、分享 DSH profiles 的使用者。使用前注意:
import需要可用的 dsh,并通过 dsh 自己的 pnpm 安装插件;其他命令为纯文件系统操作- bundle 顺序是格式的一部分,重新排序会被
diff报告为实际差异 - patch 按字节复制,不重新序列化,以避免 YAML 往返破坏或求值
- 作为插件安装后移除会移除
list_profiles和export_profile工具;已核实资料说明 profiles 不受影响,插件只读 - dshp 以当前 dsh 进程权限运行,安装前应检查源码与 MIT 许可证
- DSH 社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系,不应视为官方应用商店
结尾¶
dshp 的价值在于把 DSH profile 的常见维护动作变得可见、可复制、可分享:列本机、查细节、复制实验、导出文件、导入重建、对比差异、删除清理。
GitHub:https://github.com/asdf17128/dshp
目录页:已核实资料未给出 URL,请以实际发布渠道为准。