Stores durable facts in a categorized, plain-markdown vault on disk, alongside your agent's built-in memory.
Memory
local-rag-builder
Try it本地 RAG 系统搭建技能,支持环境检测修复、嵌入模型多源下载、5种切分策略 + GuardStack + 后处理 + 插件注册、多知识库管理 + 自动分类规则、可调 Prompt、Web 可视化配置 + 极客模式 + 模板管理
What it does
一站式本地 RAG 系统搭建工具。支持环境自动检测修复、嵌入模型多源下载、5 种切分策略 + GuardStack 守卫栈 + 后处理子切 + 插件注册、多知识库管理与自动分类规则、可调 Prompt、Web 可视化配置。
The skill document
local-rag-builder(本地 RAG 搭建工具)
一站式本地 RAG 系统搭建工具。支持环境自动检测修复、嵌入模型多源下载、5 种切分策略 + GuardStack 守卫栈 + 后处理子切 + 插件注册、多知识库管理与自动分类规则、可调 Prompt、Web 可视化配置。
两种运行模式:
- 🔌 集成模式(默认) — 纯检索,不调用 LLM。智能体(xxxx 等)根据检索到的 context 自行回答。无需配置 LLM,无额外推理成本。
- 🤖 独立模式 — 检索 + LLM 全链路。
rag_standalone.py直接调用外部 LLM(LM Studio / Ollama / vLLM)完成回答,不经过智能体。用户自行选择平台和模型。
工作流说明(以下 xxxx 代指任意智能体):
集成模式:
- 你把文档/链接给 xxxx → xxxx 调用
rag_skill.py向量化入库- 你提问 → xxxx 调用
rag_skill.py --query "..."检索知识库- xxxx 根据检索到的 context 组织回答
独立模式:
- 你把文档/链接给 xxxx → xxxx 调用
rag_standalone.py --import-file入库- 你提问 → xxxx 调用
rag_standalone.py --query "..."rag_standalone.py自行检索知识库 → 调用本地 LLM → 输出回答- xxxx 仅透传结果,不参与推理
触发场景
- 搭建 RAG — "帮我搭一个本地 RAG 系统"
- 环境检测 — "检查我的 Python 环境能否跑 RAG"
- 下载模型 — "下载一个嵌入模型" / "换个模型源重试"
- 切分文档 — "对这个 Markdown 文件做层级切分"
- 向量检索 — "把这份资料入库,搜索相似内容"
- 知识库管理 — "创建一个知识库" / "把这类资料存入指定库"
- 调整参数 — "更新切分参数" / "改 Prompt 模板"
- 智能体集成 — "根据这份资料回答:xxx"(智能体调用 skill 的集成模式)
- 不触发:纯 LLM 聊天不需要检索、简单问答不需要外部资料
核心能力
📚 渐进式加载:本技能采用渐进式 MD 体系,
SKILL.md为入口(≤230行),详细内容拆分到references/*.md按需加载。
| # | 能力 | 说明 |
|---|---|---|
| 1 | 环境自动检测修复 | 检测 Python 版本(需 3.8-3.11)、缺失包,自动创建虚拟环境安装 |
| 2 | 嵌入模型管理 | 多源下载(ModelScope / HuggingFace 镜像 / 官方 / LLM 找源),自动重试,完整性校验,路径修正 |
| 3 | 5 种切分策略 + GuardStack + 后处理 | 固定窗口、递归切、层级/标题切、按句切、语义切;守卫栈(mermaid/代码块/公式/表格/HTML 保护);后处理子切(递归/固定/语义,metadata 白名单继承) |
| 4 | 多知识库管理 | 支持多个向量知识库并行,LLM 自动分类入库或用户指定 |
| 5 | 可调 Prompt | 模板持久化,支持自定义占位符({context} {question}),运行时编辑 |
| 6 | Web 可视化界面 | 内嵌 HTML 配置面板:输入源开关、GuardStack 守卫配置、5 策略动态表单 + 后处理配置、极客模式 JSON 编辑器 + 配置模板管理、知识库自动分类规则编辑器 |
| 7 | 双模式接口 | 集成模式(--retrieve-only / --mode integrated)纯检索,智能体自行回答;独立模式(--mode standalone)检索 + LLM 全链路 |
渐进式文件索引
| 文件名 | 分类 | 包含内容 | 审计关联 |
|---|---|---|---|
references/antipatterns.md | 规范指南 | skill 编写中的常见反模式。包含:错误做法示例、正确做法示例、避坑指引。 | R-18 |
references/architecture.md | 架构设计 | skill-standardization 整体架构。包含:模块关系、数据流、核心设计决策。 | 无 |
references/changelog.md | 版本管理 | 版本更新日志。包含:版本号、变更类型、修复项、升级说明。 | R-24 |
references/examples.md | 使用示例 | 各场景完整执行示例。包含:CLI 命令、执行过程、输出结果。 | R-25 C-17 |
references/faq.md | 常见问题 | 常见疑问与解答。包含:问题分类、原因分析、解决方案。 | R-19, R-25 C-19 |
references/guide.md | 使用指南 | 三种执行模式操作教程。包含:audit/create/refactor 流程、参数说明、注意事项。 | 无 |
references/llm-setup.md | 参考文档 | > 本文件适用于 独立模式(rag_standalone.py)。技能模式(rag_skill.py)不需要 LLM。 | 无 |
references/permissions.md | 权限与测试 | 权限扫描说明与测试结论。包含:风险等级、高权限操作说明、测试概览、计时统计。 | R-15, R-16 |
快速开始
# 1. 进入技能目录
cd ~/.workbuddy/skills/local-rag-builder
# 2. 运行环境检测(自动修复,建议首次用国内镜像)
python scripts/rag_env_setup.py --auto-install --mirror aliyun # 国内用户推荐
# python scripts/rag_env_setup.py --auto-install # 海外用户/默认
# python scripts/rag_env_setup.py --check-only # 仅检测不安装
# python scripts/rag_env_setup.py --cleanup-locks # 清理 pip 锁文件
# 3. 下载嵌入模型(交互式选择)
python scripts/embedding_model_manager.py --interactive
# 4. 启动 Web 配置界面
python scripts/rag_web_ui.py
# 5a. [技能模式] 纯检索,供智能体调用(无需 LLM)
python scripts/rag_skill.py --query "问题"
python scripts/rag_skill.py --query "问题" --json # JSON 输出
# 5b. [独立模式] 检索 + LLM 全链路,需外部 LLM 服务
python scripts/rag_standalone.py # 交互式 CLI
python scripts/rag_standalone.py --query "问题" # 单次问答
python scripts/rag_standalone.py --query "问题" --json # JSON 输出
python scripts/rag_standalone.py --llm-help # 查看 LLM 接入指南
工作流程
- 环境准备 —
rag_env_setup.py检测并安装依赖 - 模型下载 —
embedding_model_manager.py下载/校验嵌入模型 - 文档入库 —
text_splitter.py切分文档 →knowledge_base_manager.py向量化 - 模式选择 — 根据用途选择入口
- 技能模式 →
rag_skill.py(纯检索,供智能体调用,无需 LLM) - 独立模式 →
rag_standalone.py(检索 + LLM 全链路,需外部 LLM)
- 技能模式 →
- 配置调整 —
rag_web_ui.py提供可视化面板
命令速查
| 脚本 | 作用 | 核心参数 |
|---|---|---|
rag_env_setup.py | 环境检测与修复 | --auto-install, --check-only, --cleanup-locks, --mirror, --dry-run |
embedding_model_manager.py | 嵌入模型管理 | --download, --list, --check, --remove |
text_splitter.py | 文本切分(三层流水线) | --strategy, --guard, --secondary, --chunk-size, --input, --list-strategies |
rag_core.py | 共享核心(被其他模块导入,不直接运行) | — |
rag_skill.py | [技能模式] 纯检索接口 | --query, --kb, --json |
rag_standalone.py | [独立模式] 检索+LLM | --query, --kb, --llm-help, --json |
rag_web_ui.py | Web 配置界面 | --port, --gen-html |
prompt_manager.py | Prompt 管理 | --set, --show, --reset |
knowledge_base_manager.py | 知识库管理 | --create, --import, --list, --delete, --set-rule, --classify |
数据目录(skills/.standardization/local-rag-builder/data/)
data/
├── kb/ # 向量数据库目录(每个知识库一个子目录)
│ ├── default/ # 默认知识库
│ ├── art/ # 艺术类资料
│ └── politics/ # 政治类资料
├── models/ # 下载的嵌入模型
├── prompts/ # Prompt 模板文件
├── config/ # 运行时配置
├── output/ # 导出产物
├── logs/ # 执行日志
├── cache/ # 缓存
└── config_templates/ # 用户保存的配置模板
自定义扩展(插件注册)
本技能 v1.0 支持通过代码注册自定义切分策略和守卫。
from text_splitter import register_strategy, register_guard, StrategyPlugin, GuardPlugin, Guard
# 自定义切分策略
def my_splitter(text, my_param=100, **kwargs):
from langchain_core.documents import Document
# 自定义切分逻辑
return [Document(page_content=text)]
register_strategy(StrategyPlugin(
"my_split", "我的自定义切分", my_splitter,
config_schema={
"my_param": {"type": "int", "label": "参数名", "default": 100, "min": 1, "max": 1000},
"flag": {"type": "bool", "label": "开关", "default": False},
},
default_config={"my_param": 100, "flag": False},
))
# 自定义守卫
my_guard = Guard("my_guard", re.compile(r'```special\n[\s\S]*?\n```'))
register_guard(GuardPlugin("my_guard", "保护特殊代码块", my_guard))
注册后自动出现在 Web UI 的下拉列表中,配置表单自动生成。
重要约定
- Python 版本:建议 3.8-3.11(3.12+ 需测试 chromadb 兼容性)
- 嵌入模型路径:下载后自动修正真实路径(如
bge-small-zh-v1___5) - 知识库隔离:不同资料自动/手动归入不同库
- 重置:删除
data/下对应子目录即可重置相关数据
Related skills
Join a video meeting as an AI bot with voice, avatar, and screenshare across four operating modes.
Adaptive web scraping in Python that bypasses anti-bot systems and scales from single requests to concurrent crawls.
Save, search, and manage personal notes and knowledge bases in Get笔记 on explicit request.
Generate and edit Draw.io, Mermaid, and Excalidraw diagrams from natural language using a structured JSON spec.
Trade crypto, manage a multi-chain wallet, and query an AI analyst from one CLI.
More from ldxs001
Browse all skillsSkill 标准化规范引擎。支持 R-01~R-26 规范审查(audit / create / update / refactor / bump / readonly 六模式),含权限扫描、数据目录合规检查、渐进式加载、LLM 二次筛分类。
全平台统一发布工具。支持 skills 和 agents 的 Gitee/GitHub/ClawHub/SkillHub/PyPI 同步与 Release 创建,LLM 驱动的文件过滤与脱敏。
Execute→Review→Advance 三步循环执行框架。增强步骤规划能力、增强语义理解;明确空转/重试/换思路/求助完整流转规则;最多重试3次、最多空转3次强制约束。
调用链编排技能 — 既是调用链编辑器,也是粗粒度规划器。理解用户意图 → 规划 Skill 参与顺序 → 更新/保存/推荐调用链 → 拼接为调用链(支持循环/分支编排、子步骤拓扑排序、准确步骤计数)。
draw.io 自动做图 Skill。当用户要求画图、生成图表、做架构图、流程图、UML、ER 图、时序图、思维导图等时触发。生成 .drawio 文件并用 draw.io 打开。支持思考-确认-迭代-版本回溯的完整工作流,8 个 Hook Point 安全校验。
8种原子组件自由组合 + 3级约束, cell merging, two-level module system (base + composite), 7+ built-in templates, grid-aware visual editor, style presets, post-generation...