Files
SEONexus/doc/1270-SEONexus-Codex多版本协作交接总文档.md
2026-04-16 14:52:08 +08:00

485 lines
9.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 1270-SEONexus Codex 多版本协作交接总文档
## 目的
这份文档用于让多个 Codex 在 `SEONexus` 新版与旧版本之间长期协作时,保持:
- 交接清楚
- 边界清楚
- 合并节奏清楚
- 不互相覆盖
- 不重复试错
适用场景:
- 你会在正式环境再安装一个或多个 Codex
- 一个 Codex 主要盯新版优化
- 另一个 Codex 主要盯旧版本蜘蛛抓取与优化
- 后续还可能出现第 3 个、第 4 个 Codex
---
## 核心原则
### 1. 同一时间只优化一份代码
这是最重要的规则。
任何时刻只允许:
- 新版在优化
- 旧版本在优化
不允许两个 Codex 同时分别改两份代码后再互相猜着合。
正确节奏是:
1. 先在一份代码上完成一轮优化
2. 验证通过
3. 合并/同步到另一份代码
4. 再开始另一份代码的分析与优化
---
### 2. 另一份代码在未同步最新前,只做“观察”,不做“改动”
如果旧版本还没合并新版最新修复,则旧版本 Codex
- 可以看日志
- 可以写分析
- 可以整理建议
- 不能先改一套自己的实现
否则后面很容易出现:
- 同一问题两边各修一版
- 路由/模板/观测逻辑走偏
- 合并时冲突越来越重
---
### 3. 新版是主验证场,旧版本是回灌场
除非明确说明某个问题只在旧版本存在,否则默认:
- 新版先验证
- 旧版本后回灌
这条规则适用于:
- 蜘蛛抓取分析
- 路由兼容
- 抓取入口修复
- sitemap / rss / robots 修复
- 前端站群 Nginx 动态回源策略
不适用于:
- 旧模板专属结构问题
- 旧模板专属页面 bug
- 旧模板专属样式/模板分支问题
---
## 版本边界
### 新版负责什么
新版主要承担:
- SEO 主线优化
- 蜘蛛抓取分析
- 新路由兼容策略验证
- 抓取入口修复
- 深页 `301/404/500` 治理
- RSS / sitemap / canonical 规范
- 新功能验证
### 旧版本负责什么
旧版本主要承担:
- 已验证能力的回灌
- 老模板抓取稳定性修复
- 老模板历史路由兼容
- 老模板蜘蛛行为观察
- 老模板入口层与规范层修复
### 不要让旧版本先承担的内容
这些优先在新版验证,不要先在旧版本自由发挥:
- Bootstrap 总控台整条链
- 站外 SEO 全量工作台
- 大型后台运营工作流
- 新模板展示层重构
- URL 主输出风格大改
---
## 多 Codex 协作角色建议
### Codex-A新版主线 Codex
职责:
- 新版 SEO 优化
- 蜘蛛日志分析
- 路由兼容修复
- 抓取入口修复
- 新功能验证
- 输出可回灌结论
### Codex-B旧版本回灌 Codex
职责:
- 等待旧版本合并最新版代码
- 分析旧版本蜘蛛抓取
- 验证回灌效果
- 只做老模板特有问题修复
- 不先发明与新版不同的实现
### Codex-C / Codex-D后续扩展 Codex
职责建议:
- 专项观察
- 文档整理
- 日志归纳
- 回归验收
不建议一上来让多个 Codex 同时改核心路由/模板。
---
## 每次开始工作前必须确认的事项
任何一个 Codex 开工前,先确认以下 6 条:
1. 当前自己负责的是:
- 新版
还是
- 旧版本
2. 另一份代码是否已经合并了最新修复
3. 当前轮次是:
- 观察
- 修复
- 回灌
- 验收
4. 这轮是否允许改代码
5. 是否已有上一个 Codex 的交接结论
6. 本轮修复目标是否只限定在一个主题
例如:
- 蜘蛛抓取概览
- 深页兼容
- RSS 修复
- 旧模板入口规范
不要一轮里又修蜘蛛、又修广告、又修 Bootstrap、又补后台工作台。
---
## 严格边界
### 1. 不自动跨版本做“顺手修复”
例如当前在旧版本分析蜘蛛问题时,不要顺手:
- 改新版模板
- 改新版站外 SEO 面板
- 改新版 Bootstrap
反过来也一样。
### 2. 不自动提交
除非用户明确要求,否则:
- 不自动 commit
- 不自动 push
先把改动留在工作区,等用户确认。
### 3. 不整包恢复历史提交
`22cc72ee` 这种历史提交,只能作为:
- 缺失源码来源
不能整包恢复。
因为这类提交往往还混着:
- 运行产物
- 测试数据
- storage 输出
- 临时样板文件
正确做法是:
- 定点恢复源码
- 然后继续冒烟验证
### 4. 不在两个版本上同时独立发明方案
例如:
- 新版把深页兼容做成 A
- 旧版本同时自己做成 B
这是最容易制造后续冲突的做法。
### 5. Git 推送只能使用 `www` 用户
这是当前机器的固定约束,不要忽略。
原因:
- `root` 用户可以排查问题、读日志、跑测试
-`root` 没有 `origin2` 的可用 SSH 私钥
- `www` 用户已经配置好可用私钥,且已验证可正常推送到 `origin2`
因此后续所有 Codex 都必须遵守:
- 可以用 `root` 做分析、读取、验证
- 一旦涉及 `git push`,只能切到 `www`
- 不要再直接用 `root` 执行 `git push origin2 dev`
标准推送命令:
```bash
su -s /bin/bash www -c 'git -C /www/wwwroot/diff-maccms/SEONexus push origin2 dev'
```
如果需要先查看状态,也建议保持同一口径:
```bash
su -s /bin/bash www -c 'git -C /www/wwwroot/diff-maccms/SEONexus status'
su -s /bin/bash www -c 'git -C /www/wwwroot/diff-maccms/SEONexus log --oneline -n 3'
```
已验证结论:
- `root` 推送会报 `Permission denied (publickey...)`
- `www` 推送 `origin2` 正常成功
所以这不是代码问题,也不是远端仓库问题,而是当前机器上的 Git 身份边界。
---
## 工作顺序标准流程
### 场景 A新版先优化旧版本后回灌
1. 新版 Codex 分析问题
2. 新版 Codex 实施修复
3. 新版验证通过
4. 文档记录“哪些能力适合回灌旧版本”
5. 旧版本合并最新代码
6. 旧版本 Codex 开始观察与回灌验证
7. 只补旧模板特有问题
### 场景 B旧版本先发现问题
1. 先判断该问题是不是旧模板专属
2. 如果不是旧模板专属,先回新版验证
3. 新版验证后再回灌旧版本
4. 如果是旧模板专属,再只在旧版本修
---
## 哪些优化适合回灌旧版本
### 适合
这些通常适合回灌:
- 蜘蛛抓取日志分析
- 抓取概览工作台
- `robots.txt` 修复
- `rss/baidu.xml` 修复
- `sitemap` 修复
- canonical 规范
- 历史 `detail/play/category` 路由兼容
- 深页 `404/301` 治理
- 前端站群 Nginx 统一动态回源策略
### 慎回灌
这些要单独评估:
- 坏链随机视频兜底
- 播放页 SEO 策略大改
- URL 主输出规则变更
- 复杂站外 SEO 面板
- 导入健康台全家桶
- Bootstrap 总控台整条链
---
## 多 Codex 的交接模板
每个 Codex 每轮结束时,至少留下以下内容:
### 1. 本轮工作对象
- 新版 / 旧版本
- 目录路径
- 当前分支
### 2. 本轮目标
例如:
- 修复百度深页 `301 -> 404`
- 验证旧模板蜘蛛抓取概览
- 补回 rebase 丢失 helper
### 3. 本轮已改动文件
必须列路径。
### 4. 本轮未提交改动
说明是否:
- 仅工作区修改
- 已暂存
- 已提交但未 push
### 5. 本轮验证结果
至少说明:
- 哪些通过
- 哪些没通过
- 哪些未验证
### 6. 下一位 Codex 的注意事项
必须写明:
- 不要碰哪些文件
- 先看哪个文档
- 下一个最值动作是什么
---
## 文档同步规则
每轮有效优化后,至少同步两类文档中的一种:
### 1. 主题执行文档
例如:
- [1269-SEONexus-老模板第一阶段回灌执行文档](/www/wwwroot/diff-maccms/docs/1269-SEONexus-老模板第一阶段回灌执行文档.md)
适合记录:
- 旧模板回灌目标
- 分阶段策略
- 验收口径
### 2. Codex 交接总文档
也就是当前这份文档,适合记录:
- 协作规则
- 边界
- 交接模板
- 多版本协作方法
如果后续发现某条规则经常踩坑,就更新本文件,不要只留在聊天记录里。
---
## 特别注意事项
### 1. 前端 Nginx 不要继续按 URL 模板枚举
前端站群应坚持:
- 静态资源缓存
- 非静态请求 MISS 后统一回后端
不要每新增一种 URL family就去补前端 Nginx 前缀。
### 2. 旧版本不要轻易改主输出 URL 风格
旧版本更适合:
- 加兼容层
- 不推翻当前主输出
### 3. 观测和修复要分开记录
不要把:
- 日志观察
- 推测
- 已验证修复
写混。
### 4. 真实缺失源码与 CLI 冒烟假阳性要区分
像之前的:
- `Class not found`
- 路由没挂
- helper 丢失
这类是真缺失。
但像:
- `Undefined array key 9999`
在 CLI 直接调控制器时,可能只是 admin 配置上下文不完整,不一定是真缺源码。
---
## 推荐的交接口径
每个 Codex 对下一个 Codex 的交接,建议用这种结构:
1. 当前负责版本
2. 当前主题
3. 已完成
4. 未完成
5. 禁止动作
6. 下一步建议
例如:
1. 当前负责版本:旧版本
2. 当前主题:蜘蛛抓取概览与深页兼容验证
3. 已完成:日志分析、入口检查、深页 `404` 修复验证
4. 未完成:下一轮百度深抓效果观察
5. 禁止动作:不要先改新版,不要整包恢复历史提交,不要自动 commit
6. 下一步建议:先合并最新版后,再观察旧模板的 `detail/play` 抓取变化
---
## 最后的工作纪律
多个 Codex 长期协作时,最重要的不是“每个都很聪明”,而是:
- 同步节奏一致
- 边界清楚
- 不抢改
- 不乱回滚
- 不各自发明一套实现
只要坚持这几条,后面就算扩到 3 个、4 个 Codex也仍然能稳。