This repository has been archived on 2026-02-15. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
openclaw-skills/memory/plans/knowledge-base-refactoring.md
T
OpenClaw Agent f4c6612849 docs: Add workspace configuration and memory files
- AGENTS.md: Update agent workspace guidelines (read TODO.md in workflow)
- TODO.md: Add security inspection and TTS configuration tasks
- memory/: Add knowledge base refactoring progress notes
- .gitignore: Add debug/ directory
2026-02-10 14:56:18 +08:00

8.7 KiB

知识库维护系统 - 实现计划

目标: 将 obsidian-kb 拆分为 7 个独立技能,实现模块化、可维护的知识库维护系统
方案: 复用现有代码,按详细设计文档实现
预计总时间: 约 180 分钟(3 小时)


检查点 1: 项目初始化

  • 任务 1.1: 创建技能目录结构 (~2 min)

    • 动作: 创建 skills/link-parser/, skills/bilibili-metadata/, skills/zhihu-metadata/, skills/bilibili-content/, skills/ocr-processor/, skills/deep-analyzer/, skills/kb-workflow/ 目录
    • 验证: ls skills/ 显示 7 个新目录
  • 任务 1.2: 复制现有代码库到临时位置 (~3 min)

    • 动作: 复制 obsidian-kb/src/ 到临时目录备份
    • 验证: 确认 tmp_backup/src/ 存在所有 .py 文件
  • 任务 1.3: 创建通用配置文件模板 (~3 min)

    • 动作: 按详细设计创建 skills/_common/config_template.yaml
    • 验证: cat config_template.yaml 显示所有配置项

  • 任务 2.1: 创建 SKILL.md (~2 min)

    • 动作: 复制 SKILL.md 模板,填写 link-parser 描述
    • 验证: cat skills/link-parser/SKILL.md 包含功能描述和命令
  • 任务 2.2: 实现链接解析器主文件 (~8 min)

    • 动作: 创建 skills/link-parser/link-parser.py,实现:
      • resolve_shortlink() 短链跳转
      • extract_bilibili_id() B站ID提取
      • extract_youtube_id() YouTube ID提取
      • extract_zhihu_id() 知乎ID提取
    • 验证: python link-parser.py --url "https://b23.tv/xxx" 返回 JSON
  • 任务 2.3: 测试链接解析器 (~3 min)

    • 动作: 测试以下链接:
      • https://www.bilibili.com/video/BV1xx
      • https://space.bilibili.com/7770724
      • https://b23.tv/xxxxx
      • https://www.zhihu.com/question/266309957
    • 验证: 每个链接返回正确的 platform, type, id
  • 任务 2.4: 验证复用代码 (~2 min)

    • 动作: 确认复用 shortlink_resolver.py
    • 验证: import 语句存在,代码无红色报错

检查点 3: 技能 2 - bilibili-metadata

  • 任务 3.1: 创建 SKILL.md (~2 min)

    • 动作: 复制 SKILL.md 模板,填写 bilibili-metadata 描述
    • 验证: 文件包含功能描述和命令行示例
  • 任务 3.2: 实现 B站元数据获取器 (~10 min)

    • 动作: 创建 skills/bilibili-metadata/bilibili_metadata.py:
      • 复用 BilibiliExtractor 类
      • 实现 extract_video_metadata()
      • 实现 extract_article_metadata()
      • 实现 extract_up_metadata()
    • 验证: python bilibili_metadata.py --id "BV1xx" 返回完整 JSON
  • 任务 3.3: 测试 B站元数据获取 (~5 min)

    • 动作: 测试视频、专栏、UP主三种类型
    • 验证: 每种类型返回对应格式的元数据

检查点 4: 技能 2 - zhihu-metadata

  • 任务 4.1: 创建 SKILL.md (~2 min)

    • 动作: 复制 SKILL.md 模板,填写 zhihu-metadata 描述
    • 验证: 文件包含功能描述
  • 任务 4.2: 实现知乎元数据获取器 (~8 min)

    • 动作: 创建 skills/zhihu-metadata/zhihu_metadata.py:
      • 复用 ZhihuDrissionExtractor 类
      • 实现 extract_question()
      • 实现 extract_answer()
      • 实现 extract_user()
    • 验证: python zhihu_metadata.py --id "266309957" 返回 JSON
  • 任务 4.3: 测试知乎元数据获取 (~3 min)

    • 动作: 测试问题、回答两种类型
    • 验证: 返回正确格式的元数据

检查点 5: 技能 3 - bilibili-content

  • 任务 5.1: 创建 SKILL.md (~2 min)

    • 动作: 复制 SKILL.md 模板,填写 bilibili-content 描述
    • 验证: 文件包含功能描述
  • 任务 5.2: 实现 B站内容获取器 (~12 min)

    • 动作: 创建 skills/bilibili-content/bilibili_content.py:
      • 复用 VideoStreamExtractor
      • 实现 download_video(quality=480)
      • 实现 extract_subtitle()
      • 实现 extract_article_content()
    • 验证: python bilibili_content.py --id "BV1xx" 下载视频到 output 目录
  • 任务 5.3: 测试内容获取 (~5 min)

    • 动作: 测试视频下载、字幕提取
    • 验证: output 目录包含 .mp4 和 .srt 文件

