# localclaw **Repository Path**: emphse/localclaw ## Basic Information - **Project Name**: localclaw - **Description**: 一个本地知识库AI助理,可以自由配置大模型服务,采用多重压缩技术减少token消耗 - **Primary Language**: Go - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-04-19 - **Last Updated**: 2026-04-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # LocalClaw ## 介绍 **LocalClaw 简介** LocalClaw 是一款完全开源免费的本地知识库系统。针对注重本地数据安全、防止数据泄露,同时需要高度个性化自定义的用户,LocalClaw 是非常优质的首选方案。 1. 支持自定义接入各类大模型,无需平台会员与积分,无强制绑定 2. 通过**分层检索、重排模型、上下文压缩、动态Token管理**全链路技术,极致压缩文档上下文,大幅降低调用 Token 消耗 3. 知识库压缩全流程参数均可自由自定义配置 ## 软件架构 【5步轻量化 RAG 架构】 > 用户问题 → 分层检索 → 重排模型 → 上下文压缩 → 动态Token管理 → LLM生成 --- ### 1️⃣ 分层检索(源头减少 70% Token) - 文本分块:256~512 Token,语义切分,块间重叠 50~100 Token - 多路召回:向量检索 top10~15 + BM25 关键词检索 top5,结果自动去重 - 初筛留存:仅保留 top5~8 个高相关文本片段 ### 2️⃣ 重排模型 Reranker(再减少 60% Token) - 本地轻量推理模型:BGE / Qwen-Reranker - 筛选逻辑:输入 10 个文本片段,仅输出 top3~4 最相关内容 - 兼顾检索精度与上下文体积轻量化 ### 3️⃣ 上下文压缩(无损内容瘦身) - 抽取式压缩:剔除冗余、无效语句,规整格式,体积缩减 30%~50% - 摘要式压缩:单片段压缩至 30~50 Token,适配长文档场景 ### 4️⃣ 动态上下文管理(Token 永不超限) - 空间计算公式:模型最大Token − 系统提示词(300) − 对话历史(1000) − 回复输出(2048) - 剩余 Token 空间动态分配给知识库检索片段 - 按照相关性优先级依次填充,空间占满即停止载入 ### 5️⃣ 对话历史轻量化(长期对话上下文不爆仓) - 仅保留最近 3~5 轮有效对话 - 久远历史对话自动摘要化存储 - 不再完整全部载入大模型上下文 --- ### 最终极简流程 `用户提问 → 向量检索top10 → Reranker精选top3~4 → 上下文压缩 → 动态Token计算 → 安全拼接上下文 → LLM生成回答` ### Go 本地技术栈 - 向量检索:sqlite-vec 原生 SQL 实现 - 重排模型:BGE-ONNX 本地离线推理 - Token 精确计算:支持 Llama3 / ChatGLM / Qwen 系列模型 - 全链路本地运行、无云端依赖、无 Python 环境依赖 ## 源码安装教程 1. 克隆/下载项目源码 2. reranker下载:https://hf-mirror.com/er6y/bge-reranker-v2-m3_dynamic_int8_onnx/tree/main 3. 启动后端 ```bash cd backend go build ./cmd/server go run ./cmd/server 4. 启动前端: ```bash cd frontend npm install && npm run dev -- --host 5. 打开地址:http://localhost:3000