---
title: "DSH Shop 0.9.0 配置教程：目录来源、Profile 权限与回退"
seo_title: "DSH Shop 0.9.0 配置教程：目录来源、Profile 权限与回退"
description: "在 DeepSeek Harness（DSH）配置 dsh-plugin-shop 0.9.0，核对固定 npm 来源、目录与缓存、Profile 写入和重启边界，先只读浏览，再按备份流程安装及回退。"
canonical: https://52dsh.com/tutorials/livxue-dsh-plugin-shop-install-config/
authors: ["52DSH 编辑部"]
audience: []
outcomes: []
prerequisites: ["Node.js 与 pnpm","独立 web Profile","可丢弃测试工作区"]
difficulty: advanced
estimated_action_time: null
next_steps: null
published_at: 2026-11-01
updated_at: 2026-11-01
verified_on: 2026-11-01
maintenance_status: community
verification_level: source_reviewed
risk_level: high
dsh_version: 0.2.1-rc.5
plugin_id: livxue-dsh-plugin-shop
tutorial_kind: plugin_configuration
related_plugin_url: https://52dsh.com/plugins/livxue-dsh-plugin-shop/
---

# DSH Shop 0.9.0 配置教程：目录来源、Profile 权限与回退

在 DeepSeek Harness（DSH）配置 dsh-plugin-shop 0.9.0，核对固定 npm 来源、目录与缓存、Profile 写入和重启边界，先只读浏览，再按备份流程安装及回退。

dsh-plugin-shop 0.9.0 提供 DSH Web 插件商店，浏览目录、安装更新和启停当前 Profile 插件，并可触发宿主重启；这些操作会修改本机依赖与配置。

如果你的目标是在 Web 中浏览插件来源，并在可回退的测试 Profile 管理插件，本教程会说明如何在 DeepSeek Harness（DSH）中准备、安装、配置、验证和回退 dsh-plugin-shop。本文锁定作者仓库提交 `9d77c6db2bc7`；已复核固定提交的原始资料，未进行运行实测。

> 对应插件：[查看 dsh-plugin-shop 的功能、权限与兼容性说明](/plugins/livxue-dsh-plugin-shop/)。先确认它适合你的工作流，再执行安装。

### 先浏览，再决定是否让商店修改 Profile

Shop 是具备写入和重启能力的管理入口。它自己的 verified/community 标签不代表 52DSH 审核结论。首次只浏览目录与已安装清单，之后每个安装目标仍需独立核对。真实插件在仓库子目录，公开安装目标使用 npm 固定版本。

## 先确认是否适合你

- **分类**：插件管理
- **风险等级**：high
- **核验证据**：source_reviewed
- **兼容性边界**：Node.js ^22.19.0 或 >=24；未声明 engines.dsh，三个 DSH peer 均为 >=0.1.1-rc.2 <0.3.0-0，按宿主含预发行版本的规则接受 0.2.1-rc.5。本页固定该宿主示例，只做源码与 npm 发行包静态复核，未运行验证；版本门禁通过不保证热挂载、RPC 或重启成功。
- **主要权限关注**：经 shop Remote 暴露目录和管理操作，依赖宿主远程访问控制；读取当前 Profile 及插件清单、npm registry 配置，调用宿主插件管理服务或启动同一 DSH CLI 安装/更新/卸载，修改 package.json、锁文件、bundle 选择和 cordis.patch.yml；联网下载目录与包，并可启动重启辅助进程。

如果你准备在重要工作区使用，先阅读插件详情页的权限和数据流说明；“源码已审阅”或“资料已整理”都不等于安全认证。

## 安装前准备

**本页 DSH 命令版本：** `0.2.1-rc.5`。Node.js ^22.19.0 或 >=24；未声明 engines.dsh，三个 DSH peer 均为 >=0.1.1-rc.2 <0.3.0-0，按宿主含预发行版本的规则接受 0.2.1-rc.5。本页固定该宿主示例，只做源码与 npm 发行包静态复核，未运行验证；版本门禁通过不保证热挂载、RPC 或重启成功。

- **独立测试 Profile 与停机备份**：命令使用 web Profile；使用单独 DSH_HOME 的测试实例，停机备份 profiles/web 的 package.json、pnpm-lock.yaml、cordis.patch.yml 和现有 bundle 配置，保留安装前 --dump-config。
- **网络与来源审核**：确认允许访问 registry.npmjs.org、registry.npmmirror.com 和作者 GitHub Pages；目录中每款插件须单独审核，商店收录不代表允许安装。

