🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI
← 全部攻略

DSH 界面里为什么会冒出广告,拆开 dsh-ads 看实现

营销 / 广告类文章2026/10/1 发布1 次阅读

dsh-ads 的 README 给它的定位是「把 DeepSeek Harness 变成 2005 年门户网站。连 inference 都逃不过广告。」它也写明「广告是假的,插件是真的」。这篇不装、不测,只拆实现。

先摆硬数字:仓库 Nagi-ovo/dsh-ads 目前 637★,本站综合分 67.2,npm 包 @nagi-ovo/dsh-ads @ 0.1.2,README 声明兼容 DSH 0.1.1-rc.2 到 0.2.0-rc.2,最近一次提交在 1 天前。

先认清它的家族:一个客户端 UI 插件

详情页的能力徽章把它标为 ui,分类 token 是 ads。它依赖 11 个 Cordis / DSH 模块:@deepseek-ai/cordis、@deepseek-ai/dsh-client-locale、dsh-client-store、dsh-client-ui-chat、dsh-client-ui-conversation、dsh-client-ui-primitives、dsh-client-ui-renderer、dsh-client-ui-session、dsh-client-ui-settings、dsh-client-ui-slots、@deepseek-ai/schemastery。

这份清单说明了它的性质:dsh-client-ui-slots 管插槽注册,dsh-client-ui-settings 管设置页入口,dsh-client-locale 管本地化,dsh-client-store 管状态。它不在服务端改推理逻辑,而是在客户端把 UI 插槽一个个占掉——这是后面所有行为的前提。

插槽注入式 UI:四个位置怎么被占

README 写明:它在侧栏、对话、推理中途和右下角塞入一整套虚构广告。四个位置对应四类插槽,注入时机不同。

侧栏与对话

这两处是长驻区域,广告更像常驻位。因为走插槽注入而非改渲染器源码,排版与宿主 UI 一致,看上去不像外挂,倒像 DSH 原生的东西。

推理中途

最容易误解的位置。流式回答进行到一半,界面会插入一条「V4 Pro 正式版抽奖」广告,带财神鲸、每轮一抽的转盘和四道解锁进度条。它在回答流当中,不是浮在表层。

右下角

弹窗位。中文模式在这里轮播素材,README 提到两张贪玩蓝鲸海报每 20 秒自动切换,配合页游、财神、「这次一定」这套视觉语言。

「看起来暂停 inference」是怎么做的

README 原文:它看起来会暂停 inference,实际上模型一直在后台工作,只是后续回答和工具调用要等广告结束才显示。

翻成机制:模型侧没被中断,token 照常生成,工具调用照常发生;被拦下的是客户端展示层。回答已在后台就绪,UI 只是等广告放完再放它出来。观感是「卡住」,实际是「排队」——这和真正卡死的区别就在于后台没停。

双语素材切换:改一次语言,整套换掉

README 描述了两套互联网垃圾美学。切 DSH 的「设置 → 语言」,当前页面会立即更换整套素材、文案和交互,不用刷新。

  • 中文模式:页游、财神、「这次一定」;两张贪玩蓝鲸海报每 20 秒自动切换。
  • English mode:fake antivirus、weird tricks、actual gameplay。

能做到即时全换,是因为素材与文案挂在本地化层(dsh-client-locale)上,语言一变,引用同一套 key 的插槽同时重渲染。它不是「两套皮肤手动切」,而是「一份素材按语言查找」。

设置持久化:广告位是逐个关的

每个广告位都能在「设置 → 广告(非官方)」里单独关闭,选择会保留到下次启动——逐个关,不是总开关。入口由 dsh-client-ui-settings 提供,状态落进 dsh-client-store,重启会恢复上次选择。

曝光记录只保存在本机浏览器里,不做服务端统计。这和「免费广告位」的设计配套:带 dsh-plugin topic 的公开插件自动参与轮播,想指定文案或图片可以投稿并发 PR。

Star 校验链路:13 处扫描证据里最该看的几行

本站安全扫描 v2.7.0 的结论是「含敏感能力」,共 13 处证据,范围是入口闭包加发布文件清单。复述几条关键行——这只是能力清单,不是危险判定。

  • lib/index.js:1805 与 :1923:const token = process.env.GITHUB_TOKEN ?? process.env.GH_TOKEN ?? "";,读取密钥环境变量。
  • lib/index.js:1907:请求外部主机 api.github.com,取当前用户对指定仓库的 star 状态。
  • src/catalog.ts:202 与 src/star-host.ts:92:源码层同样读取 GITHUB_TOKEN / GH_TOKEN。
  • src/star-host.ts:73:同样请求 api.github.com。

README 免责声明对此有对应说明:「验证修复」只在用户主动点击后查询一次 GitHub Star 状态,优先用本机 gh 或 token,否则调匿名公开 API,结果只存本机浏览器。链路只读:读一遍 token、发一次请求,不写回。

本站尚未对该插件做风险分级,暂未覆盖不等同于无风险。

推荐位来自哪里

GitHub 上带 dsh-plugin topic、且最近两周更新过的公开插件会进入推荐位,点击广告可打开真实仓库;仓库换到个人账号或别的组织后仍能被发现。这套列表由 src/client/registry.ts:51 的 fetch(REGISTRY_ROUTE, { cache: 'no-store' }) 拉取,绕开缓存保证相对新鲜。

总结

它是一个把虚构广告经插槽注入到四个界面位置的客户端 UI 插件,靠「拦展示层而不是拦模型」制造推理暂停的假象,用本地化层做双语素材切换,用客户端存储做设置持久化;想对照同类插件的中文清单与安装形态见 DeepSeek Harness Hub 插件清单。

适合与不适合

适合:想看清 DSH 客户端插槽机制的人;对 2005 年门户美学有怀旧情绪的人;做插件开发、想看 ui 类插件如何组织模块依赖的人。

不适合:任何需要生产力的场景——它不含任何生产力功能;需要投屏演示或汇报的人,广告里虚构的品牌、域名、价格与承诺易被误认成真实信息;不喜欢被弹窗打断阅读的人。

标签:dsh-ads、DeepSeek Harness、客户端插件拆解、插槽注入、Cordis 模块

本文由 DeepSeek Harness Hub 自动整理,数据来源于插件详情页。

60 秒视频版 · AI 辅助生成并人工校对
回到顶部