检查点 6: 技能 3 - ocr-processor

  • 任务 6.1: 创建 SKILL.md (~2 min)

    • 动作: 复制 SKILL.md 模板,填写 ocr-processor 描述
    • 验证: 文件包含功能描述
  • 任务 6.2: 实现 OCR 处理器 (~8 min)

    • 动作: 创建 skills/ocr-processor/ocr_processor.py:
      • 复用 OCRProcessor
      • 实现 process_frames(input_dir, fps=0.1)
      • 实现 merge_texts()
    • 验证: python ocr_processor.py --input ./frames/ 生成 ocr.json
  • 任务 6.3: 测试 OCR 功能 (~3 min)

    • 动作: 用测试帧目录运行 OCR
    • 验证: 返回包含 texts 和 confidence 的 JSON

检查点 7: 技能 4 - deep-analyzer

  • 任务 7.1: 创建 SKILL.md (~2 min)

    • 动作: 复制 SKILL.md 模板,填写 deep-analyzer 描述
    • 验证: 文件包含模板变量说明
  • 任务 7.2: 实现深度分析器 (~15 min)

    • 动作: 创建 skills/deep-analyzer/deep_analyzer.py:
      • 复用 DeepAnalyzer
      • 实现 analyze(metadata, content, type)
      • 实现 load_template(type)
      • 实现 render_template(variables)
    • 验证: python deep_analyzer.py --metadata m.json --content c.json 生成 .md
  • 任务 7.3: 测试深度分析 (~5 min)

    • 动作: 用示例元数据和内容运行分析
    • 验证: 生成包含 frontmatter 和模板内容的 Markdown

检查点 8: 技能 5 - kb-workflow

  • 任务 8.1: 创建 SKILL.md (~2 min)

    • 动作: 复制 SKILL.md 模板,填写 kb-workflow 描述
    • 验证: 文件包含工作流步骤说明
  • 任务 8.2: 实现工作流编排器 (~20 min)

    • 动作: 创建 skills/kb-workflow/kb_workflow.py:
      • 实现 scan_inbox() 扫描四个子目录
      • 实现 process_item(item) 调用技能2-4
      • 实现 archive_item(item, analysis) 归档
      • 实现 check_subscriptions() 订阅更新检测
      • 实现 generate_report() 生成汇报
    • 验证: python kb_workflow.py --trigger manual 运行无报错
  • 任务 8.3: 测试工作流 (~5 min)

    • 动作: 用一个测试 item 运行完整流程
    • 验证: item 从 pending → metadata → content → archive

检查点 9: 目录结构与配置

  • 任务 9.1: 创建收件箱目录模板 (~2 min)

    • 动作: 创建 inbox/{pending,metadata,content,analyzed}/ 目录
    • 验证: ls inbox/ 显示四个子目录
  • 任务 9.2: 创建归档目录模板 (~2 min)

    • 动作: 创建 archive/YYYY/MM/{video,article}/ 目录
    • 验证: ls archive/2024/01/ 显示子目录
  • 任务 9.3: 创建 config.yaml 示例 (~3 min)

    • 动作: 创建 skills/_common/config.yaml 示例
    • 验证: 文件包含 AI、存储、Git、OCR 等配置

检查点 10: 集成测试

  • 任务 10.1: 端到端测试 - 单个视频 (~10 min)

    • 动作:
      1. link-parser 解析视频链接
      2. bilibili-metadata 获取元数据
      3. bilibili-content 获取内容
      4. deep-analyzer 生成分析
      5. kb-workflow 归档
    • 验证: archive 目录生成 .md 文件
  • 任务 10.2: 端到端测试 - 列表类型 (~5 min)

    • 动作: 模拟 UP主链接,测试列表处理流程
    • 验证: 返回 requires_user_input 标记
  • 任务 10.3: 汇报功能测试 (~3 min)

    • 动作: 运行工作流后检查 report.json
    • 验证: report.json 包含 processed, success, failed 统计

验证标准

  • 所有 7 个技能的 SKILL.md 存在且内容正确
  • 每个技能可通过命令行独立运行
  • link-parser 支持所有设计的链接格式
  • bilibili-metadata 和 zhihu-metadata 返回正确元数据
  • bilibili-content 可下载视频和提取字幕
  • ocr-processor 可处理帧图片并输出文字
  • deep-analyzer 可生成模板化的 Markdown
  • kb-workflow 可完成端到端流程并归档
  • 汇报文件格式正确
  • 代码复用已验证的现有模块

执行选项

计划已保存到 memory/plans/knowledge-base-refactoring.md

两种执行方式:

1. 单代理顺序执行(当前会话)

  • 我按顺序执行每个任务
  • 每个检查点完成后向您汇报
  • 适合需要频繁确认的场景
  • 预计时间: 约 3 小时

2. 并行分发执行

  • 使用 dispatch-multiple-agents 技能
  • 并行创建多个子代理同时工作
  • 适合时间紧迫的场景
  • 预计时间: 约 1 小时(需要更多协调)

蒋先生,您选择哪种方式?