1. 安装 Node.js 22.19、Node.js 24 或项目当前声明支持的更高版本，并确认 `pnpm` 可用。
2. 使用独立的 `web` Profile 和可丢弃测试工作区，不直接连接生产目录。
3. 备份当前 Profile 配置，并记录安装前的 `--dump-config` 输出。
4. 核对固定来源中的外部服务、账号、运行时和平台限制。
5. 本插件的 `DSH_SHOP_CATALOG_URL` 是非敏感配置项，不是凭据。

## 安装 dsh-plugin-shop

52DSH 使用目录中记录的精确安装目标，避免直接跟随可能变化的默认分支：

```bash
npx --yes @deepseek-ai/dsh@0.2.1-rc.5 plugin --profile web add dsh-plugin-shop@0.9.0
```

本目标是已发布的 npm 0.9.0，不安装仓库根目录或自行构建源码。第三方依赖若要求执行额外脚本，先暂停并单独审核，勿全局放行。



## 插件专属配置

### 配置目标

- `$DSH_HOME/profiles/web/cordis.patch.yml`：只覆盖已有 id: shop 条目的 config；不要重复 insert。catalogUrl 设置目录来源，cacheDir 默认 $DSH_HOME/shop。
- `$DSH_HOME/shop`：目录缓存、Git repo pins 和 restart.log；重启日志不等于启动成功。安装与启停另写 Profile 依赖、锁文件和用户覆盖层。

### 环境变量

- `DSH_SHOP_CATALOG_URL`（可选）：bundle patch 默认读取它作为 catalogUrl，未设置时使用作者 GitHub Pages 地址；自定义目录须先审核。不是 API Key，也不是只读开关。

### 合并到现有 shop 条目，只覆盖默认目录地址

