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/skills/obsidian-kb/SKILL.md
T
OpenClaw Agent f26d4d8f7f feat: implement obsidian-kb skill with long video chunking
- 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
2026-02-06 18:15:30 +08:00

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  # 同上

处理流程:

  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 python tutorial
/kb-search "machine learning" --tag ai

配置说明

配置文件位置

优先级:

  1. ./config.yaml (当前目录)
  2. ~/.obsidian-kb/config.yaml
  3. ~/.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]

...

💡 关键要点

  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 自动同步