知识库批量补双链并发布
直接执行知识库核心文章的批量互链、索引刷新、博客构建验证与线上发布,解决“图谱弱、文章孤岛化”的问题。
一、背景
1.1 问题现状
用户明确表达“不想再听建议,要直接做”。当前知识库虽然已有多篇核心文章,但文章之间的互链仍偏少,容易出现:
- 页面内容存在,但图谱关联弱
- 首页能看到文章,进入文章后难以横向跳转
- 知识点沉淀了,但没有形成主题网络
1.2 目标
- 为核心知识库文章补充双链/互链
- 刷新知识库索引
- 同步到 Quartz 博客
- 本地构建验证无误后推送到线上
- 修复同步过程中的首页备份风险
1.3 约束条件
/data磁盘空间紧张,执行前必须检查空间- 不允许只改本地不验证构建
- 不允许只口头说明,必须真实推送上线
- 首页不能被知识库同步误覆盖或误删除
二、方案设计
2.1 技术选型
| 方案 | 优点 | 缺点 | 结论 |
|---|---|---|---|
| 只改首页导航 | 改动小 | 文章内部仍是孤岛 | ❌ 放弃 |
| 批量给核心文章补“关联笔记/参考资料”双链 | 收益直接,图谱改善明显 | 需要逐篇检查 | ✅ 采用 |
| 全库自动生成语义链接 | 覆盖广 | 当前容易误链,且耗时更长 | ⏳ 暂不采用 |
选择理由:先把影响最大的核心文章串起来,能最快改善浏览体验与图谱效果,而且风险可控、便于验证。
2.2 实现架构
知识库核心文章补链
-> 重建 INDEX / 知识库索引
-> rsync 到 Quartz content
-> npx quartz build 本地验证
-> git commit && git push origin main2.3 关键决策
| 决策点 | 选择 | 理由 |
|---|---|---|
| 优先范围 | 先处理 7 篇核心文章 | 覆盖首页主路径与近期重点内容 |
| 链接方式 | 手工补充“关联笔记/参考资料” | 准确度高,避免误链 |
| 发布策略 | 先构建验证,再推送 | 避免把坏内容直接推线上 |
| 风险修复 | 同步脚本排除 index.md.bak | 防止首页备份被 rsync --delete 误删 |
三、执行过程
3.1 步骤记录
步骤1:检查磁盘与读取核心文章
执行前检查 /data 空间,并读取以下核心文章内容:
博客迁移到Quartz4.md知识库自动记录方案.md敏感信息加密方案.md知识库时间戳改进.md运行环境约束与进度监控.mdDocker镜像拉取方案.mdAI新闻汇总.md
结果:确认 /data 仍可用,但空间偏紧;核心文章可正常读取。
步骤2:批量补充互链
给上述文章补充 关联笔记 或扩展 参考资料,重点把以下主题串起来:
- 知识库自动记录
- 敏感信息加密
- 时间戳规范
- Quartz 博客同步
- 运行环境约束
- AI 早报自动化
- Docker/部署实践
结果:7 篇核心文章已形成更明显的交叉引用网络。
步骤3:重建知识库索引
执行:
python3 /data/nanobot-workspace/scripts/generate_kb_index.py结果:/data/knowledge-base/INDEX.md 与 /data/knowledge-base/知识库索引.md 已刷新。
步骤4:同步到博客并构建验证
先手动同步到 Quartz 内容目录,再执行本地构建:
rsync -av --delete ... /data/knowledge-base/ /data/ysdmh-new/content/
npx quartz build结果:Quartz 本地构建成功,处理 11 个输入文件,生成 65 个输出文件。
步骤5:发现并修复首页备份风险
手动 rsync --delete 时发现 content/index.md.bak 被删除。
处理动作:
- 检查
content/index.md仍存在且首页内容正常 - 修复
/data/nanobot-workspace/scripts/sync_to_blog.sh - 增加
--exclude 'index.md.bak' - 若备份不存在,则先从
content/index.md自动重建备份
结果:同步脚本风险已修复,首页备份已重新建立。
步骤6:提交并推送线上
执行博客仓库提交与推送:
git add -A
git commit -m "chore: add knowledge backlinks and refresh graph"
git push origin main结果:成功推送到 origin/main。
3.2 时间线
| 时间 | 事件 |
|---|---|
| 09:27 | 用户要求不要再建议,直接执行 |
| 09:28 | 检查磁盘并读取核心文章 |
| 09:29 | 完成第一批核心文章互链补充 |
| 09:30 | 重建索引、同步内容并本地构建验证 |
| 09:30 | 发现 index.md.bak 被误删 |
| 09:31 | 修复同步脚本并重建首页备份 |
| 09:31 | 提交并推送博客仓库 |
四、遇到的问题
问题1:rsync --delete 删除了首页备份文件
现象:手动同步后,/data/ysdmh-new/content/index.md.bak 丢失。
原因分析:
- 之前同步脚本排除了
index.md,但没有排除index.md.bak - 当源目录没有该文件时,
--delete会把目标目录中的备份文件删掉
解决方案:
- 在同步脚本中增加
--exclude 'index.md.bak' - 在 rsync 前加保护逻辑:若备份不存在但首页存在,则自动创建备份
验证结果:✅ 脚本已修复,index.md.bak 已恢复。
问题2:需要确保不是“改完就推”而是“验证后再推”
现象:如果只做知识库补链后立刻推送,可能把潜在链接或内容问题直接带上线上。
原因分析:
- Quartz 内容渲染依赖实际构建结果
- 首页、索引、互链都需要在站点层验证是否至少能成功编译
解决方案:
先执行 npx quartz build,确认无构建错误后再 git push。
验证结果:✅ 构建成功后再推送,流程完整。
五、结果与验证
5.1 最终产出
| 产出物 | 路径 | 状态 |
|---|---|---|
| 批量补链后的核心文章 | /data/knowledge-base/daily/... | ✅ 已完成 |
| 知识库索引 | /data/knowledge-base/INDEX.md | ✅ 已刷新 |
| 中文索引 | /data/knowledge-base/知识库索引.md | ✅ 已刷新 |
| 修复后的同步脚本 | /data/nanobot-workspace/scripts/sync_to_blog.sh | ✅ 已更新 |
| 首页备份 | /data/ysdmh-new/content/index.md.bak | ✅ 已恢复 |
| 博客提交 | ec1910f | ✅ 已推送 |
5.2 验证方法
python3 /data/nanobot-workspace/scripts/generate_kb_index.py
npx quartz build
cd /data/ysdmh-new && git log -1 --oneline结果:
- 索引生成成功
- Quartz 构建成功
- 最新提交为
ec1910f chore: add knowledge backlinks and refresh graph
5.3 遗留问题
- 当前只处理了核心文章,尚未覆盖整个知识库的所有文章
- 后续可以继续做第二批、第三批主题互链
- 可考虑以后做“自动候选互链”,但需要避免误链
六、反思与改进
6.1 做得好的
- 这次没有停留在建议层,直接完成了改文、构建、推送闭环
- 在发现同步风险后立即修脚本,而不是只口头提醒
- 先本地验证再上线,避免把潜在错误带到线上
6.2 需要改进的
- 手动 rsync 前应更早意识到
index.md.bak也会受--delete影响 - 下一步应继续扩大互链覆盖范围,不只停在首页核心文章
6.3 经验教训
⚠️ 重要教训,避免再次犯错
-
“首页保护”不能只保护
index.md,还要保护备份文件- 错误做法:只排除
index.md - 正确做法:同时排除
index.md.bak,并在缺失时自动重建备份
- 错误做法:只排除
-
知识库增强必须走完整发布链路
- 错误做法:只改 markdown,不做站点验证
- 正确做法:补链后重建索引、同步内容、构建验证、再推送
-
用户说“做”,就应该给结果而不是再给方案
- 错误做法:继续解释为什么值得做
- 正确做法:直接执行,并汇报真实结果与真实问题
6.4 后续计划
- 按主题继续补第二批互链(自动化、部署、通知、加密等)
- 视需要把首页推荐阅读进一步扩成专题导航
- 若知识库继续增长,可增加“相关文章”自动推荐能力
七、参考资料
附录
相关文件
| 文件路径 | 说明 |
|---|---|
/data/nanobot-workspace/scripts/sync_to_blog.sh | 博客同步脚本(已修复首页备份保护) |
/data/nanobot-workspace/scripts/generate_kb_index.py | 知识库索引生成脚本 |
/data/ysdmh-new/content/index.md | 博客首页 |
/data/ysdmh-new/content/index.md.bak | 首页备份 |
/data/knowledge-base/知识库索引.md | 中文知识库索引 |
关键结果
- 博客仓库最新提交:
ec1910f chore: add knowledge backlinks and refresh graph - 本地 Quartz 构建:成功
- 核心文章互链:已完成第一批