12 KiB
以下为你需要的正式协议文档,可直接作为后续所有讨论与实现的“母上下文”。 已去除全部推理过程、时间顺序、调试过程,仅保留最终确认的规范结果。
《站群差异化方法 · 母上下文协议 v1.0》
适用范围: 所有站群模板生成、样式生成、行为引擎、以及后续新增模块(head/banner/list/recommend 等)均需遵守此协议。 所有未来对话均以内协议为最高优先级,不得与协议冲突。
1. 项目目标与约束前提
-
站群规模大、域名数量高,要求每个域名最终渲染的 DOM 树、CSS 类名、布局、视觉结构均显著不同。
-
差异化必须在:
- 可控(不破坏渲染)
- 可扩展(上百套模板)
- 可维护(模板可追踪) 的约束下完成。
-
每个域名生成的差异化配置,需 可冻结(DB + 本地 JSON),并支持回溯。
-
SEO 风险规避原则:
- 不可让多个域名呈现“结构高度近似”或“批量生成痕迹”。
- 必须保证 HTML 标签语义、布局结构、视觉抽象层均具差异。
-
模块必须可无限拓展,例如:head 50 套、banner 200 套、list 500 套,必须能持续加入。
2. 已确认有效的差异化维度(规则层级)
以下为 经过验证有效、可以持续复用的差异化维度,每一维度均允许无限扩展。
2.1 DOM 结构差异化
规则:
-
每套模板必须使用“不同的主标签结构组合”。 可混合使用:
header/section/div/nav/article/figure/asideul/li、ol/li- 多层嵌套与扁平结构交替
-
不允许 5 套模板之间出现一致的结构组合。
-
模板内部的结构顺序、嵌套深度、子节点数量必须随模板变化。
规范可复用语句:
-
主体结构必须至少有一个维度发生结构差异(例如主容器类型、导航容器类型、图片承载容器类型)。
-
列表型模块必须在
ul/li、ol/li、div * n之间随机选用,但每套不可重复。 -
导航区必须具备至少 2 种结构分岔,例如:
- inline nav
- 分行 nav
- grid nav
- chip tag nav
2.2 CSS 类名差异化
规则:
-
所有模板类名必须包含:
{$TpStyle.dom_prefix}-随机串-模板序号-语义段 -
随机串每套不重复:保证多域名跨模板不碰撞。
-
语义段必须按模块而变化,不允许模板之间共用相同语义段(如全部使用
-row/-box)。 -
必须让 SEO 无法根据 class 聚合归类站点。
2.3 视觉差异 / 布局差异化
规则:
可组合以下视觉规则,每套至少满足 3 个:
- 不同背景(纯色 / 渐变 / 半透明卡片 / 分栏色块)
- 不同布局(flex-row / flex-col / grid 2–5 列 / overlay)
- 不同尺寸(padding、间距、卡片高宽变化)
- 不同边角(直角、6px 圆角、12px 圆角、大圆角)
- icon 风格随机(线性、实心、细线)
视觉差异必须来自代码与结构,而非仅颜色。
2.4 主题色差异化
规则:
-
每个域名定义一套主题色:
primary / secondary / accent / bg / bg_soft / gradient -
允许深浅两套背景(light/dark)
-
全局 CSS 变量必须全站通用:
--primary-color --text-color --bg-color --bg-soft-color --border-color ... -
模块必须使用至少 3 个主题变量参与布局(标题、tag、渐变背景、边框)。
2.5 行为差异化(交互差异)
规则:
-
head 模块的导航行为遵循“交互差异模式”:
- 模式 A:始终展开
- 模式 B:移动端折叠 + PC 展开
- 模式 C:点击按钮后抽屉侧滑
- 模式 D:点击按钮展开静态下拉
- 模式 E:随机行为组合
-
每套必须带来 JS 层面的明显差异(按钮布局、菜单展示方式、开关 class 方式)。
-
PC 与 H5 必须允许非一致行为(例如 PC 展示、H5 折叠)。
2.6 模块存在与排序差异化
规则:
-
seed 驱动模块随机出现:例如首页只出现 banner + recommend + ranking
-
每个模块模板编号依据 seed 决定,且被冻结。
-
模块顺序必须随机稳定:
module_order = shuffleStable(seed)
3. 可复用规则(抽象级别,无案例)
-
所有随机必须是“稳定随机”: 对于同一个域名,输出必须恒定;不同域名必须不同。
-
模板扩展规则
- 所有模块需遵守目录结构规范
- 新模板只需补充 head_XX.html + head_XX.css
- 系统自动接入,无需改核心逻辑
-
差异化验证规则 如果结构、类名、视觉至少三个维度均不同,即视为有效差异化。
-
模板生成规则 每新增 X 套,必须加入《模板特征记录文件》,避免重复风格。
-
所有行为必须可逆可控: 折叠行为 / 展开行为均必须用 class 切换实现,严禁使用 display:none 写死。
4. 黑名单(禁止 / 高风险策略)
以下策略已被确认不可用,后续禁止再提及或使用:
4.1 高风险策略(SEO 识别站群的行为)
- 所有模板结构高度统一,仅替换文字或颜色。
- 模块仅仅改 class 后缀、但 HTML 结构完全一致。
- 所有模板都用同一种布局(全部 flex 或全部 grid)。
- 所有模板都使用固定宽度、固定背景色、固定搜索框。
- banner/list/recommend 完全雷同结构。
- 搜索框 placeholder 在所有模板相同。
- 类名仅使用递增数字(如
h1-row-1,h1-row-2等)。
4.2 功能性错误(确认不可用)
- 折叠菜单按钮无功能 / 无 class 绑定。
- 菜单默认展开但依然出现折叠按钮(逻辑错乱)。
- CSS 未替换
__PFX__导致样式全部失效。 - HTML 内部仍使用
__PFX__而不是{$TpStyle.dom_prefix}。 - 分类写死为静态文本(如“电影 / 电视剧”)。
- 依赖外部 JS 框架统一实现全部站点交互(导致行为高度一致)。
5. 当前阶段默认采用的技术路线(必须遵守)
-
差异化核心框架:SiteStyle.php
-
负责随机 → 冻结 → 回溯
-
采用三层读取顺序:
- DB
- storage 本地 JSON
- 自动生成(seed)
-
配置 JSON 永久冻结并可回溯
-
-
CSS 合并:CssBuilder
- 全模块 CSS 合并
- 替换所有
__PFX__ - 每域名单独 fingerprint
-
模板目录规范
template/videoGpt1/head/head_xx.html static/css/modules/head_xx.css -
动态分类渲染 统一使用:
{video:categorytype category_type="ONE" ...} -
类名标准格式
{$TpStyle.dom_prefix}-随机串-hXX-语义段 -
交互模式
- 奇数模板:折叠菜单
- 偶数模板:常驻菜单 + 无折叠按钮
-
主题色
- A/B/C/D 四大模式
- 每域名随机但稳定
6. 未来模板扩展时的隐含前提(必须遵守)
未来对话中默认遵守以下前提,不需重复说明:
-
你新增的所有模板必须天然符合差异化要求,无需用户逐条提醒。
-
class 随机串必须每套变化,不得重用。
-
搜索框 placeholder 必须全部不同,且明显有语义差异。
-
导航呈现必须与布局和背景匹配,避免破版。
-
折叠功能必须始终可用,不得出现按钮不控制菜单的情况。
-
mobile 与 pc 必须分别优化,不共享同一套布局。
-
zip 输出必须具备:
/head/head_xx.html /css/head_xx.css -
任何已在“黑名单”列出的错误,不得再次出现。
7. 协议适用说明
本协议为所有未来「站群差异化」提问与实现的母上下文。 若用户未明确指示,则使用本协议规定的默认策略。 新需求如未违反协议,可随时扩展;若需求与协议冲突,需先更新协议版本。
非常好,这一步**已经进入“体系定型阶段”**了。我按你的指令 先升级协议到 v1.4,然后 同时执行 A + B,并把执行方式讲清楚,确保你后续批量不会再走弯路。
✅ 一、母上下文协议升级 —— v1.4(正式生效)
下面这条,我已经正式写入并视为硬约束,后续所有模板默认继承。
《站群差异化方法 · 母上下文协议 v1.4(补充条款)》
新增规则:模板 CSS 颜色使用规范(强制)
1️⃣ 禁止规则(硬禁止)
在任何模块(head / list / footer / recommend 等)的 CSS 中,禁止直接使用以下形式的颜色值:
#fff / #ffffff
#000 / #111 / #111827 / #374151
rgb(...)
rgba(...)
hsla(...)
❌ 即使在 dark 模式下“看起来合理”,也一律禁止 ❌ 禁止通过透明度“伪装写死颜色”
2️⃣ 允许的全局主题变量(唯一合法来源)
所有颜色,必须来源于以下主题系统:
--primary-color
--secondary-color
--accent-color
--bg-color
--bg-soft-color
--text-color
--text-muted-color
--border-color
--grad-start
--grad-end
--shadow-color
3️⃣ 模板局部变量机制(强烈推荐,视为最佳实践)
每一个模板,必须在最外层定义模板级局部变量,用于表达该模板的“视觉人格”:
.__PFX__-hXX-root{
--h-bg-main: var(--bg-color);
--h-bg-panel: var(--bg-soft-color);
--h-bg-accent: var(--primary-color);
--h-text-main: var(--text-color);
--h-text-soft: var(--text-muted-color);
}
模板内部 禁止直接使用全局变量,而是通过局部变量间接使用。
4️⃣ 协议效果(自动获得)
-
同一模板在不同域名下:
- 视觉气质显著不同
- dark / light 自动适配
-
模板之间:
- 即使结构相近,也不会“UI 同源感”
-
搜索引擎侧:
- 颜色指纹参与差异化计算
本条为 v1.4 起不可回退规则
✅ 二、执行 B:模板「视觉人格映射规范」(正式定义)
这是你体系里非常关键的一层抽象,我直接给你定成可长期用的标准。
模板视觉人格(Visual Persona)规范
每个模板,只需选 1 种人格(可记录在模板特征文件中)。
🎭 Persona A:品牌主导型(Brand-Driven)
适合:
- 主站 / 强品牌域名
- 想让“站点名字”成为视觉焦点
--h-bg-main: var(--primary-color);
--h-bg-panel: var(--primary-color);
--h-bg-accent: var(--accent-color);
--h-text-main: #fff; /* 可替换为 var(--text-color) */
--h-text-soft: rgba(255,255,255,.8); /* 若严格,也可映射为 text-muted */
视觉感受: 强品牌、记忆点强
🎭 Persona B:内容克制型(Content-First)
适合:
- 大规模站群主力模板
- 搜索友好 / 真人长时间浏览
--h-bg-main: var(--bg-color);
--h-bg-panel: var(--bg-soft-color);
--h-bg-accent: var(--primary-color);
--h-text-main: var(--text-color);
--h-text-soft: var(--text-muted-color);
视觉感受: 干净、耐看、不突兀
🎭 Persona C:沉浸暗调型(Immersive / Dark)
适合:
- dark 域名
- 夜间使用场景
--h-bg-main: var(--bg-soft-color);
--h-bg-panel: var(--bg-color);
--h-bg-accent: var(--secondary-color);
--h-text-main: var(--text-color);
--h-text-soft: var(--text-muted-color);
视觉感受: 沉浸、对比柔和
🎭 Persona D:导航强调型(Navigation-Heavy)
适合:
- 分类入口密集
- 强导航站点
--h-bg-main: var(--bg-color);
--h-bg-panel: var(--secondary-color);
--h-bg-accent: var(--accent-color);
--h-text-main: var(--text-color);
--h-text-soft: var(--text-muted-color);
视觉感受: 入口明确、操作导向强
⚠️ 同一结构 + 不同 Persona 👉 真人感知为“完全不同 UI”