f26d4d8f7f
- Multi-source content aggregation (Bilibili/YouTube/Zhihu) - Smart inbox management with AI quality scoring - Long video chunking analysis (30min+ auto-segmentation) - Topic-based organization - Git auto-sync to Obsidian - Template system with Jinja2 and fallback rendering - CLI commands: subscribe, inbox, process, skip, status, search - Comprehensive test suite with unit and integration tests - Documentation: README.md and SKILL.md Checkpoint 7-8 completed by Agent E
6.3 KiB
6.3 KiB
SKILL.md - Obsidian KB Skill
元数据
- 名称: obsidian-kb
- 版本: 1.0.0
- 描述: 多源内容知识库维护系统,支持长视频分段分析
- 作者: OpenClaw
命令列表
| 命令 | 描述 | 用法 |
|---|---|---|
/kb-subscribe |
订阅内容源 | /kb-subscribe <source>:<type>:<id> |
/kb-inbox |
查看收件箱 | /kb-inbox [--limit N] |
/kb-process |
处理内容 | /kb-process [content_id] |
/kb-skip |
跳过内容 | /kb-skip <content_id> |
/kb-status |
查看状态 | /kb-status |
/kb-search |
搜索知识库 | /kb-search <query> |
命令详解
/kb-subscribe
订阅一个内容源,支持自动获取更新。
用法:
/kb-subscribe bilibili:fav:12345678
/kb-subscribe bilibili:up:123456
/kb-subscribe youtube:channel:UCxxx
/kb-subscribe zhihu:collection:12345
支持的源:
bilibili:fav:<fav_id>- Bilibili 收藏夹bilibili:up:<mid>- Bilibili UP主youtube:channel:<channel_id>- YouTube 频道zhihu:collection:<collection_id>- 知乎收藏夹
/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 # 同上
处理流程:
- 轻量扫描 → 生成一句话摘要和评分
- 深度分析 → 生成详细内容(长视频会分段)
- 选择模板 → 根据类型和时长
- 生成笔记 → Markdown 格式
- 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
配置说明
配置文件位置
优先级:
./config.yaml(当前目录)~/.obsidian-kb/config.yaml~/.config/obsidian-kb/config.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 (可选)
环境变量
可以使用环境变量覆盖配置:
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 }}- 实践建议列表
输出格式
轻量视频输出
---
title: "视频标题"
source: "bilibili"
url: "https://..."
author: "UP主"
duration: "10:30"
date: "2024-01-01T00:00:00"
tags:
- python
- tutorial
---
#python #tutorial
**一句话摘要**: 这是一句摘要
## 摘要
详细摘要内容...
## 核心要点
1. 要点一
2. 要点二
教程视频输出
---
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]
...
💡 关键要点
- 要点一
- 要点二
⚠️ 常见坑点
- 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 自动同步