听写任务日志 DTL · L-20260823-01¶
日志编号:L-20260823-01 所属类型:DTL(听写任务日志 / Dictation Task Log) 执行人:听写 DT 起止时间:2026-08-22 深夜 ~ 2026-08-23 凌晨 关联文档 / 脚本:scripts/url_map.py(核心重映射)、AGENTS.md(V8.3)、docs/项目管理.md(V3.6)、mkdocs.yml、scripts/deploy-site.ps1
一、任务输入(用户原话 · 准确引用)¶
用户报告(2026-08-23)VERBATIM:
刚才完成的文档公开发布,部分页面404,主菜单:子项目DIP1,听云WCL,功能原型入口的方法1的frame,以及通往多个干系方的二级页面。。。(可能还有其它)
另外,工作日志中的dtl(最新这几轮日志)也找不到链接
→ 触发本次站点 404 全面修复任务,根因分析 + url_map.py 重映射 + 重新构建部署。
二、前置核查与根因定位¶
2.1 404 根因 4 类总结¶
| # | 根因 | 影响范围 | 严重度 |
|---|---|---|---|
| R1 | url_map.py MANUAL_MAP 中 ops/... 路径未迁移到 ocm/...(PJM V2.9 目录重命名 ops→ocm 遗留) |
听云 OCM 整个菜单 5 项 404(wcl/opspub/dip1ops/dip1ext/opsdir) | 🔴 高 |
| R2 | url_map.py MANUAL_MAP 中 ops/WCL-听云工作手册.md 文件名未迁移到 ocm/OCM-听云工作手册.md(WCL→OCM 角色简称迁移) |
听云工作手册 wcl slug 指向不存在文件 | 🔴 高 |
| R3 | NAV_STRUCTURE 子项目DIP1 菜单引用 9 个已删除文件(dip1.0 整批删除后 dip1/docs/ 顶级 DIP1-ARC/P1/P2/P3/SPEC/PROTO/SCH/IMP 均不存在) | 子项目DIP1 菜单 9 项中 8 项 404 | 🔴 高 |
| R4 | url_map.py generate_slug 函数未识别 DTL/WDL 日志编号格式(L-YYYYMMDD-NN),所有 DTL/WDL 日志被降级为 5 字符 hash slug | DTL 听写任务日志 21 篇 + WDL 听码开发日志 2 篇全部无法预期 URL | 🟡 中 |
| R5 | ocm/admin-manual、ocm/knowledge-base、ocm/service-manual 三大子目录 18 个文件无 MANUAL_MAP 映射 | 听云 OCM 三大章节文档被 hash 化 | 🟡 中 |
| R6 | docs/业务测试/用例/ 6 个用例库 + docs/技术文档/ 7 个技术方案文档 + 13 个散落文档无 MANUAL_MAP 映射 | 业务测试菜单、技术文档菜单、业务架构、派单服务、PPL/DLV 等被 hash 化 | 🟡 中 |
2.2 site/ 实际生成情况核查¶
- 原 build 后 site/ 共 361 文件,但 100+ 个 5 字符随机 hash slug 目录(如 05b2t、0sw8l 等)
- hash slug 中包含 DTL 日志(如 12dex = DTL L-20260822-14)、ocm 知识库文件(如 05b2t = 客户沟通话术 ai-persona.md)、业务测试用例库(如 0wedr = DIS 用例库)等关键内容
- 用户无法预期 URL,菜单点击大量 404
2.3 hk2026.pages.dev 域名冲突诊断(V8.3 纠偏前置)¶
实际部署后发现 https://hk2026.pages.dev 返回"出差攻略·香港×深圳2026"旅游攻略页面(其他 Cloudflare 用户已全局占用此 Project 名)。用户选择"复用旧 hk2026-docs Project(推荐)"路径,已在上半段完成回滚(AGENTS.md V8.3 / PJM V3.6 / mkdocs.yml site_url / deploy-site.ps1 默认 ProjectName)。本日志聚焦 V8.3 之后的 404 修复。
三、修改清单(按文件 + 修复动作)¶
3.1 scripts/url_map.py 核心重映射(本次主战场)¶
| # | 修改段 | 修改前 | 修改后 | 验证 |
|---|---|---|---|---|
| F1 | MANUAL_MAP L107-111 ops/→ocm/ 路径迁移 | "ops/README.md": "opsdir" 等 5 条 ops/ 前缀映射 |
"ocm/README.md": "ocm" 等 5 条 ocm/ 前缀映射 + WCL→OCM 文件名迁移 + 新增 DIP1 用户使用手册 dip1user |
✅ ocm/ 目录全部 5 文件 slug 化 |
| F2 | MANUAL_MAP 新增 ocm/admin-manual/ 7 文件映射 | 无 | "ocm/admin-manual/README.md": "ocmams" 等 7 条(backup-recovery/daily-ops-sop/deployment-guide/incident-response/monitoring-alerting/security-audit) |
✅ 管理员手册章节全部 slug 化 |
| F3 | MANUAL_MAP 新增 ocm/knowledge-base/ 6 文件映射 | 无 | "ocm/knowledge-base/README.md": "ocmkb" 等 6 条(ai-persona/business-context/business-extension/business-knowledge/realtime-status) |
✅ 知识库章节全部 slug 化 |
| F4 | MANUAL_MAP 新增 ocm/service-manual/ 8 文件映射 | 无 | "ocm/service-manual/README.md": "ocmsm" 等 8 条(ai-service-architecture/ai-training-corpus/communication-script/escalation-path/faq/sla-standard/ticket-workflow) |
✅ 服务手册章节全部 slug 化 |
| F5 | MANUAL_MAP dip1/docs/ 精简(dip1.0 整批删除后实际只剩 3 个文件) | 9 条 dip1/docs/DIP1-XXX-XXX.md 映射(文件已不存在) | 3 条实际存在的映射:dip1wlg(README)+ wdl2201 + wdl2202 | ✅ 子项目DIP1 菜单不再 404 |
| F6 | MANUAL_MAP 新增 docs/业务测试/ 19 文件映射 | 无 | btest + bt01-bt10 + proto + protoidx + btuc + uccpt/ucdis/ucmds/ucops/ucqsv | ✅ 业务测试菜单完整 |
| F7 | MANUAL_MAP 新增 docs/技术文档/ 8 文件映射 | 仅 tndp(技术规划)+ mvp(MVP实施方案) | 新增 tnddoc(README)+ tndarc/tndqsve/tnddis/tndmds/tndwb/tndb2b/tnde 等 7 个技术方案 | ✅ 技术文档菜单完整 |
| F8 | MANUAL_MAP 新增 13 个散落文档映射 | 无 | bas/roadmap/collab/dthb/dis/disd/ppl/dlv/ppldlv/dtl/yexbo/mvpfsadmin/pubdip1 | ✅ 散落文档全部 slug 化 |
| F9 | generate_slug 新增 RE_DTL_WDL 正则 | 仅识别 RE_DLG(对话记录NN) | 新增 RE_DTL_WDL = re.compile(r'^L-(\d{8})-(\d{2})'),根据目录前缀生成 dtlYYYYMMDDnn 或 wdlYYYYMMDDnn slug |
✅ DTL 21 篇 + WDL 2 篇全部预期 slug |
| F10 | NAV_STRUCTURE 子项目DIP1 菜单精简 | 10 子项(9 个文件不存在) | 3 子项(dip1wlg + wdl2201 + wdl2202) | ✅ 菜单可点开 |
| F11 | NAV_STRUCTURE 听云WCL→听云OCM 菜单重构 | 5 子项(opsdir/wcl/opspub/dip1ops/dip1ext,路径全错) | 三级嵌套 18 子项(ocm/wcl/ocmpub/dip1user/dip1ops/dip1ext + 管理手册章节 7 + 知识库章节 6 + 服务手册章节 8) | ✅ 听云 OCM 菜单完整 |
| F12 | NAV_STRUCTURE 新增业务测试 BT 菜单 | 无 | 三级嵌套 19 子项(btest + bt01-bt10 + 原型设计章节 2 + 用例库章节 6) | ✅ 业务测试菜单完整 |
| F13 | NAV_STRUCTURE 技术文档 TND 菜单扩充 | 4 子项(tnd/tndp/tnde/m0) | 10 子项(tnddoc/tndp/tndarc/tnde/tndqsve/tnddis/tndmds/tndwb/tndb2b + m0 子菜单 4) | ✅ 技术文档菜单完整 |
| F14 | NAV_STRUCTURE 主数据 MDS 菜单补充 | 7 子项 | 10 子项(新增 ppl/dlv/ppldlv) | ✅ PPL/DLV 接入主数据菜单 |
| F15 | NAV_STRUCTURE 新增业务架构 BAS + 派单服务 DIS 两菜单 | 无 | BAS 4 子项(bas/roadmap/collab/dthb)+ DIS 2 子项(dis/disd) | ✅ 两个新菜单 |
| F16 | NAV_STRUCTURE 工作日志 WLG 前补充 DTL 索引 + 三循环复盘 | 仅 wlg | 新增 dtl + yexbo 两项 | ✅ DTL 日志入口可见 |
| F17 | NAV_STRUCTURE 发布文档菜单补充 pubdip1 | 仅 pub + pubm0 | 新增 pubdip1 | ✅ DIP1 发布区入口 |
| F18 | NAV_STRUCTURE MVP 方案 m0 子菜单补充 mvpfsadmin | 4 子项 | 5 子项(新增 mvpfsadmin) | ✅ MVP-FS 管理员自动化评估入口 |
3.2 V8.3 纠偏配套修改(上半段已完成,本次复用)¶
| # | 对象 | 修改前 | 修改后 |
|---|---|---|---|
| F19 | mkdocs.yml site_url | https://hk2026.pages.dev(被其他用户占用) |
https://hk2026-docs.pages.dev(复用旧 Project) |
| F20 | scripts/deploy-site.ps1 默认 ProjectName | hk2026 |
hk2026-docs |
| F21 | AGENTS.md V8.2→V8.3 | Project=hk2026 + hk2026.pages.dev | Project=hk2026-docs + hk2026-docs.pages.dev(4 处主体 + V8.3 修订记录) |
| F22 | docs/项目管理.md V3.5→V3.6 | Project=hk2026 + hk2026.pages.dev | Project=hk2026-docs + hk2026-docs.pages.dev(13 处 + V3.6 修订记录) |
四、构建产物验证(362 个文件,零真正 hash slug)¶
4.1 关键 slug 抽检(40 项全通过)¶
| 菜单分类 | 关键 slug | 验证 |
|---|---|---|
| 首页与核心 | pmg / pjm / gly / wlg | ✅ 全存在 |
| 听云 OCM | ocm / wcl / ocmpub / dip1user / dip1ops / dip1ext / ocmams / ocmkb / ocmsm | ✅ 全存在 |
| 子项目 DIP1 | dip1wlg / wdl2201 / wdl2202 | ✅ 全存在 |
| 业务测试 BT | btest / proto / protoidx / btuc / uccpt / ucdis | ✅ 全存在 |
| 技术文档 TND | tnddoc / tndarc / tndqsve / tnddis / tndmds | ✅ 全存在 |
| 主数据 MDS | ppl / dlv / ppldlv | ✅ 全存在 |
| 业务架构 BAS | bas / roadmap / collab / dthb | ✅ 全存在 |
| 派单服务 DIS | dis / disd | ✅ 全存在 |
| DTL 日志 | dtl(索引页)+ dtl2026082001~dtl2026082216(21 篇) | ✅ 全存在 |
| 散落文档 | yexbo / mvpfsadmin / pubdip1 | ✅ 全存在 |
4.2 DTL/WDL 日志识别验证¶
- DTL 21 篇全部生成预期 slug:
dtl2026082001~dtl2026082216(RE_DTL_WDL 正则匹配 L-YYYYMMDD-NN 格式) - WDL 2 篇全部生成预期 slug:
wdl2201/wdl2202(MANUAL_MAP 手动映射 + RE_DTL_WDL 兜底) - 用户可通过 URL
https://hk2026-docs.pages.dev/dtl2026082216/直接访问 DTL L-20260822-16
4.3 真正 hash slug 数量:0¶
- 排除合法 5 字符 slug(dlg00-dlg71 / btest / mvpfs / ocm / pubm0 / tndwb / uc / wlgat / wlgof / yexbo / proto 等)后
- 实际 hash 化的 slug = 0,所有 362 个文件都有明确语义 slug
五、阻塞与决策点¶
| # | 类型 | 内容 | 决策 / 当前状态 |
|---|---|---|---|
| D1 | 域名冲突 | hk2026.pages.dev 被其他 Cloudflare 用户全局占用 | ✅ V8.3 纠偏回滚到 hk2026-docs Project + hk2026-docs.pages.dev 域名 |
| D2 | 路径迁移遗留 | url_map.py 中 ops/→ocm/ 未同步 | ✅ F1 完成 ops/→ocm/ 全量迁移 |
| D3 | 文件名迁移遗留 | WCL-听云工作手册.md → OCM-听云工作手册.md | ✅ F1 完成 WCL→OCM 文件名迁移 |
| D4 | 删除文件遗留 | dip1/docs/ 顶级 9 文件已删但 MANUAL_MAP 仍引用 | ✅ F5 精简为实际存在的 3 文件 |
| D5 | 日志识别缺失 | generate_slug 未识别 L-YYYYMMDD-NN 格式 | ✅ F9 新增 RE_DTL_WDL 正则 |
| D6 | ocm 子目录未映射 | admin-manual/knowledge-base/service-manual 三大子目录 18 文件无映射 | ✅ F2-F4 补全 |
| D7 | 业务测试与技术文档未映射 | docs/业务测试/ 19 文件 + docs/技术文档/ 7 文件无映射 | ✅ F6-F7 补全 |
| D8 | 散落文档未映射 | 13 个散落文档被 hash 化 | ✅ F8 补全 |
| D9 | 实际部署 | 用户已配置 Cloudflare 凭据并执行过一次部署(到 hk2026 Project,失败) | ⏸ 待用户重新执行 .\scripts\deploy-site.ps1 -SkipBuild 部署到 hk2026-docs Project |
六、Git Commit & 追溯(任务完成)¶
- 本任务变更文件清单(6 文件纳入 Git):
scripts/url_map.py(核心重映射,F1-F18 共 18 项修改)AGENTS.md(V8.3 纠偏,F21,4 处主体 + 修订记录)docs/项目管理.md(V3.6 纠偏,F22,13 处 + 修订记录)mkdocs.yml(site_url 回滚,F19)scripts/deploy-site.ps1(默认 ProjectName 回滚,F20)docs/工作日志/dtl/L-20260823-01_站点404修复与url_map重映射.md(本日志) 注:site/ 362 文件构建产物不纳入 Git(.gitignore 排除)- 本次最终 Commit SHA(已回填):
4b78efb(6 files changed, 380 insertions(+), 64 deletions(-)) - Gitee hk2026 私有主仓 Push SHA(main 分支,已回填):
4b78efb(推进区间c916049..4b78efb)
七、完成确认¶
☑ 目标:修复文档公开发布后多个页面 404 问题,让站点菜单全部可点开。
- 根因定位:url_map.py 中 ops/→ocm/ 路径未迁移 + WCL→OCM 文件名未迁移 + dip1/docs/ 已删文件仍被引用 + DTL/WDL 日志格式未识别 + ocm 三大子目录未映射 + 业务测试与技术文档未映射 + 13 个散落文档被 hash 化
- url_map.py 重映射:F1-F18 共 18 项修改(MANUAL_MAP 补 60+ 条映射 + NAV_STRUCTURE 重构 6 个菜单 + generate_slug 新增 RE_DTL_WDL 正则)
- V8.3 纠偏配套:F19-F22 共 4 项修改(mkdocs.yml site_url + deploy-site.ps1 ProjectName + AGENTS.md V8.3 + PJM V3.6)
- 构建验证:site/ 共 362 个文件,40 个关键 slug 全部存在,DTL 21 篇 + WDL 2 篇全部预期 slug,真正 hash slug = 0
- 实际部署到 hk2026-docs Project + 验证 https://hk2026-docs.pages.dev 上 DIP1/OCM/DTL/原型入口页面可访问(⏸ 待用户重新执行 deploy-site.ps1 -SkipBuild)
- Git commit(6 文件)+ push Gitee hk2026 私有主仓 main + §六 SHA 双向追溯(锚点 SHA 4b78efb)
(★ 说明:本次修复核心是 url_map.py 的全面重映射,从原 100+ hash slug 降到 0 hash slug,所有文档都有语义化短 URL。DTL 日志现在可通过 https://hk2026-docs.pages.dev/dtl2026082216/ 这样的预期 URL 直接访问。)