This repository has been archived on 2026-08-07. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
kb-skills/kb_workflow/SKILL.md
T
starmen1265 e2edce2e29 feat(06-01): create metadata directory and move bilibili modules
- Rename kb-workflow to kb_workflow for Python package compatibility
- Move bilibili_extractor.py and bilibili_metadata.py to kb_workflow/metadata/
- Create metadata/__init__.py with BilibiliExporter export

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16 23:59:23 +08:00

5.6 KiB
Raw Blame History

name, description
name description
kb-workflow 当收到"添加到知识库 + 链接" 或"保存到知识库 + 链接"时使用

KB Workflow

什么时候使用

当用户发送包含以下模式的消息时,此技能自动触发:

触发词 行为 示例
添加到知识库 + 链接 添加到知识库并处理 "添加到知识库 https://www.bilibili.com/video/BVxxx"
保存到知识库 + 链接 同上 "保存到知识库 https://www.bilibili.com/video/BVxxx"

环境变量

执行前必须检查

在执行 workflow 之前,必须检查环境变量是否已经设置。

必须的环境变量(缺失则报错退出):

配置方式:将变量写入 ~/.kb_env 文件:

export AI_API_KEY="your-api-key"
export AI_PROVIDER="zhipu"
export AI_MODEL="glm-5"
export AI_BASE_URL="https://open.bigmodel.cn/api/coding/paas/v4"

可选的环境变量:

变量名 用途 示例
BILIBILI_COOKIE 下载会员视频 SESSDATA=xxx; bili_jct=xxx
KB_GIT_USER Git提交用户名 Your Name
KB_GIT_EMAIL Git提交邮箱 your@email.com
KB_ARCHIVE_PATH 归档目录路径 ~/work/zq/30.资源/AI分析
KB_GIT_ROOT Git仓库根目录 ~/work/zq
HF_TOKEN HuggingFace Token(说话者分离) hf_xxx

检查命令

# 从 ~/.kb_env 加载环境变量
if [ -f ~/.kb_env ]; then
    source ~/.kb_env
fi

# 检查必须的环境变量
if [ -z "$AI_API_KEY" ] || [ -z "$AI_PROVIDER" ] || [ -z "$AI_MODEL" ] || [ -z "$AI_BASE_URL" ]; then
    echo "❌ 错误:必须的环境变量未设置"
    echo "请配置 ~/.kb_env 文件"
    exit 1
fi

echo "✅ 环境变量检查通过"

Workflow 执行方式

一键处理(推荐)

使用管道 CLI 一键完成所有步骤:

python3 kb-workflow/kb_workflow.py process "https://www.bilibili.com/video/BVxxx"

该命令自动执行:

  1. URL 解析 → 识别平台和内容 ID
  2. 元数据提取 → 获取标题、作者等信息
  3. 内容下载 → 字幕/视频/文章内容
  4. 语音识别 → Whisper/FunASR(如需要)
  5. 深度分析 → AI 生成分析报告
  6. 归档 → 移动到归档目录

命令参数:

# 指定输出目录
python3 kb-workflow/kb_workflow.py process "https://..." -o /path/to/output

# 强制重新执行(忽略已完成状态)
python3 kb-workflow/kb_workflow.py process "https://..." --no-skip

支持的平台和内容类型

平台 内容类型 URL 示例
B站 视频 bilibili.com/video/BVxxx
B站 专栏 bilibili.com/read/cvxxx
知乎 问答 zhihu.com/question/xxx
知乎 专栏 zhuanlan.zhihu.com/p/xxx
知乎 视频 zhihu.com/zvideo/xxx

处理流程

┌─────────────────────────────────────────────────────────────┐
│                    kb-workflow process                       │
├─────────────────────────────────────────────────────────────┤
│  1. Parse     → LinkParser 解析 URL                         │
│  2. Download  → 平台适配器获取元数据和内容                    │
│  3. ASR       → 语音识别(视频无字幕时)                      │
│  4. Analyze   → DeepAnalyzer 生成分析报告                    │
│  5. Archive   → 归档到 KB_ARCHIVE_PATH                      │
└─────────────────────────────────────────────────────────────┘

目录结构

工作目录(默认 ~/work/knowledge-base/):

~/work/knowledge-base/
├── pending/           # 待处理链接
├── metadata/          # 元数据 JSON
├── content/           # 内容文件
│   └── downloads/     # 下载的视频/字幕
└── analyzed/          # 分析报告

归档目录(默认 ~/work/zq/30.资源/AI分析/):

~/work/zq/30.资源/AI分析/
└── YYYY-MM-DD/
    └── {platform}_{id}.md  # 深度分析报告

⚠️ 严格失败处理原则

深度分析步骤必须成功,否则整个流程失败

  1. 深度分析不可跳过:AI 分析是必须成功执行的步骤
  2. 失败即终止:如果分析返回失败,必须立即停止并汇报
  3. 禁止降级处理:不能使用预设模板或简单摘要来"假装成功"
  4. 每次执行都要使用 AI:必须有真实的 AI API 调用记录

示例

用户: 添加到知识库 https://www.bilibili.com/video/BV1xx

Claude:
✅ 环境变量检查通过

◆ 处理中...
  → 解析 URL: bilibili 视频 BV1xx
  → 获取元数据...
  → 下载字幕...
  → 深度分析...

✅ 完成!

标题: 【教程】如何使用 Python 进行数据分析
处理阶段: 全部完成
最终文件: ~/work/zq/30.资源/AI分析/2026-03-15/bilibili_BV1xx.md

技术架构

kb-workflow/kb_workflow.py (CLI)
    └── kb_pipeline/ (核心管道包)
        ├── pipeline.py      — Pipeline 编排引擎
        ├── processors/      — 处理器实现
        │   ├── parse.py     — URL 解析
        │   ├── download.py  — 内容下载
        │   ├── asr.py       — 语音识别
        │   └── analyze.py   — 深度分析
        └── schemas.py       — 数据模型