# dsh-deepshub > [English](./README.md) | **中文** [![npm version](https://img.shields.io/npm/v/dsh-deepshub?color=4a6cf7)](https://www.npmjs.com/package/dsh-deepshub) [![npm downloads](https://img.shields.io/npm/dt/dsh-deepshub?color=4a6cf7)](https://www.npmjs.com/package/dsh-deepshub) [![GitHub stars](https://img.shields.io/github/stars/01Virex/dsh-deepshub?color=4a6cf7)](https://github.com/01Virex/dsh-deepshub) [![license](https://img.shields.io/github/license/01Virex/dsh-deepshub)](LICENSE) [![status](https://img.shields.io/badge/status-%E7%A8%B3%E5%AE%9A%E7%89%88-2ecc71)](https://www.npmjs.com/package/dsh-deepshub) ```bash # 一行安装 dsh plugin --profile web add dsh-deepshub ``` **v0.3.2 — 稳定版** > ⭐ **要是它让你笑了一下,就给个 star 吧**——梗的能源全靠它了。 Pornhub 风格戏仿皮肤插件 · **纯整活,不含任何露骨内容**:炭黑/近黑底 + PH 橙(跟随系统明暗)、胶囊按钮、圆润橙字 **"Deephub"** 戏仿字标(内置 Baloo 2 ExtraBold)、18+ 进场屏、"HD 1080p" / "🔴 直播中" 角标、侧栏"今日热推"卡片——全部走官方 `--dsw-*` 设计令牌,**不改变任何功能与文案**,可随时卸载。 ## 安装 两种方式:推荐用 `dsh plugin add` 命令,或手动复制。无论哪种方式,首次安装后都需要重启一次 `dsh web`。 ### 方式 A:`dsh plugin add`(推荐) 插件 `package.json` 声明了 `dsh.bundle.patch` 清单,安装后自动识别,无需额外参数。命令语法为 `dsh plugin --profile <名> add <包>`(如 `--profile web`): - **从 npm 装**(最简单):`dsh plugin --profile web add dsh-deepshub` ← 永远装最新版 - **从克隆装**:`dsh plugin --profile web add ./dsh-deepshub` - **从发布包装**:下载 Release 页的打包 tarball,然后 `dsh plugin --profile web add /path/to/dsh-deepshub-<版本>.tgz`。 ### 方式 B:手动安装 1. 把本仓库放到 profile 的 node_modules 下(默认 `C:\Users\<你>\.dsh\profiles\node_modules\dsh-deepshub\`); 2. 在 profile 的 `cordis.patch.yml` 插入: ```yaml - insert: - id: deepshub name: dsh-deepshub ``` 3. 重启 `dsh web` 并硬刷新浏览器(Ctrl+F5)——插件 node 半(`lib/index.js`)启用后,Host 才会扫描加载浏览器半(`lib/client.js`)。 ## 功能 - **PH 配色**:炭黑/近黑底 + `#ff9000`(深色),PH 味浅灰 + 橙(浅色)——跟随系统主题,不强行覆盖偏好; - **胶囊按钮**:所有 `button` 变成 PH 式药丸; - **戏仿字标**:DeepSeek 字标 SVG → 自绘 **"Deephub"** 橙字圆体(Baloo 2 ExtraBold 拉丁子集,node 半自动 serve);favicon 与标签页标题同步换; - **"18+ 进场屏"**:每次打开 DSH 页面都弹出「本站包含高强度编程内容」确认层(点确认后本次会话不再弹); - **代码块角标**:每个代码块右上角 "HD 1080p" 小标签,运行中的工具挂 "🔴 直播中"(稳定 `data-running` 钩子); - **侧栏"今日热推"**:PH 式推荐小卡片(按 locale 文本启发式插在「新会话」按钮下方,找不到锚点自动退回固定悬浮,可点 × 关闭); - 完整覆盖官方 `--dsw-alias-*` / `--dsw-specific-*` / `--dsw-static-deepseek-*` 设计令牌,滚动条、代码块、选中色、气泡、侧栏悬浮均为橙调。 ## 配置 内置默认即完整效果,无需任何文件。三种覆盖方式,优先级从高到低: 1. **localStorage**(网页控制台实时调试):`window.dshDeepHub.setConfig({ accent: "#ff5500" })` / `window.dshDeepHub.reset()` 2. **config.json**:把 `config.example.json` 复制为插件根目录 `config.json`,node 半会自动在 `/plugins/dsh-deepshub/config.json` 提供(link 安装时即源码目录,改完刷新即生效)。 3. 内置默认(见 `config.example.json`)。 常用字段: | 字段 | 默认 | 说明 | | --- | --- | --- | | `enabled` | `true` | 总开关 | | `accent` / `accentHover` / `accentText` | `#ff9000` / `#ffa72e` / `#ffffff` | PH 橙主色 / hover / 主色上的文字 | | `wordmark` / `logoText` | `true` / `Deephub` | 戏仿字标开关与文案 | | `favicon` | `true` | 换 favicon | | `title` | `true` | 标签页标题 | | `pillButtons` | `true` | 胶囊按钮 | | `ageGate` | `true` | "18+ 进场屏"(每次页面加载都显示) | | `codeBadges` | `true` | "HD 1080p" / "🔴 直播中" 角标 | | `recommendCard` | `true` | 侧栏"今日热推"卡片(可点 × 关闭) | | `debug` | `false` | 控制台日志 `[dsh-deepshub]` | 卸载:`dsh plugin --profile web remove dsh-deepshub`,或在 profile 的 `cordis.patch.yml` 临时禁用: ```yaml - id: deepshub name: dsh-deepshub disabled: true ``` ## 包结构 ``` dsh-deepshub/ ├─ package.json # 声明 dsh.client(web 端) + dsh.bundle.patch ├─ cordis.patch.yml # 把双面插件行插入 cordis 树 ├─ lib/ │ ├─ index.js # node 半:serve config.json + 字标字体 │ └─ client.js # 浏览器半:令牌覆盖 + 胶囊按钮 + 字标/favicon/标题 + 整活层 ├─ assets/ │ ├─ deephub-bold.woff2 # Baloo 2 ExtraBold 拉丁子集(字标字体,OFL 许可) │ └─ OFL.txt # Baloo 2 许可文本 ├─ config.example.json # 配置模板 └─ scripts/ # 开发用:validate / smoke-test / package-release(不随 npm 发布) ``` ## 原理速览 浏览器半纯 DOM/CSS 实现,不依赖任何 ctx 服务: - 全部主题化通过官方设计令牌(`--dsw-alias-*` 等)完成,在 `body{}`(浅色)与 `body[data-ds-dark-theme]{}`(深色)各重定义一套,全部 `!important`,与注入顺序无关; - 主色走插件自定义属性 `--dsh-deepshub-accent-*`(设在 `:root`),改配置即时生效; - 字标替换以官方字标 SVG 内稳定的 `#dsh-wordmark-*` clipPath id 定位,不依赖构建哈希类名;MutationObserver 兜底 React 重渲染; - 18+ 进场屏、热推卡、角标均为自建节点 / 纯 CSS 钩子(`pre::after`、`[data-running]::before`),不依赖任何哈希类名; - 卸载时由 `ctx.effect` 清理:移除样式、恢复标题/favicon、断开观察器并清除注入节点。 ## 许可 插件本身 MIT。字标与配色为戏仿,与 Pornhub 公司无关;内置字体 Baloo 2 依 SIL Open Font License 使用。