248 lines
6.3 KiB
Markdown
248 lines
6.3 KiB
Markdown
# KB Workflow 环境安装脚本
|
||
|
||
一键检查并安装 kb-workflow 知识库工作流所需的全部环境依赖。
|
||
|
||
## 功能特性
|
||
|
||
- ✅ 自动检测系统类型 (Ubuntu/Debian/Fedora/Arch)
|
||
- ✅ 检查系统依赖 (Python3, pip3, ffmpeg, tesseract, git)
|
||
- ✅ 检查 Python 依赖包 (httpx, aiohttp, playwright, easyocr 等)
|
||
- ✅ 自动创建知识库目录结构
|
||
- ✅ 生成环境变量配置示例
|
||
- ✅ 汇总显示所有需要执行的安装命令
|
||
|
||
## 使用方法
|
||
|
||
### 运行检查脚本
|
||
|
||
```bash
|
||
cd /home/starmen1265/.openclaw/workspace/skills
|
||
./install-kb-workflow.sh
|
||
```
|
||
|
||
脚本会检查所有依赖,并显示需要执行的安装命令。
|
||
|
||
### 示例输出
|
||
|
||
```
|
||
========================================
|
||
第一步: 检查系统依赖
|
||
========================================
|
||
[SUCCESS] Python3 已安装: Python 3.12.3
|
||
[WARN] pip3 未安装
|
||
[WARN] ffmpeg 未安装
|
||
...
|
||
|
||
========================================
|
||
需要安装的系统依赖
|
||
========================================
|
||
|
||
检测到以下依赖未安装:
|
||
- python3-pip
|
||
- ffmpeg
|
||
- tesseract-ocr
|
||
|
||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||
请运行以下命令安装:
|
||
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
||
|
||
sudo apt-get update
|
||
sudo apt-get install -y python3-pip ffmpeg tesseract-ocr tesseract-ocr-chi-sim tesseract-ocr-eng
|
||
```
|
||
|
||
## 依赖清单
|
||
|
||
### 系统依赖
|
||
|
||
| 依赖 | 用途 | 安装命令 |
|
||
|------|------|----------|
|
||
| **python3** | Python 运行时 | `sudo apt-get install python3` |
|
||
| **python3-pip** | Python 包管理器 | `sudo apt-get install python3-pip` |
|
||
| **ffmpeg** | 视频处理(OCR 截帧) | `sudo apt-get install ffmpeg` |
|
||
| **tesseract-ocr** | OCR 引擎(备用方案) | `sudo apt-get install tesseract-ocr` |
|
||
| **git** | 版本控制(归档提交) | `sudo apt-get install git` |
|
||
|
||
### Tesseract 语言包
|
||
|
||
```bash
|
||
# Ubuntu/Debian
|
||
sudo apt-get install tesseract-ocr-chi-sim tesseract-ocr-chi-tra tesseract-ocr-eng
|
||
|
||
# Fedora/RHEL
|
||
sudo dnf install tesseract-langpack-chi_sim tesseract-langpack-chi_tra tesseract-langpack-eng
|
||
```
|
||
|
||
### Python 依赖
|
||
|
||
```bash
|
||
# 基础 HTTP 库
|
||
pip3 install --user httpx aiohttp requests
|
||
|
||
# 图像和 OCR
|
||
pip3 install --user Pillow easyocr pytesseract
|
||
|
||
# 浏览器自动化
|
||
pip3 install --user playwright
|
||
python3 -m playwright install chromium
|
||
```
|
||
|
||
## 目录结构
|
||
|
||
安装完成后会创建以下目录结构:
|
||
|
||
```
|
||
~/work/knowledge-base/ # 知识库根目录(可配置)
|
||
├── archive/ # 归档目录
|
||
│ ├── pending/ # 待处理
|
||
│ └── subscriptions/ # 订阅信息
|
||
├── metadata/ # 元数据文件
|
||
├── content/ # 内容文件
|
||
│ ├── downloads/ # 视频下载
|
||
│ └── subtitles/ # 字幕文件
|
||
└── analyzed/ # 深度分析报告
|
||
```
|
||
|
||
## 环境变量
|
||
|
||
### 必需
|
||
- `KB_BASE_PATH` - 知识库根目录(默认: `~/work/knowledge-base`)
|
||
|
||
### 可选
|
||
- `BILIBILI_COOKIE` - B站 Cookie,用于下载会员视频
|
||
- `AI_API_KEY` - AI API 密钥,用于深度内容分析
|
||
- `AI_PROVIDER` - AI 提供商(openai/zhipu/minimax)
|
||
- `AI_MODEL` - AI 模型名称(如 gpt-4)
|
||
- `AI_BASE_URL` - 自定义 API 端点
|
||
- `KB_GIT_USER` - Git 用户名(用于归档提交)
|
||
- `KB_GIT_EMAIL` - Git 邮箱(用于归档提交)
|
||
- `KB_GIT_REMOTE` - Git 远程仓库地址
|
||
|
||
### 配置方法
|
||
|
||
将以下内容添加到 `~/.bashrc` 或 `~/.zshrc`:
|
||
|
||
```bash
|
||
# KB Workflow 配置
|
||
export KB_BASE_PATH="~/work/knowledge-base"
|
||
|
||
# 可选:B站 Cookie
|
||
export BILIBILI_COOKIE="SESSDATA=xxx; bili_jct=xxx"
|
||
|
||
# 可选:AI 配置
|
||
export AI_API_KEY="your-api-key"
|
||
export AI_PROVIDER="openai"
|
||
export AI_MODEL="gpt-4"
|
||
```
|
||
|
||
然后重新加载配置:
|
||
```bash
|
||
source ~/.bashrc # 或 source ~/.zshrc
|
||
```
|
||
|
||
## 故障排除
|
||
|
||
### 1. pip3 命令不存在
|
||
|
||
```bash
|
||
# 方法 1: 安装 pip3
|
||
sudo apt-get install python3-pip
|
||
|
||
# 方法 2: 使用 python3 -m pip
|
||
python3 -m pip install --user <package>
|
||
```
|
||
|
||
### 2. Playwright 浏览器安装失败
|
||
|
||
```bash
|
||
# 手动安装 Chromium
|
||
python3 -m playwright install chromium
|
||
|
||
# 如果仍然失败,尝试安装依赖
|
||
sudo apt-get install libnss3 libatk-bridge2.0-0 libxss1 libgtk-3-0
|
||
```
|
||
|
||
### 3. EasyOCR 安装失败
|
||
|
||
EasyOCR 依赖 PyTorch,可能需要较长时间安装:
|
||
|
||
```bash
|
||
# 先安装 PyTorch
|
||
pip3 install --user torch torchvision --index-url https://download.pytorch.org/whl/cpu
|
||
|
||
# 再安装 easyocr
|
||
pip3 install --user easyocr
|
||
```
|
||
|
||
### 4. 权限问题
|
||
|
||
如果使用 `--user` 安装的包无法找到,检查 PATH:
|
||
|
||
```bash
|
||
# 查看用户安装路径
|
||
python3 -m site --user-base
|
||
|
||
# 添加到 PATH(添加到 ~/.bashrc)
|
||
export PATH="$PATH:$(python3 -m site --user-base)/bin"
|
||
```
|
||
|
||
### 5. OCR 中文识别问题
|
||
|
||
确保已安装中文语言包:
|
||
|
||
```bash
|
||
# 检查已安装的语言包
|
||
tesseract --list-langs
|
||
|
||
# 应该能看到 chi_sim 和 chi_tra
|
||
```
|
||
|
||
## 更新
|
||
|
||
如果技能更新了依赖,可以重新运行检查脚本:
|
||
|
||
```bash
|
||
./install-kb-workflow.sh
|
||
```
|
||
|
||
## 子技能清单
|
||
|
||
| 技能 | 路径 | 功能 |
|
||
|------|------|------|
|
||
| kb-workflow | `kb-workflow/kb_workflow.py` | 主流程协调 |
|
||
| kb-link-parser | `kb-link-parser/link-parser.py` | 链接解析 |
|
||
| kb-bilibili-metadata | `kb-bilibili-metadata/bilibili_metadata.py` | B站元数据提取 |
|
||
| kb-bilibili-content | `kb-bilibili-content/bilibili_content.py` | B站内容下载 |
|
||
| kb-ocr-processor | `kb-ocr-processor/ocr_processor.py` | 视频 OCR 识别 |
|
||
| kb-deep-analyzer | `kb-deep-analyzer/deep_analyzer.py` | AI 深度分析 |
|
||
|
||
## 使用 kb-workflow
|
||
|
||
安装完成后,可以通过以下方式使用:
|
||
|
||
### 方式 1:通过主代理
|
||
|
||
直接向主代理发送消息:
|
||
```
|
||
添加到知识库 https://www.bilibili.com/video/BVxxxxx
|
||
```
|
||
|
||
### 方式 2:手动运行子技能
|
||
|
||
```bash
|
||
# 1. 链接解析
|
||
python3 kb-link-parser/link-parser.py --url "https://www.bilibili.com/video/BVxxxxx"
|
||
|
||
# 2. 元数据提取
|
||
python3 kb-bilibili-metadata/bilibili_metadata.py --id "BVxxxxx" --type video
|
||
|
||
# 3. 内容下载
|
||
python3 kb-bilibili-content/bilibili_content.py --id "BVxxxxx" --type subtitle-download
|
||
|
||
# 4. 深度分析
|
||
python3 kb-deep-analyzer/deep_analyzer.py --metadata meta.json --content content.json --output analysis.md
|
||
```
|
||
|
||
## 许可证
|
||
|
||
MIT License
|