做了个本地文档知识库AI问答工具







Knowledge Skill
中文文档 | English
PDF 本地技术文档知识库 AI 问答工具。通过两级索引定位到具体章节,AI 直接读最相关页面并回答问题,避免全文阅读,节省 token 消耗。
前置条件
需要 Claude Code:在 knowledge/ 目录下启动 Claude Code 才能使用 /knowledge 命令。
使用前需要安装 PDF 工具(任选其一):
|
|
|
|
|---|---|---|
|
|
pip install pdfplumber |
|
|
|
pip install pypdf |
|
|
|
|
|
首次使用 /knowledge index 时会自动检测可用工具。如未安装任何工具,会提示并停止。
快速开始(新项目)
-
将 knowledge/目录放置到任意位置 cd knowledge/
并在此目录启动 Claude Code -
运行 /knowledge init,按提示生成配置文件(设置doc_dirs指向文档目录,默认../) -
运行 /knowledge index,建立索引 -
用 /knowledge <问题>查询
命令一览
|
|
|
|---|---|
/knowledge init |
|
/knowledge index |
|
/knowledge index <文件名> |
|
/knowledge reindex <文件名> |
|
/knowledge status |
|
/knowledge <问题> |
|
配置说明
项目配置文件位于当前工作目录下的 knowledge-config.yaml,主要字段:
|
|
|
|
|---|---|---|
name |
|
|
description |
|
|
doc_dirs |
|
["../"] |
languages |
|
[en, zh] |
doc_id_pattern |
|
|
dedup.enabled |
|
false |
dedup.revision_pattern |
|
|
dedup.revision_order |
alphabetical 或 none) |
"none" |
index_root |
|
"index/" |
tmp_dir |
|
"tmp/" |
详细配置说明见 KNOWLEDGE-CONFIG-SCHEMA.md。
输出示例
/knowledge init
Project name [my-project]: 8295_qcomProject description: SA8295 AudioReach PDF technical documentsDocument directories (doc_dirs) ["../"]:Config written to knowledge-config.yamlRun /knowledge index to start indexing — it will auto-detect document ID patterns and suggest dedup settings.
/knowledge index
Tool detected: pdfplumberScanning PDFs in ["../"] ... 43 files foundComparing with main index... 42 new/modified, 1 unchangedIndexing 80-VN500-7_AudioReach LA Architecture.pdf... TOC: 8 chapters extracted Sub index written: index/80-VN500-7.yaml Main index updated... (处理其余文件)Duplicate detection: 80-PM164-53 → superseded by 80-PM164-53_REV_AA 80-PM164-54 → superseded by 80-PM164-54_REV_ABDone: 43 indexed, 4 superseded, 0 errors
注意: 大量 PDF 全量索引需要较长时间,消耗较多 token。如果中途断开,已完成的文档索引会保留,下次执行会跳过(增量索引)。
/knowledge index <文件名>
Matching "VN500-7"... found: 80-VN500-7_AudioReach LA Architecture.pdfIndexing... TOC: 8 chapters extracted Sub index written: index/80-VN500-7.yaml Main index updatedDone
如果部分匹配到多个文件,会列出让你选择。
/knowledge reindex <文件名>
Matching "VN500-7"... found: 80-VN500-7_AudioReach LA Architecture.pdfRe-indexing... TOC: 8 chapters extracted Sub index written: index/80-VN500-7.yaml Main index updatedDone
/knowledge status
Knowledge Base Status (8295_qcom)=====================Indexed: 1/43 PDFsIndexed documents: 80-VN500-6 index_status: completeUnindexed PDFs (42): 80-VN500-3_AudioReach Signal Processing.pdf ...Superseded: 0Errors: 0Orphan sub-index files: 0Summary: 1/43 indexed, 0 incomplete/error, 0 superseded, 0 orphan files
/knowledge <问题>
用自然语言提问,自动定位到相关文档的章节并基于原文回答。
常见问题
Q: 如何在新项目中使用?
将 knowledge/ 目录放置到任意位置,cd knowledge/,启动 Claude Code,然后运行 /knowledge init 并设置 doc_dirs 指向文档目录。
Q: 提示 “Config not found” 怎么办?
运行 /knowledge init 生成配置文件。
Q: 提示 “No PDF tool found” 怎么办?
安装任一工具即可:
pip install pdfplumber
Q: 索引过程中断了怎么办?
已完成的索引会保留。直接重新执行 /knowledge index,已索引且未修改的文件会自动跳过。
Q: 查询结果不准或没找到?
-
尝试用更具体的技术术语 -
如果索引不完整,先执行 /knowledge index补全 -
执行 /knowledge status检查索引健康状态
更多文档
-
设计文档 — 架构设计和决策说明 -
配置 Schema — 配置字段详细定义
夜雨聆风