---
title: "用 Web Search Pro 为 DSH 配置持久网页搜索"
seo_title: "DSH Web Search Pro：多引擎搜索、缓存与网页渲染"
description: "在 DeepSeek Harness（DSH）中安装 Web Search Pro，配置多搜索引擎、SQLite 与 LRU 缓存、平台后端和 Playwright 渲染。"
canonical: https://52dsh.com/tutorials/anweat-dsh-web-search-pro-install-config/
authors: ["52DSH 编辑部"]
audience: []
outcomes: []
prerequisites: ["Node.js 与 pnpm","独立 web Profile","可丢弃测试工作区"]
difficulty: intermediate
estimated_action_time: null
next_steps: null
published_at: 2026-08-22
updated_at: 2026-10-02
verified_on: 2026-08-22
maintenance_status: community
verification_level: community_compiled
risk_level: medium
dsh_version: 0.1.1-rc.2
plugin_id: anweat-dsh-web-search-pro
tutorial_kind: plugin_configuration
related_plugin_url: https://52dsh.com/plugins/anweat-dsh-web-search-pro/
---

# 用 Web Search Pro 为 DSH 配置持久网页搜索

在 DeepSeek Harness（DSH）中安装 Web Search Pro，配置多搜索引擎、SQLite 与 LRU 缓存、平台后端和 Playwright 渲染。

<!-- BEGIN REVIEWED GUIDE SUPPLEMENT -->
## DSH 0.2.0-rc.2 版本提示（2026-10-02）

