knowledge-qa
本地知识库问答技能。当用户需要基于个人知识库文档(PDF/Markdown/Word)进行问答、生成报告、制作思维导图、或上传文件到向量库时触发。触发词包括:"基于知识库"、"基于mysql查询"、"基于某个分区"、"查一下知识库"、"帮我写报告"、"生成思维导图"、"根据文档"、"从我的资料"、"结合我的笔记"、"整理成报告"、"做个导图"、"上传知识库"、"有新文件"、"索引文档"、"建向量库"、"有哪些分区"、"分区列表"、"创建知识库"、"初始化知识库"、"知识库列表"。
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/18874771327/knowledge-qa知识库问答技能 (knowledge-qa)
概述
本技能支持多知识库架构,每个知识库对应一个独立的 DashVector Collection。用户可在同一工作目录下创建多个互不干扰的知识库(如"MySQLNotes"、"JavaNotes"等)。
核心特性:
- 多知识库支持(一个知识库 = 一个 DashVector Collection)
- 语义向量检索(基于阿里云 DashVector + 百炼 Embedding)
- 自动分区(raw_docs 子目录自动映射为分区)
- 多分区并行查询 + 结果合并
- 报告 + 思维导图双输出
- 需要 Python 环境(用户需安装 Python 3.8+)
前置要求
1. 安装 Python 环境
用户需在系统上安装 Python 3.8 或更高版本,以及以下依赖:
pip install pdfplumber python-docx requests
2. 安装 WorkBuddy 并打开工作目录
用户用 WorkBuddy 打开一个工作目录,在该目录下管理所有知识库。
多知识库架构
工作空间 (WorkBuddy 打开的目录)
│
├── MySQLNotes/ ← 知识库 A → Collection: MySQLNotes
│ ├── raw_docs/
│ │ ├── mysql/ ← 分区: mysql
│ │ └── default/
│ ├── config.json ← 独立配置(不同的 DashVector Collection)
│ ├── indexed_files.json
│ └── README.md
│
├── JavaNotes/ ← 知识库 B → Collection: JavaNotes
│ ├── raw_docs/
│ │ ├── java基础/ ← 分区: java_
│ │ └── default/
│ ├── config.json
│ └── README.md
│
└── scripts/ ← (由技能提供,用户不可见)
├── init_knowledge_base.py
├── upload_to_vector.py
├── query_knowledge_base.py
└── partition_list.py
映射关系:
- 1 个知识库文件夹 = 1 个 DashVector Collection(独立配置)
- Collection 内按 raw_docs 子目录分区(mysql / oracle / java_ 等)
- 切换知识库:由用户在提问时指定,如"基于 MySQLNotes 知识库回答..."
工作流程一:创建新知识库
触发词: "创建知识库"、"初始化一个知识库"、"新建知识库"
步骤 1:确认知识库名称和工作目录
用户告诉 AI 要创建的知识库名称,以及是否在当前工作目录下创建。
步骤 2:运行初始化脚本
python <技能路径>/scripts/init_knowledge_base.py <知识库名称> --path <工作目录>
AI 自动执行脚本,在工作目录下创建以下结构:
知识库名称/
├── raw_docs/
│ └── default/
├── config.json ← 模板文件,用户需填写阿里云凭证
├── indexed_files.json
└── README.md
步骤 3:提示用户填写配置
告知用户打开 config.json,填入:
dashvector.api_keydashvector.endpointdashvector.collection_name(建议与知识库名一致)bailian.api_key
凭证获取地址:
- DashVector: https://dashvector.console.aliyun.com/api-key
- 百炼: https://bailian.console.aliyun.com/api-key
工作流程二:上传文件到向量库
触发词: "上传知识库"、"有新文件了"、"帮我索引文件"
步骤 1:确认目标知识库
用户必须指定知识库名称(如"MySQLNotes")。AI 在工作目录下查找对应的知识库文件夹。
步骤 2:运行上传脚本
python <技能路径>/scripts/upload_to_vector.py --kb-path <知识库路径>
脚本自动:
- 扫描
raw_docs/下所有文件 - 识别新增或变更的文件(对比
indexed_files.json) - 提取文本内容并分块
- 调用百炼 API 生成向量
- 调用 DashVector API 上传(自动创建分区)
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-18874771327-knowledge-qa": {
"enabled": true,
"auto_update": true
}
}
}