---
title: "为 DSH Web 添加戏仿广告和复古门户视觉效果"
seo_title: "DSH Ads 安装：复古门户广告、小游戏与弹窗效果"
description: "在 DeepSeek Harness（DSH）Web 中安装 Ads 插件，加入复古门户广告、小游戏和弹窗效果，并核对浏览器注入范围。"
canonical: https://52dsh.com/tutorials/nagi-ovo-dsh-ads-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-10-02
maintenance_status: community
verification_level: source_reviewed
risk_level: medium
dsh_version: 0.2.0-rc.2
plugin_id: nagi-ovo-dsh-ads
tutorial_kind: plugin_configuration
related_plugin_url: https://52dsh.com/plugins/nagi-ovo-dsh-ads/
---

# 为 DSH Web 添加戏仿广告和复古门户视觉效果

在 DeepSeek Harness（DSH）Web 中安装 Ads 插件，加入复古门户广告、小游戏和弹窗效果，并核对浏览器注入范围。

<!-- BEGIN REVIEWED GUIDE SUPPLEMENT -->
## 2026-10-02 更新到 DSH Ads 0.1.2，适配 DSH 0.2.0-rc.2

本页安装目标更新为 `@nagi-ovo/dsh-ads@0.1.2`，命令固定使用 DSH 0.2.0-rc.2。新版本声明兼容 0.2.0-rc.2；本站只做了固定版本的源码与发布包静态复核，没有安装或运行。

- 推理激励广告会在回答流式输出约 1.8 秒后冻结当前回答并隐藏后续输出和工具调用行，直到完成抽奖才一次性显示；模型在后台继续运行，需要关注工具执行时可在设置中关闭该广告位。
- 服务端会以子进程调用本机 gh（或读取 GITHUB_TOKEN/GH_TOKEN）搜索 GitHub 上的 dsh-plugin 仓库，并在用户点击“验证修复”时查询当前账号是否 Star 本仓库；不希望借用 GitHub 登录时应在无 gh 登录、无令牌的环境运行。
- 0.1.2 改名为 npm 包 @nagi-ovo/dsh-ads，旧 GitHub 提交安装的包名是 @dsh-external/dsh-ads，升级时应先移除旧插件行再安装新版本。

**仍在使用 DSH 0.1.x：** 仍使用 DSH 0.1.x 的用户也可直接安装 0.1.2（作者声明兼容 0.1.1-rc.2 起）；旧提交 3a2ba704bc38（0.1.0）依赖上游已移除的 dsh-client-runtime 和旧版链式 turnTail 插槽，只适合 DSH 0.1.5 及更早版本。