上游最新的 0.1.15 在 [package.json](https://github.com/anweat/dsh-web-search-pro/blob/6f27833daee33d7f76450751ee617098de33f794/package.json) 中 `@deepseek-ai/dsh-api-remotes` 限定为 `0.1.7-rc.2`（共 10 项 DSH 依赖不满足），DSH 0.2.0-rc.2 会[拒绝安装或停用](https://github.com/deepseek-ai/deepseek-harness/blob/639ed015397290b3745d163aafe02ffee4aa3f84/packages/boot/app-boot/src/plugin-compatibility.ts)这个版本。本页仍固定 0.1.2：

- 0.1.2 的 package.json 没有声明 DSH 版本范围，不会被 0.2.0-rc.2 的版本检查拦截；但本站没有在 0.2.0-rc.2 上运行验证。
- 不要直接把安装目标换成最新版；作者发布声明兼容 0.2.0 的版本后，本站再复核更新。

升级 DSH 前怎样处理已装插件，见[更新或卸载插件](/tutorials/dsh-update-uninstall/#更新或卸载插件)。

## 搜索配置与新版兼容边界

Web Search Pro 提供 `web_search_pro` 等工具，也可按配置注册搜索 Provider；因此不能仅凭 `web_search` 工具名认定正在调用哪一个实现。聊天能用而搜索失败时，先看[搜索后端与 401 判断表](/errors/dsh-missing-credential-401/)。

2026-09-12 重新读取插件 0.1.2 固定提交的 README、package.json、patch 和入口，并校验 npm 0.1.2 精确包完整性。包声明的 DSH 组件依赖仍为 `^0.1.0-rc.6`，没有形成对宿主 0.1.5-rc.1 的完整兼容证据；本轮不提升验证等级，不替换下方旧宿主示例，也未安装或执行插件。

特别注意：README/patch 注释把 dsh-browser 描述成自动带入的普通依赖，但此固定 package.json 将 `@anweat/dsh-browser` 列为 peerDependencies；不能将 README 的“一条命令必定成功”当成验收结果。先确认实际依赖解析及 browser 服务，遇到缺包或加载失败停止，不全局放行构建脚本。

| 核对项 | 已有资料支持的范围 |
|---|---|
| 配置对象 | `web-search-pro` 的 settings 段与插件配置；不等于聊天 Provider 的 Base URL |
| 凭据 | README 列出 EXA_API_KEY、JINA_API_KEY 及对应引用；只用测试凭据，不把 Key 写入聊天或公开示例 |
| 测试查询 | 兼容与依赖确认后，用无敏感内容的查询，例如“DeepSeek Harness 官方仓库”，只验证单个引擎 |
| 预期结果 | 检查实际调用实现、返回来源 URL 和错误；普通聊天成功不算搜索通过；本站未执行该测试 |
| 停止方法 | 停止测试 DSH，按下方原 Profile 卸载步骤处理；缓存、截图、登录态与外部授权分别核对，不认为卸载包会清空所有数据 |

下方命令与作者配置片段保留旧版本资料范围。新版使用应先完成隔离兼容验收，不因本次资料补充就直接用于重要工作区。

依据：[固定证据 1](https://github.com/anweat/dsh-web-search-pro/blob/f8f388c75d11a5fbee673a4ab010c166098a989b/README.md)、[固定证据 2](https://github.com/anweat/dsh-web-search-pro/blob/f8f388c75d11a5fbee673a4ab010c166098a989b/package.json)、[固定证据 3](https://github.com/anweat/dsh-web-search-pro/blob/f8f388c75d11a5fbee673a4ab010c166098a989b/src/index.ts)、[固定证据 4](https://github.com/anweat/dsh-web-search-pro/blob/f8f388c75d11a5fbee673a4ab010c166098a989b/cordis.patch.yml)。
<!-- END REVIEWED GUIDE SUPPLEMENT -->

提供多搜索引擎、SQLite 与 LRU 缓存、平台后端和 Playwright 渲染的持久网页搜索能力。

如果你的目标是为 DSH 配置多搜索引擎、持久缓存和 Playwright 网页渲染，本教程会说明如何在 DeepSeek Harness（DSH）中准备、安装、配置、验证和回退 dsh-web-search-pro。本文锁定作者仓库提交 `f8f388c75d11`；根据固定提交的作者资料整理，未进行运行实测。

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

## 先确认是否适合你

- **分类**：工具能力
- **风险等级**：medium
- **核验证据**：manifest_checked
- **兼容性边界**：包含 dsh.bundle；未声明明确 DSH peer 版本，本站尚未运行实测
- **主要权限关注**：可能读取用户提供的内容或调用外部工具；核对数据流、依赖和输出边界

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

## 安装前准备

1. 安装 Node.js 22.19、Node.js 24 或项目当前声明支持的更高版本，并确认 `pnpm` 可用。
2. 使用独立的 `web` Profile 和可丢弃测试工作区，不直接连接生产目录。
3. 备份当前 Profile 配置，并记录安装前的 `--dump-config` 输出。
4. 核对固定来源中的外部服务、账号、运行时和平台限制。
5. 需要凭据时只准备测试凭据；本页识别到的候选变量包括 `EXA_API_KEY`、`JINA_API_KEY`。

## 安装 dsh-web-search-pro

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

```bash
npx --yes @deepseek-ai/dsh@0.1.1-rc.2 plugin --profile web add github:anweat/dsh-web-search-pro#f8f388c75d11
```

GitHub 源码插件如果被 pnpm 拦截构建脚本，先检查终端提示的具体包和脚本。只在 `web` Profile 中放行确实需要的构建项，不要全局放行未知依赖。

作者文档还出现了以下命令。它们用于核对功能或开发流程，不应替换上面的锁定安装命令，也不要一次全部执行：

- `dsh plugin --profile web add dsh-web-search-pro   # 自动装 dsh-browser（dependency）+ 自动挂载 browser 行（本 patch）`
- `dsh plugin --profile web add ./dsh-web-search-pro`
- `dsh --profile web`

## 插件专属配置

固定提交中包含配置或设置章节。下面只保留能够追溯到作者文档的字段和片段。

**本类插件的最小权限设置：**只启用完成当前任务所需的单一工具，把输入和输出限制在独立测试目录。

### README 中识别到的变量名

以下只列变量名，不代表每个变量都必需；是否使用以及取值格式以对应固定来源为准。

- `EXA_API_KEY`
- `JINA_API_KEY`

### 作者配置片段（README.md）

来源：[固定提交中的 README.md](https://github.com/anweat/dsh-web-search-pro/blob/f8f388c75d11a5fbee673a4ab010c166098a989b/README.md)。复制前先替换占位符并删除不需要的权限。

```bash
dsh plugin --profile web add dsh-web-search-pro   # 自动装 dsh-browser（dependency）+ 自动挂载 browser 行（本 patch）
# 或本地目录 / tarball：
dsh plugin --profile web add ./dsh-web-search-pro
# 重启（web profile 关闭了 HMR）：
dsh --profile web
```

### 作者配置片段（README.md）

来源：[固定提交中的 README.md](https://github.com/anweat/dsh-web-search-pro/blob/f8f388c75d11a5fbee673a4ab010c166098a989b/README.md)。复制前先替换占位符并删除不需要的权限。

```yaml
web-search-pro:
     exaApiKey: 'sk-...'       # 或环境变量 EXA_API_KEY / .credentials.yaml
     jinaApiKey: 'jina_...'    # 或环境变量 JINA_API_KEY
     engines: [ddg, bing, exa, seam, jina]
     parallelEngines: false
     ttlSeconds: 3600
     searchMaxResults: 8
```


## 配置验证与成功结果

1. **确认 Bundle 已加载**

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

   期望结果：组合配置中出现 `dsh-web-search-pro` 或仓库声明的 Bundle 名称。

2. **启动 Web Profile**

   ```bash
   npx --yes @deepseek-ai/dsh@0.1.1-rc.2 web
   ```

   期望结果：DSH Web 正常启动，浏览器控制台和终端没有持续重复的插件加载错误。

3. **执行插件专属最小任务**

   使用最小输入调用一次插件能力，并核对返回数据结构、日志和文件变化。

   期望结果：输出格式与插件说明一致，失败时不会覆盖原始文件。

## 第一次使用

- 准备一个可丢弃的小文件或数据样例，只运行一次核心工具能力并检查结果。
- 只验证一个核心能力，保存输入、输出和日志；确认无异常后再扩大权限或数据范围。

## 数据、权限与凭据

**权限关注：**可能读取用户提供的内容或调用外部工具；核对数据流、依赖和输出边界

**数据存储：**作者资料没有形成统一存储结论。测试时检查 web Profile、工作区、用户目录以及所连接的外部服务，并记录新增文件或远端数据。

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

## 卸载、回退与清理

1. 停止正在运行的 DSH Web。
2. 从同一个 Profile 移除插件：

   ```bash
   npx --yes @deepseek-ai/dsh@0.1.1-rc.2 plugin --profile web remove dsh-web-search-pro
   ```

3. 再次运行 `--dump-config`，确认对应 Bundle 已消失。
4. 检查测试工作区、插件声明的数据目录和外部服务，手动删除测试数据并撤销测试凭据。卸载依赖不会自动删除这些数据。

## 常见问题

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

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

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

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

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

## 固定来源证据

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

- [README.md](https://github.com/anweat/dsh-web-search-pro/blob/f8f388c75d11a5fbee673a4ab010c166098a989b/README.md)

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

## 原始来源

- https://github.com/anweat/dsh-web-search-pro
- https://github.com/anweat/dsh-web-search-pro/blob/f8f388c75d11a5fbee673a4ab010c166098a989b/README.md
- https://github.com/anweat/dsh-web-search-pro/blob/f8f388c75d11a5fbee673a4ab010c166098a989b/package.json
- https://github.com/anweat/dsh-web-search-pro/blob/f8f388c75d11a5fbee673a4ab010c166098a989b/src/index.ts
- https://github.com/anweat/dsh-web-search-pro/blob/f8f388c75d11a5fbee673a4ab010c166098a989b/cordis.patch.yml
