自动同步: 2026-03-15 02:10
This commit is contained in:
@@ -1,207 +1,102 @@
|
||||
---
|
||||
name: kb-deep-analyzer
|
||||
description: AI深度分析 - 使用 AI 对内容进行深度分析和摘要
|
||||
---
|
||||
|
||||
# KB Deep Analyzer Skill
|
||||
|
||||
**kb-deep-analyzer** - AI 深度内容分析工具。
|
||||
|
||||
## 什么时候使用
|
||||
|
||||
- kb-workflow 步骤 5:对视频字幕或文章内容进行深度分析
|
||||
- 需要生成摘要、主题、见解等
|
||||
|
||||
## 功能
|
||||
## Features
|
||||
|
||||
- 多类型分析:视频(video)、文章(article)
|
||||
- 模板化输出
|
||||
- 质量评分
|
||||
- 自动标签
|
||||
- 多格式元数据支持
|
||||
- **多格式元数据支持**: 支持扁平结构 `{"title":"xxx"}` 和嵌套结构 `{"data":{"metadata":{...}}}`
|
||||
|
||||
## 环境变量(必需)
|
||||
## 内容类型
|
||||
|
||||
| 变量名 | 说明 | 示例 |
|
||||
|--------|------|------|
|
||||
| `AI_API_KEY` | AI API 密钥 | `your-api-key` |
|
||||
| `AI_PROVIDER` | AI 提供商 | `zhipu` / `openai` / `minimax` |
|
||||
| `AI_MODEL` | 模型名称 | `glm-5` / `gpt-4` |
|
||||
| `AI_BASE_URL` | API 端点 | `https://open.bigmodel.cn/api/coding/paas/v4` |
|
||||
| 类型 | 参数 | 输出格式 |
|
||||
|------|------|----------|
|
||||
| 视频 | `--type video` | 摘要 + 主题 + 见解 + 时间轴 |
|
||||
| 文章 | `--type article` | 300字摘要 + 主题 + 原文 |
|
||||
|
||||
## 命令
|
||||
## Commands
|
||||
|
||||
```bash
|
||||
# 分析视频
|
||||
AI_API_KEY="xxx" AI_PROVIDER="zhipu" AI_MODEL="glm-5" \
|
||||
python3 -u deep_analyzer.py \
|
||||
--metadata meta.json \
|
||||
--content content.json \
|
||||
--output analysis.md \
|
||||
--type video \
|
||||
--provider zhipu --model glm-5
|
||||
# 分析视频(默认)
|
||||
AI_API_KEY="your-api-key" AI_PROVIDER="zhipu" AI_MODEL="glm-5" \
|
||||
python3 -u deep_analyzer.py --metadata meta.json --content content.json --output analysis.md --type video
|
||||
|
||||
# 分析文章
|
||||
AI_API_KEY="xxx" AI_PROVIDER="zhipu" AI_MODEL="glm-5" \
|
||||
python3 -u deep_analyzer.py \
|
||||
--metadata meta.json \
|
||||
--content content.txt \
|
||||
--output analysis.md \
|
||||
--type article \
|
||||
--provider zhipu --model glm-5
|
||||
# 分析文章(300字摘要 + 原文)
|
||||
AI_API_KEY="your-api-key" AI_PROVIDER="zhipu" AI_MODEL="glm-5" \
|
||||
python3 -u deep_analyzer.py --metadata meta.json --content content.json --output analysis.md --type article
|
||||
|
||||
# 指定 AI 提供商
|
||||
python3 -u deep_analyzer.py -m meta.json -c content.json -o out.md --type video --provider zhipu --model glm-5
|
||||
```
|
||||
|
||||
## 参数说明
|
||||
## 环境变量配置
|
||||
|
||||
| 参数 | 说明 | 必需 |
|
||||
|------|------|------|
|
||||
| `--metadata` | 元数据 JSON 文件路径 | 是 |
|
||||
| `--content` | 内容文件路径(JSON/TXT) | 是 |
|
||||
| `--output` | 输出 Markdown 文件路径 | 是 |
|
||||
| `--type` | 内容类型(video/article) | 是 |
|
||||
| `--provider` | AI 提供商 | 否(默认从环境变量) |
|
||||
| `--model` | 模型名称 | 否(默认从环境变量) |
|
||||
|
||||
## 输出格式 Schema
|
||||
|
||||
### 必需字段
|
||||
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| `success` | boolean | 是否分析成功 |
|
||||
|
||||
### 成功时字段
|
||||
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| `output_file` | string | 输出文件路径 |
|
||||
| `model` | string | 使用的模型 |
|
||||
| `provider` | string | 使用的提供商 |
|
||||
|
||||
### 失败时字段
|
||||
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| `error` | string | 错误信息 |
|
||||
| `message` | string | 详细说明 |
|
||||
|
||||
## 成功示例
|
||||
|
||||
```json
|
||||
{
|
||||
"success": true,
|
||||
"output_file": "analyzed/bilibili_BV1xx411c7mD.md",
|
||||
"model": "glm-5",
|
||||
"provider": "zhipu"
|
||||
}
|
||||
```
|
||||
|
||||
## 错误示例
|
||||
|
||||
### API 调用失败
|
||||
|
||||
```json
|
||||
{
|
||||
"success": false,
|
||||
"error": "AI API 调用失败: rate limit exceeded",
|
||||
"message": "深度分析失败,整个流程终止"
|
||||
}
|
||||
```
|
||||
|
||||
### 环境变量未设置
|
||||
|
||||
```json
|
||||
{
|
||||
"success": false,
|
||||
"error": "AI_API_KEY 环境变量未设置",
|
||||
"suggestion": "请配置 AI_API_KEY 环境变量"
|
||||
}
|
||||
```
|
||||
|
||||
### 内容文件不存在
|
||||
|
||||
```json
|
||||
{
|
||||
"success": false,
|
||||
"error": "内容文件不存在",
|
||||
"content_file": "content/missing.json"
|
||||
}
|
||||
```
|
||||
|
||||
## 输出格式(Markdown)
|
||||
|
||||
### 视频分析输出
|
||||
|
||||
```markdown
|
||||
# 视频标题
|
||||
|
||||
## 摘要
|
||||
[200-300字的核心内容摘要]
|
||||
|
||||
## 主要主题
|
||||
- 主题1
|
||||
- 主题2
|
||||
- 主题3
|
||||
|
||||
## 关键见解
|
||||
- 见解1
|
||||
- 见解2
|
||||
|
||||
## 时间轴
|
||||
- 00:00 - 02:30: 第一部分
|
||||
- 02:30 - 05:00: 第二部分
|
||||
...
|
||||
|
||||
## 标签
|
||||
#标签1 #标签2 #标签3
|
||||
```
|
||||
|
||||
### 文章分析输出
|
||||
|
||||
```markdown
|
||||
# 文章标题
|
||||
|
||||
## 摘要
|
||||
[300字以内的核心观点]
|
||||
|
||||
## 主要主题
|
||||
- 主题1
|
||||
- 主题2
|
||||
|
||||
## 完整原文
|
||||
[原始文章内容]
|
||||
```
|
||||
|
||||
## 安装
|
||||
**必须设置以下环境变量**:
|
||||
|
||||
```bash
|
||||
cp -r kb-deep-analyzer/ ~/.openclaw/skills/
|
||||
pip install httpx
|
||||
export AI_API_KEY="your-api-key"
|
||||
export AI_PROVIDER="zhipu" # 或 openai, minimax
|
||||
export AI_MODEL="glm-5" # 模型名称
|
||||
export AI_BASE_URL="https://..." # 可选,自定义 API 地址
|
||||
```
|
||||
|
||||
## 在 kb-workflow 中的使用
|
||||
### 重要提示
|
||||
|
||||
**必须使用 `-u` 参数运行 Python**,确保输出实时显示在终端:
|
||||
|
||||
```bash
|
||||
# 步骤 5:深度分析
|
||||
# ⚠️ 必须成功,否则整个流程失败
|
||||
|
||||
AI_API_KEY="$AI_API_KEY" AI_PROVIDER="zhipu" AI_MODEL="glm-5" \
|
||||
python3 -u ~/.openclaw/skills/kb-deep-analyzer/deep_analyzer.py \
|
||||
--metadata "metadata/bilibili_BV1xx411c7mD.meta.json" \
|
||||
--content "content/bilibili_BV1xx411c7mD.json" \
|
||||
--output "analyzed/bilibili_BV1xx411c7mD.md" \
|
||||
--type video \
|
||||
--provider zhipu --model glm-5
|
||||
|
||||
# 检查结果:
|
||||
# - success=true → 进入步骤 6(归档)
|
||||
# - success=false → 整个流程终止,报告错误
|
||||
python3 -u deep_analyzer.py ...
|
||||
```
|
||||
|
||||
## ⚠️ 重要提示
|
||||
如果不使用 `-u` 参数,Python 的 stdout 缓冲会导致输出延迟或看不到进度。
|
||||
|
||||
1. **必须使用 `-u` 参数**:确保 Python 输出实时显示
|
||||
2. **深度分析不可跳过**:这是必须成功的步骤
|
||||
3. **失败即终止**:如果返回 `success: false`,整个流程必须停止
|
||||
4. **禁止降级**:不能使用预设模板或简单摘要"假装成功"
|
||||
5. **并发执行**:默认使用 batch_size=3 并发处理
|
||||
## 执行方式选择
|
||||
|
||||
### 方式1: 并发执行(推荐,默认)
|
||||
- 使用 `batch_size=3`(默认)
|
||||
- 6个分片约 100 秒完成
|
||||
- 适合快速分析
|
||||
|
||||
```bash
|
||||
python3 -u deep_analyzer.py --metadata meta.json --content content.json -o out.md
|
||||
```
|
||||
|
||||
### 方式2: 顺序执行
|
||||
- 使用 `batch_size=1`
|
||||
- 6个分片约 735 秒完成
|
||||
- 适合调试和问题排查
|
||||
|
||||
```bash
|
||||
# 在代码中设置 batch_size=1
|
||||
# analyzer.analyze(metadata, content, "video", batch_size=1)
|
||||
```
|
||||
|
||||
## Metadata Format
|
||||
|
||||
支持两种元数据格式:
|
||||
|
||||
```json
|
||||
// 格式1: 扁平结构
|
||||
{
|
||||
"title": "视频标题",
|
||||
"author": "作者名",
|
||||
"duration": 619,
|
||||
"bvid": "BVxxx"
|
||||
}
|
||||
|
||||
// 格式2: 嵌套结构(kb-bilibili-metadata 输出)
|
||||
{
|
||||
"data": {
|
||||
"metadata": {
|
||||
"title": "视频标题",
|
||||
"author": "作者名",
|
||||
"duration": "10:19"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
会自动转换为扁平格式进行分析。
|
||||
|
||||
Reference in New Issue
Block a user