依据：[固定证据 1](https://github.com/Nagi-ovo/dsh-ads/blob/c24ca58a978bd7770f8129c906ad777090b4c0c6/src/client/InferenceRewardGate.tsx)、[固定证据 2](https://github.com/Nagi-ovo/dsh-ads/blob/c24ca58a978bd7770f8129c906ad777090b4c0c6/src/star-host.ts)、[固定证据 3](https://github.com/Nagi-ovo/dsh-ads/blob/c24ca58a978bd7770f8129c906ad777090b4c0c6/package.json)。
<!-- END REVIEWED GUIDE SUPPLEMENT -->

dsh-ads 0.1.2 在 DSH Web 侧栏、对话轮次尾部、推理过程中和右下角插入虚构的戏仿广告、假杀毒弹窗、抽奖转盘与假游戏海报，并把 GitHub 上带 dsh-plugin topic 且近两周更新的公开插件做成推荐横幅；每个广告位可在 设置 → 广告（非官方）单独关闭。

如果你的目标是为 DSH Web 加入复古门户广告、小游戏和弹窗视觉效果，本教程会说明如何在 DeepSeek Harness（DSH）中准备、安装、配置、验证和回退 dsh-ads。本文锁定作者仓库提交 `c24ca58a978b`；已复核固定提交的原始资料，未进行运行实测。

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

## 先确认是否适合你

- **分类**：界面交互
- **风险等级**：medium
- **核验证据**：source_reviewed
- **兼容性边界**：唯一受 DSH 检查的 peer @deepseek-ai/dsh-client-locale 声明 ^0.1.0-rc.6 || ^0.2.0-rc.1，按 semver includePrerelease 判定满足 0.2.0-rc.2；README 声明兼容 DSH 0.1.1-rc.2 到 0.2.0-rc.2。52DSH 未运行实测；旧 0.1.0 的 peer ^0.1.0-rc.6 不满足 0.2.0-rc.2。
- **主要权限关注**：注入 Web 客户端 conversation.input.dock、conversation.chat.turnTail 与 settings.section 插槽；服务端在 DSH Web 服务器注册两个无鉴权 JSON 路由，并以子进程调用本机 gh CLI（或读取 GITHUB_TOKEN/GH_TOKEN）查询 GitHub；不注册 Agent 工具，不读写工作区文件。

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

## 安装前准备

**本页 DSH 命令版本：** `0.2.0-rc.2`。0.1.2 声明的 DSH 版本范围包含 0.2.0-rc.2，本页固定 DSH 0.2.0-rc.2。仅静态复核，未在本站运行验证。

- **独立 web Profile**：插件只在 Web 客户端生效，TUI、ACP 和 headless 下不显示广告层；建议先装到单独的 web Profile 试用。
- **GitHub CLI 或令牌（可选）**：服务端会优先调用本机 gh 搜索 dsh-plugin 插件并检查 Star；若不希望插件借用 gh 登录或 GITHUB_TOKEN/GH_TOKEN，请在未登录 gh、未设置这些变量的环境中运行，插件会退回匿名 API 或内置快照。

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

## 安装 dsh-ads

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

```bash
npx --yes @deepseek-ai/dsh@0.2.0-rc.2 plugin --profile web add @nagi-ovo/dsh-ads@0.1.2
```

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



## 插件专属配置

### 配置目标

- `设置 → 广告（非官方）`：分别开关两侧广告栏、对话里的推荐、推理激励广告、右下角弹窗、跑分中心、安全中心、贪玩蓝鲸海报和音效；选择保存在浏览器 localStorage。
- `$DSH_HOME/profiles/web/cordis.patch.yml`：插件行 id: dsh-ads；源码支持在 config 中设置 freshDays（推荐位的更新天数窗口，默认 14）与 cacheMinutes（GitHub 搜索缓存分钟数，默认 30），README 未记载这两项。
- `设置 → 语言`：切换中文或 English 后，当前页面立即更换整套广告素材与文案，无需刷新。

### 环境变量

- `GITHUB_TOKEN`（可选），敏感：gh 不可用时，服务端用它作为 Bearer 令牌搜索 dsh-plugin 仓库并检查当前账号是否 Star 本仓库；不设置则使用匿名 API。
- `GH_TOKEN`（可选），敏感：GITHUB_TOKEN 未设置时的备选令牌，用途同上。

### 固定版本安装与配置检查

证据：[固定来源](https://github.com/Nagi-ovo/dsh-ads/blob/c24ca58a978bd7770f8129c906ad777090b4c0c6/README.md)。将路径、账号和凭据占位符替换为测试值。

```bash
npx --yes @deepseek-ai/dsh@0.2.0-rc.2 plugin --profile web add @nagi-ovo/dsh-ads@0.1.2
npx --yes @deepseek-ai/dsh@0.2.0-rc.2 --profile web --dump-config
```

### $DSH_HOME/profiles/web/cordis.patch.yml（可选：调整推荐位窗口与缓存，源码默认值）

证据：[固定来源](https://github.com/Nagi-ovo/dsh-ads/blob/c24ca58a978bd7770f8129c906ad777090b4c0c6/src/index.ts)。将路径、账号和凭据占位符替换为测试值。

```yaml
- id: dsh-ads
  config:
    freshDays: 14
    cacheMinutes: 30
```

### 安装后设置

1. 如果 DSH Web 正在运行，重启后刷新浏览器页面。
2. 打开 设置 → 广告（非官方），关闭不想要的广告位；需要正常阅读回答时建议先关闭“推理激励广告”。
3. 确认是否允许插件借用本机 gh 登录或 GITHUB_TOKEN/GH_TOKEN 查询 GitHub；不允许时在未登录 gh、未设置令牌的环境启动 DSH。


## 配置验证与成功结果

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

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

1. **确认 web Profile 中出现 id 为 dsh-ads、name 为 @nagi-ovo/dsh-ads 的插件行。**

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

   期望结果：插件行存在且没有加载错误；只证明配置写入，不代表界面效果已验证。

2. **刷新 DSH Web，打开 设置 页面查找“广告（非官方）”分区。**

   期望结果：分区内列出各广告位开关，侧栏或对话中开始出现戏仿广告。

3. **在测试会话连续进行几轮对话，观察对话推荐与推理激励广告。**

   期望结果：每隔数轮出现对话内推荐；推理激励广告出现时后续输出暂时隐藏，完成后一次性显示，关闭该开关后不再出现。

## 第一次使用

- 在 设置 → 语言 切换到 English，观察广告素材和弹窗即时切换为英文戏仿风格。
- 点击对话里的插件推荐横幅，打开对应的真实 GitHub 插件仓库。
- 在 设置 → 广告（非官方）只保留贪玩蓝鲸海报，其余广告位全部关闭。

## 数据、权限与凭据

**数据流：**服务端：/dsh-ads/registry.json 依次用 gh api search/repositories、GITHUB_TOKEN/GH_TOKEN 或匿名 api.github.com 搜索 topic:dsh-plugin 公开仓库，结果在进程内缓存 30 分钟，失败时用内置快照；/dsh-ads/star-check.json 在用户点击“验证修复”后用 gh api user/starred/Nagi-ovo/dsh-ads 或令牌查询当前 GitHub 账号是否 Star 本仓库，仅返回 starred/absent/unavailable。浏览器：可能匿名请求 api.github.com 的 stargazers 列表比对用户输入的 GitHub ID；开关、轮播曝光记录和 ID 只存于 localStorage 的 dsh-ads:* 键。

**权限关注：**注入 Web 客户端 conversation.input.dock、conversation.chat.turnTail 与 settings.section 插槽；服务端在 DSH Web 服务器注册两个无鉴权 JSON 路由，并以子进程调用本机 gh CLI（或读取 GITHUB_TOKEN/GH_TOKEN）查询 GitHub；不注册 Agent 工具，不读写工作区文件。

**数据存储：**开关、轮播曝光记录和在假安全中心输入的 GitHub ID 只保存在浏览器 localStorage 的 dsh-ads:* 键中；服务端只在进程内存缓存 GitHub 搜索结果与 Star 结果，不写入磁盘；GitHub 查询经本机 gh、环境令牌或匿名 api.github.com 发出。

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

## 卸载、回退与清理

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

```bash
npx --yes @deepseek-ai/dsh@0.2.0-rc.2 plugin --profile web remove @nagi-ovo/dsh-ads
```

1. 执行 npx --yes @deepseek-ai/dsh@0.2.0-rc.2 plugin --profile web remove @nagi-ovo/dsh-ads，再用 --dump-config 确认 dsh-ads 插件行已消失。
2. 重启 DSH Web 并刷新页面，确认广告层和“广告（非官方）”设置分区消失。
3. 在浏览器开发者工具中删除以 dsh-ads: 开头的 localStorage 键，清除开关、曝光记录和输入过的 GitHub ID。

## 常见问题

### 安装后看不到任何广告

确认使用的是 Web 客户端且已重启并刷新；用 --dump-config 检查插件行；广告层不在 TUI、ACP 或 headless 中显示。

### 回答和工具调用迟迟不显示

这是推理激励广告的设计：模型仍在后台运行，完成抽奖后一次性显示；可在 设置 → 广告（非官方）关闭“推理激励广告”。

### 推荐位只显示少量或旧插件

GitHub 匿名 API 有速率限制，失败时插件改用内置快照；登录 gh 或调大 cacheMinutes 可减少请求，freshDays 设为 0 则展示全部 topic 插件。

### 关闭开关后贪玩蓝鲸海报仍在

0.1.1 起已修复设置页开关无法移除已显示海报的问题（issue #14）；确认已升级到 0.1.2。

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

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

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

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

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

## 固定来源证据

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

- [README.md](https://github.com/Nagi-ovo/dsh-ads/blob/c24ca58a978bd7770f8129c906ad777090b4c0c6/README.md)
- [contrib/README.md](https://github.com/Nagi-ovo/dsh-ads/blob/c24ca58a978bd7770f8129c906ad777090b4c0c6/contrib/README.md)

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

## 原始来源

- https://github.com/Nagi-ovo/dsh-ads
- https://github.com/Nagi-ovo/dsh-ads/blob/c24ca58a978bd7770f8129c906ad777090b4c0c6/package.json
- https://github.com/deepseek-ai/deepseek-harness/blob/639ed015397290b3745d163aafe02ffee4aa3f84/packages/boot/app-boot/src/plugin-compatibility.ts
- https://github.com/Nagi-ovo/dsh-ads/blob/c24ca58a978bd7770f8129c906ad777090b4c0c6/README.md
- https://github.com/Nagi-ovo/dsh-ads/blob/c24ca58a978bd7770f8129c906ad777090b4c0c6/contrib/README.md
- https://github.com/Nagi-ovo/dsh-ads/blob/c24ca58a978bd7770f8129c906ad777090b4c0c6/src/client/InferenceRewardGate.tsx
- https://github.com/Nagi-ovo/dsh-ads/blob/c24ca58a978bd7770f8129c906ad777090b4c0c6/src/star-host.ts