证据：[固定来源](https://github.com/LivXue/dsh-plugin-shop/blob/9d77c6db2bc70f8a1402b497db9acb2f9eca5ab5/packages/dsh-plugin-shop/cordis.patch.yml)。按上方配置目标使用本段内容；如有占位符，替换为测试值。

```yaml
- id: shop
  config:
    catalogUrl: https://LivXue.github.io/dsh-plugin-shop/v1/
```

### 安装后设置

1. 停机安装固定 npm 0.9.0，重启测试 DSH Web，再在主侧栏寻找 Shop/商店入口；不要安装仓库根目录。
2. 首次只浏览目录和已安装清单，核对 Profile、目标来源和版本，不点击安装、更新、启停或重启。
3. 需要实际变更时，先审核目标插件和备份，再逐项执行；源码没有可依赖的全局只读开关。


### 目录来源、安装白名单与重启限制

Web 客户端加载即后台预取目录并查询版本，无需先打开商店。默认通过 npm 目录包和作者 GitHub Pages 解析快照；显式 catalogUrl 指定 HTTP(S) 目录。内部检查 schema、快照哈希、deny、固定版本和包来源冲突；这不能保证目录内代码安全。community/verified-stale 需要确认，verified 项可能无需该确认。没有全局只读模式。

`allowRestart: false` 不是全局禁用重启开关，源码只在 systemd 判断中使用它。Windows、Desktop、default Profile、端口 0 等还有独立限制。服务器重启应遵循原运维方式，不把 allowRestart:true 当排障捷径。安装、启停及更新可能留下部分状态，操作前整体备份 Profile。

## 配置验证与成功结果

先导出配置，再启动同一版本的 DSH Web：

```bash
npx --yes @deepseek-ai/dsh@0.2.1-rc.5 --profile web --dump-config
npx --yes @deepseek-ai/dsh@0.2.1-rc.5 web
```

1. **在测试实例确认 bundle 加载**

   ```bash
   npx --yes @deepseek-ai/dsh@0.2.1-rc.5 --profile web --dump-config
   ```

   期望结果：组合配置只有一个 id: shop 条目，name 为 dsh-plugin-shop；无重复条目或缺模块错误。

2. **启动测试 Web 并只读浏览一个已有插件**

   ```bash
   npx --yes @deepseek-ai/dsh@0.2.1-rc.5 web
   ```

   期望结果：Shop 能显示当前 Profile 和目录来源，浏览后 Profile 的依赖及 cordis.patch.yml 无意外修改；目录缓存写入是预期行为。

3. **核对失效目录的提示与回退边界**

   期望结果：网络故障可能使用缓存并标记 stale；schema/hash 校验失败应排障，不通过绕过校验安装。此项需站长后续授权实际故障验证，本次没有执行。

## 第一次使用

- 先搜索一个已知插件，对照包名、source、repo/subdir、固定版本及权限，不进行安装；verified 只是该商店的目录分级。

### 最小任务：比较一个目标的来源

只读查看当前 Profile，搜索一个已知插件，对比 npm/Git 身份、repo/subdir、版本和权限。先不点安装、更新、启停、自更新或重启。管理操作经宿主服务执行，必要时回退同一 DSH CLI；安装时 pnpm 及插件依赖也有自己的供应链边界，商店本身不提供沙箱。

## 数据、权限与凭据

**数据流：** 默认从 npm registry 的 dsh-plugin-shop-catalog 或作者 GitHub Pages 获取目录，默认 registry 包括 npmmirror/npmjs，也可能使用本机 npm 配置；显式 catalogUrl 使用指定 HTTP(S) 目录。目录快照、哈希缓存和 Git 固定版本记录写入 $DSH_HOME/shop。Web 客户端加载时即在后台预取目录并查询版本，不必先打开商店；用户选择的目录目标交给宿主插件管理器或 DSH CLI，安装结果回到 Web 客户端；插件本身不需要额外 API Key。安装的第三方插件拥有各自的数据流。

**权限关注：** 经 shop Remote 暴露目录和管理操作，依赖宿主远程访问控制；读取当前 Profile 及插件清单、npm registry 配置，调用宿主插件管理服务或启动同一 DSH CLI 安装/更新/卸载，修改 package.json、锁文件、bundle 选择和 cordis.patch.yml；联网下载目录与包，并可启动重启辅助进程。

**数据存储：** 目录缓存与 repo pins 默认保存在 $DSH_HOME/shop；Profile 依赖、锁文件和 cordis.patch.yml 可被修改。安装的插件可能再写自己的数据，卸载商店不会自动移除它们。

真实 Token、API Key、Cookie 和账号 ID 不应写进 Git 仓库、网页截图或公开 Issue。测试结束后撤销临时凭据。

## 卸载、回退与清理

停止 DSH 后，从同一个 Profile 移除包：

```bash
npx --yes @deepseek-ai/dsh@0.2.1-rc.5 plugin --profile web remove dsh-plugin-shop
```

1. 停止测试 DSH，从相同环境移除商店：`npx --yes @deepseek-ai/dsh@0.2.1-rc.5 plugin --profile web remove dsh-plugin-shop`。
2. 若安装/启停失败，停机比较并整体恢复原 Profile 的 package.json、锁文件及 cordis.patch.yml，用原依赖重新安装后再启动；不能保证只移除一个依赖就完整回退。
3. 确认组合配置不再包含 shop；按需清理 $DSH_HOME/shop，保留排障所需日志。其他已安装插件和其数据需要分别审核与移除。
4. 服务器由运维方式重启。不要为绕过拒绝而设置 allowRestart:true；辅助进程不能替代 systemd 或部署文档的恢复流程。

### 发布物与源码之间已确认到什么程度

本次重新解析 v0.9.0，固定到 9d77c6db2bc70f8a1402b497db9acb2f9eca5ab5。npm tarball 完整性与 registry 签名通过；4 个发布文件逐字节匹配，package.json 的 scripts/devDependencies 仅包装差异，54 个构建文件未独立重建。npm 没有 gitHead/provenance，不能声称构建等价或运行成功。初查提交 6b2867cc651f4ab37641f51c877d1930955e77ee 的后续功能不混入本页。

## 常见问题

### 安装目标不存在或版本不一致

确认 npm dsh-plugin-shop@0.9.0，对照固定发行标签的 packages/dsh-plugin-shop；目录不含目标、deny、版本或重名冲突应停止，不改成 latest。

### 重启被拒绝或重启后失联

检查 Desktop/default Profile/Windows/systemd/--port 0 闸门及 restart.log；由原运维入口恢复。allowRestart:false 不是全局重启禁用，不能据此认为其他入口已被封禁。

### 安装完成但功能没更新，或启停只完成一部分

模块缓存、客户端加载和多条目切换可能需要停机重启；先检查依赖、锁文件、配置差异和加载错误，必要时恢复整套备份，勿反复点击更新。

### 安装成功但页面或命令没有出现

先运行 `--dump-config` 确认 Bundle 已进入 `web` Profile，再重启 DSH Web 并硬刷新浏览器。不要通过反复扩大权限来解决加载问题。

### 插件运行后没有得到预期结果

把问题缩小到本页的最小验证任务，检查作者文档要求的变量、外部服务和平台限制。保存终端错误原文，并核对当前安装目标是否仍对应本页固定提交。

作者固定资料中未识别到独立故障章节。遇到插件特有错误时，应先停止 DSH、保留日志并回退插件。

## 固定来源证据

以下资料是本文配置结论的依据：

- [README.zh.md](https://github.com/LivXue/dsh-plugin-shop/blob/9d77c6db2bc70f8a1402b497db9acb2f9eca5ab5/README.zh.md)
- [README.md](https://github.com/LivXue/dsh-plugin-shop/blob/9d77c6db2bc70f8a1402b497db9acb2f9eca5ab5/README.md)
- [packages/dsh-plugin-shop/README.md](https://github.com/LivXue/dsh-plugin-shop/blob/9d77c6db2bc70f8a1402b497db9acb2f9eca5ab5/packages/dsh-plugin-shop/README.md)
- [SECURITY.md](https://github.com/LivXue/dsh-plugin-shop/blob/9d77c6db2bc70f8a1402b497db9acb2f9eca5ab5/SECURITY.md)
- [packages/dsh-plugin-shop/docs/README.zh.md](https://github.com/LivXue/dsh-plugin-shop/blob/9d77c6db2bc70f8a1402b497db9acb2f9eca5ab5/packages/dsh-plugin-shop/docs/README.zh.md)
- [SECURITY.zh.md](https://github.com/LivXue/dsh-plugin-shop/blob/9d77c6db2bc70f8a1402b497db9acb2f9eca5ab5/SECURITY.zh.md)

继续查看：[返回 dsh-plugin-shop 插件详情页](/plugins/livxue-dsh-plugin-shop/)，重新核对兼容性、权限、同类插件和来源状态。

## 原始来源

- https://github.com/LivXue/dsh-plugin-shop/tree/9d77c6db2bc70f8a1402b497db9acb2f9eca5ab5/packages/dsh-plugin-shop
- https://github.com/LivXue/dsh-plugin-shop/blob/9d77c6db2bc70f8a1402b497db9acb2f9eca5ab5/packages/dsh-plugin-shop/package.json
- https://github.com/LivXue/dsh-plugin-shop/blob/9d77c6db2bc70f8a1402b497db9acb2f9eca5ab5/packages/dsh-plugin-shop/cordis.patch.yml
- https://github.com/LivXue/dsh-plugin-shop/blob/9d77c6db2bc70f8a1402b497db9acb2f9eca5ab5/packages/dsh-plugin-shop/src/host/index.ts
- https://github.com/LivXue/dsh-plugin-shop/blob/9d77c6db2bc70f8a1402b497db9acb2f9eca5ab5/packages/dsh-plugin-shop/src/host/install.ts
- https://github.com/LivXue/dsh-plugin-shop/blob/9d77c6db2bc70f8a1402b497db9acb2f9eca5ab5/packages/dsh-plugin-shop/src/host/catalog.ts
- https://github.com/LivXue/dsh-plugin-shop/blob/9d77c6db2bc70f8a1402b497db9acb2f9eca5ab5/packages/dsh-plugin-shop/src/host/profile.ts
- https://github.com/deepseek-ai/deepseek-harness/blob/b830ec950faba0a46dda564be3e2d854afed94f1/packages/boot/app-boot/src/plugin-compatibility.ts
- https://github.com/deepseek-ai/deepseek-harness/blob/b830ec950faba0a46dda564be3e2d854afed94f1/packages/typert/protocol/src/index.ts
- https://github.com/LivXue/dsh-plugin-shop/blob/9d77c6db2bc70f8a1402b497db9acb2f9eca5ab5/README.zh.md
- https://github.com/LivXue/dsh-plugin-shop/blob/9d77c6db2bc70f8a1402b497db9acb2f9eca5ab5/README.md
- https://github.com/LivXue/dsh-plugin-shop/blob/9d77c6db2bc70f8a1402b497db9acb2f9eca5ab5/packages/dsh-plugin-shop/README.md
- https://github.com/LivXue/dsh-plugin-shop/blob/9d77c6db2bc70f8a1402b497db9acb2f9eca5ab5/SECURITY.md
