# SKILL.md - Obsidian KB Skill ## 元数据 - **名称**: obsidian-kb - **版本**: 1.0.0 - **描述**: 多源内容知识库维护系统,支持长视频分段分析 - **作者**: OpenClaw ## 命令列表 | 命令 | 描述 | 用法 | |------|------|------| | `/kb-add` | 添加单个视频 | `/kb-add [--process] [--yes]` | | `/kb-subscribe` | 订阅内容源 | `/kb-subscribe ::` | | `/kb-inbox` | 查看收件箱 | `/kb-inbox [--limit N]` | | `/kb-process` | 处理内容 | `/kb-process [content_id]` | | `/kb-skip` | 跳过内容 | `/kb-skip ` | | `/kb-status` | 查看状态 | `/kb-status` | | `/kb-search` | 搜索知识库 | `/kb-search ` | ## 命令详解 ### /kb-add 快速添加单个视频到收件箱。 **用法:** ``` /kb-add BV1xx411c7mD /kb-add "https://www.bilibili.com/video/BV1xx411c7mD" /kb-add "https://www.bilibili.com/video/BV1xx411c7mD" --process /kb-add BV1xx411c7mD --yes ``` **参数:** - `` - 视频URL或BV号 - 完整URL: `https://www.bilibili.com/video/BVxxxxx` - BV号: `BVxxxxx` - 短链接: `https://b23.tv/xxxxx`(显示友好提示) - `--process` - 添加后立即处理 - `--yes` - 跳过确认提示 **输出示例:** ``` 📥 正在添加视频: BV1xx411c7mD → 标题: Python编程入门教程 → UP主: CodeMaster → 时长: 3600秒 → 获取字幕... ✅ ✅ 视频已添加到收件箱! Content ID: abc123def456 💡 使用以下命令处理: python3 src/cli.py process abc123def456 或: python3 src/cli.py process all ``` ### /kb-subscribe 订阅一个内容源,支持自动获取更新。 **用法:** ``` /kb-subscribe bilibili:fav:12345678 /kb-subscribe bilibili:up:123456 /kb-subscribe youtube:channel:UCxxx /kb-subscribe zhihu:collection:12345 ``` **支持的源:** - `bilibili:fav:` - Bilibili 收藏夹 - `bilibili:up:` - Bilibili UP主 - `youtube:channel:` - YouTube 频道 - `zhihu:collection:` - 知乎收藏夹 ### /kb-inbox 显示待处理的内容列表。 **用法:** ``` /kb-inbox /kb-inbox --limit 10 /kb-inbox --status new ``` **输出示例:** ``` 📥 收件箱 (5 items) ──────────────────── 1. BV1xx411c7mD | Python入门教程 | ⭐ 85 | 📝 一句话摘要... 2. BV2yy522c8nE | React Hooks详解 | ⭐ 92 | 📝 一句话摘要... ``` ### /kb-process 处理内容,生成 Obsidian 笔记。 **用法:** ``` /kb-process --all # 处理所有待处理项 /kb-process BV1xx411c7mD # 处理指定内容 /kb-process --id BV1xx411c7mD # 同上 ``` **处理流程:** 1. 轻量扫描 → 生成一句话摘要和评分 2. 深度分析 → 生成详细内容(长视频会分段) 3. 选择模板 → 根据类型和时长 4. 生成笔记 → Markdown 格式 5. Git 同步 → 提交到 Obsidian ### /kb-skip 跳过指定内容,不进行处理。 **用法:** ``` /kb-skip BV1xx411c7mD ``` ### /kb-status 显示系统状态和统计信息。 **用法:** ``` /kb-status ``` **输出示例:** ``` 📊 Obsidian KB 状态 ──────────────────── 收件箱: 12 待处理 / 45 已完成 Git同步: ✅ 已启用 (最后同步: 5分钟前) 订阅源: 3 个活跃 存储: 128MB / 1GB ``` ### /kb-search 搜索已处理的内容。 **用法:** ``` /kb-search python tutorial /kb-search "machine learning" --tag ai ``` ## 配置说明 ### 配置文件位置 优先级: 1. `./config.yaml` (当前目录) 2. `~/.obsidian-kb/config.yaml` 3. `~/.config/obsidian-kb/config.yaml` ### 配置项 ```yaml # AI 配置 ai: provider: openai # AI 提供商 model: gpt-4 # 模型名称 api_key: sk-... # API Key (建议使用环境变量) # 存储配置 storage: inbox_dir: inbox # 收件箱目录 topics_dir: topics # 主题目录 data_dir: data # 数据目录 # Git 同步配置 git: enabled: true # 启用 Git 同步 vault_path: ~/ObsidianVault # Obsidian 知识库路径 remote: origin # 远程仓库名 branch: main # 分支名 auto_commit: true # 自动提交 commit_message_template: "Update from obsidian-kb: {count} items" # 分段配置 chunking: enabled: true # 启用长视频分段 chunk_duration_seconds: 900 # 分段时长 (15分钟) max_chunk_duration_seconds: 1800 # 最大分段时长 long_video_threshold: 1800 # 长视频阈值 (30分钟) # 数据源配置 sources: bilibili: enabled: true cookie: '' # Bilibili Cookie (可选) youtube: enabled: false api_key: '' # YouTube API Key zhihu: enabled: false cookie: '' # 知乎 Cookie (可选) ``` ### 环境变量 可以使用环境变量覆盖配置: ```bash export OPENAI_API_KEY="sk-..." export AI_MODEL="gpt-4" export OBSIDIAN_VAULT_PATH="/path/to/vault" export BILIBILI_COOKIE="..." ``` ## 模板变量 ### 通用变量 所有模板可用: - `{{ title }}` - 标题 - `{{ source }}` - 来源 (bilibili/youtube/zhihu) - `{{ url }}` - 原始 URL - `{{ author }}` - 作者/UP主 - `{{ duration }}` - 时长 - `{{ date }}` - 日期 - `{{ tags }}` - 标签列表 - `{{ one_liner }}` - 一句话摘要 - `{{ summary }}` - 详细摘要 - `{{ key_points }}` - 核心要点列表 - `{{ quality_score }}` - 质量评分 ### 教程视频额外变量 仅 `tutorial_video.md` 可用: - `{{ prerequisites }}` - 前置知识列表 - `{{ outline }}` - 分段大纲列表 - `{{ section.title }}` - 分段标题 - `{{ section.time_range }}` - 时间段 - `{{ section.summary }}` - 分段摘要 - `{{ section.code_snippet }}` - 代码片段 - `{{ section.code_language }}` - 代码语言 - `{{ pitfalls }}` - 常见坑点列表 - `{{ practice_advice }}` - 实践建议列表 ## 输出格式 ### 轻量视频输出 ```markdown --- title: "视频标题" source: "bilibili" url: "https://..." author: "UP主" duration: "10:30" date: "2024-01-01T00:00:00" tags: - python - tutorial --- #python #tutorial **一句话摘要**: 这是一句摘要 ## 摘要 详细摘要内容... ## 核心要点 1. 要点一 2. 要点二 ``` ### 教程视频输出 ```markdown --- title: "Python 完整教程" source: "bilibili" url: "https://..." up主: "CodeMaster" duration: "2:30:00" quality_score: 95 --- ## 🎯 一句话总结 ... ## 📚 前置知识 - 基础编程概念 - Python 环境搭建 ## 📝 步骤详解 ### 环境配置 [00:00-15:00] 如何配置 Python 开发环境 ```bash pip install python ``` ### 基础语法 [15:00-45:00] ... ## 💡 关键要点 1. 要点一 2. 要点二 ## ⚠️ 常见坑点 - Python 2 与 3 的区别 - 缩进问题 ## 🤔 实践建议 - 跟随视频动手编码 - 完成课后练习 ``` ## 故障排除 ### 无法获取字幕 1. 检查 Bilibili Cookie 是否正确设置 2. 确认视频有字幕/CC字幕 3. 检查网络连接 ### Git 同步失败 1. 确认 vault_path 指向正确的 Git 仓库 2. 检查 Git 配置和权限 3. 查看 Git 日志: `git status` 在 vault 目录 ### AI 分析失败 1. 检查 API Key 是否有效 2. 确认有可用额度 3. 查看详细错误日志 ## 更新日志 ### v1.0.0 - 初始版本发布 - 支持 Bilibili、YouTube、知乎 - 长视频分段分析 - Git 自动同步