恒美微站
首页
关于我们
建站服务
主题模板
案例展示
资讯中心
联系我们
零 API Key 的本地知识库搜索:chubbyskills SQLite 增量索引与 semantic-lite 原理详解
首页
资讯中心
/
零 API Key 的本地知识库搜索:chubbyskills SQLite 增量索引与 semantic-lite 原理详解
零 API Key 的本地知识库搜索:chubbyskills SQLite 增量索引与 semantic-lite 原理详解
发布时间:2026/10/14 15:34:03
AI 技能/插件知识管理MCP 服务CLI【免费下载链接】chubbyskills把中文全渠道内容抖音 / B站 / 小红书 / 公众号 / X / 播客采集进个人知识库的 14 个 AI Skill图文存图、视频转文字稿、字幕优先免 GPU、RSS/YouTube 订阅调度与每日情报简报附带知识库 MCP server。 Ingest Chinese content into your personal knowledge base — image/video routing, subtitle-first transcription, feed subscriptions with daily digests, and a KB MCP server.项目地址https://gitcode.com/gh_mirrors/ch/chubbyskills点击查看免费下载chubbyskills 是一个把抖音、B站、小红书、公众号、X、播客等中文内容采集进个人知识库的 AI Skill 工具箱。它的本地搜索功能完全不需要 API Key只需一个 SQLite 增量索引加上 semantic-lite 轻量语义检索就能在离线环境下快速搜回自己保存的笔记。本文带你拆解这套零成本搜索背后的索引机制与算法原理。为什么本地搜索可以不花一分钱常见的知识库搜索方案大多依赖向量数据库或 embedding API把笔记文本发给云端模型生成向量再按余弦相似度召回。这套方案效果好但有三个门槛——要注册账号、要配 API Key、可能按量计费。chubbyskills 走了一条不同的路整个默认搜索链路只用 Python 标准库和 SQLite不下载模型、不调用任何模型 API。环节默认方案是否需要 API Key存储索引单个 SQLite 文件.chubby/index.sqlite❌ 不需要关键词搜索SQLite FTS5不可用时自动降级为 LIKE❌ 不需要语义搜索semantic-lite本地词频 余弦排序❌ 不需要真实 embeddingOpenAI 或本地 sentence-transformers可选仅你显式开启时官方文档对此有一句话总结默认检索使用 Python 标准库和 SQLite真实 embedding 为可选能力见 docs/knowledge-automation.md。三步跑通SQLite 增量索引索引的核心代码在 tools/vault_index.py。它的工作方式可以概括为扫描 → 对比 → 事务写入全库快照遍历知识库下所有.md文件解析 frontmatter标题、标签、摘要、来源、平台和正文形成一份完整的笔记记录集。扫描过程中任何读取失败都会中止并回滚绝不会出现删了一半的脏索引。增量对比把新记录与数据库中旧记录逐字段对比index_vault中的 diff 逻辑见 tools/vault_index.py只写入新增、修改和删除的部分未变化的笔记原样保留。事务提交整个同步包在一个BEGIN IMMEDIATE事务里中途出错全部回滚数据库要么完整更新、要么保持原样。日常使用只需两条命令python3 tools/vault_index.py index $VAULT_DIR # 建立/同步索引 python3 tools/vault_index.py search 内容策略 # 关键词搜索如果你走的是统一入口索引同步甚至是自动的python3 tools/chubby.py search在查询前会自动调用sync_vault增量同步见 tools/chubby.py采集入库后也会自动更新索引。几个值得注意的设计细节索引位置默认在知识库根目录的.chubby/index.sqlite通过 resolve_db_path 解析可用环境变量VAULT_INDEX_DB或--db参数覆盖。FTS5 自动探测索引时先用一张临时表试探 SQLite 是否编译了 FTS5 扩展见 has_fts5。可用就建notes_fts虚拟表走全文检索不可用就降级为LIKE模糊匹配——因为默认分词器对中文不友好LIKE 反而更稳。向量精确失效如果你之前生成过 embedding 向量增量同步时只有实际送入模型的文本标题、标签、摘要、正文前 6000 字发生变化才会让对应旧向量失效仅仅改个无关字段不会白白浪费已生成的向量。防误操作数据库与知识库路径绑定无法静默切换到别的知识库指向知识库外部的符号链接会被拒绝。相关行为都有测试覆盖见 tests/test_incremental_index.py。semantic-lite无模型的语义检索怎么做的语义搜索这个词容易让人联想到神经网络 embedding。而 chubbyskills 的默认 semantic-lite 其实是一套纯本地统计算法代码很短逻辑完全透明核心就在 tools/vault_index.py 里。第一步分词——英文按词中文按字符组合semantic_terms用两个正则分别处理中英文英文/数字匹配a-z0-9开头的完整单词中文先提取连续的中文字符块再滑动切出二字词和三字词如内容策略→内容容策策略 内容策容策略。这种二元/三元切分不依赖词典却能捕捉中文里绝大多数常见词汇——因为汉语词以两三个字为主。第二步词频向量 余弦相似度查询和文档各自被转成一个词频Counter术语叫 bag-of-terms 向量然后计算余弦相似度。注意文档向量的字段加权标题出现 3 次、标签出现 3 次、摘要 1 次、正文 1 次——标题和标签命中的权重天然高于正文见 semantic_search。第三步整句命中奖励如果查询串完整出现在标题、标签、摘要或正文里得分直接0.15。这个小小的加分让用户原话排在碰巧沾边的词前面符合搜索直觉。最后按得分降序排列同分按修改时间取新返回带路径、标题、平台、摘要片段和score的结果。命令如下python3 tools/vault_index.py semantic 内容策略 --platform x python3 tools/vault_index.py semantic 选题 --tag strategy --json统一入口里对应--mode lite参数python3 tools/chubby.py search 内容策略 --mode lite一句话总结semantic-lite 中英文混切分 字段加权词频 余弦相似度 整句命中奖励。没有模型文件没有网络请求全部在本地毫秒级完成。进阶需要更强语义理解时再升级semantic-lite 适合概念大致相关的召回但对同义词比如变现和盈利无能为力。chubbyskills 预留了平滑升级路径——只需换 provider索引和命令都不用变provider说明需要lite默认上面的零依赖方案什么都不需要openai真实 embedding余弦相似度在向量空间计算OPENAI_API_KEYlocal本地 sentence-transformers 多语言模型本地安装模型依赖开启后先跑一次embed生成向量只补缺失的向量重复执行不重复计费再设CHUBBY_EMBEDDING_PROVIDER环境变量即可。向量存于同一个 SQLite 的embeddings表增量同步会让内容变更的旧向量失效。详细说明见 docs/knowledge-automation.md 的可选 embedding一节。给 Agent 用MCP 自动同步索引knowledge-base-management/scripts/mcp_server.py 把本地知识库暴露为 6 个 MCP 工具search_vault、semantic_search_vault、read_kb_note等。关键点所有查询工具先自动执行增量同步再执行检索所以你在 Agent 会话里新建、修改笔记后再查询结果立即生效而默认语义检索走的就是零依赖的 semantic-lite自动同步不会触发任何付费 API。完整配置见 docs/mcp-workflow.md。相关文件速查文件作用tools/vault_index.py索引器与搜索核心FTS5/LIKE 搜索、semantic-lite、可选 embeddingtools/chubby.py统一 CLI 入口search --mode lite自动同步索引knowledge-base-management/scripts/mcp_server.py知识库 MCP server供 Agent 调用docs/knowledge-automation.md索引路径、迁移规则与 embedding 升级说明docs/mcp-workflow.mdMCP 安装、客户端配置与同步行为tests/test_incremental_index.py增量同步、向量保留、事务回滚的行为测试总结SQLite 增量索引单文件数据库 全库快照对比 事务回滚只写变化部分扫描失败不会损坏索引FTS5 可用则全文检索不可用则 LIKE 兜底中文场景同样可靠。semantic-lite中文字符二元/三元切分、标题标签加权词频、余弦相似度、整句命中 0.15——用几十行标准库代码换来了零 API Key 的语义检索。升级留了后路想要真正的向量语义切到openai或localprovider 即可命令与索引位置完全不变。对于个人知识库来说这套先免费跑通、再按需升级的设计意味着你今天就能离线搜回所有收藏的内容——不注册、不花钱、不出网。赞分享AI 技能/插件知识管理MCP 服务CLI【免费下载链接】chubbyskills把中文全渠道内容抖音 / B站 / 小红书 / 公众号 / X / 播客采集进个人知识库的 14 个 AI Skill图文存图、视频转文字稿、字幕优先免 GPU、RSS/YouTube 订阅调度与每日情报简报附带知识库 MCP server。 Ingest Chinese content into your personal knowledge base — image/video routing, subtitle-first transcription, feed subscriptions with daily digests, and a KB MCP server.项目地址https://gitcode.com/gh_mirrors/ch/chubbyskills点击查看免费下载相关推荐如何用sqlite-vec构建本地AI知识库向量搜索终极指南如何用sqlite vec构建本地AI知识库向量搜索终极指南 在人工智能快速发展的今天 向量搜索 技术已成为构建智能应用的核心。sqlite vec作为一款向量数据库数据库SearXNG SQLite引擎本地数据库搜索的实现SearXNG SQLite引擎本地数据库搜索的实现 概述 SearXNG作为一款隐私保护的元搜索引擎其强大之处不仅在于聚合多个搜索引擎的结果更在于其灵活后端搜索引擎OpenChatKit检索增强功能知识库索引与实时知识更新实现原理OpenChatKit检索增强功能知识库索引与实时知识更新实现原理 1. 检索增强的核心价值突破大模型知识边界 你是否在使用大语言模型 LLM 时遇到过这些人工智能大模型NLP模型训练模型推理服务创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考