Agent skill

Local RAG

by nigo81 in nigo81/nigo-skills

本地向量知识库,支持按项目管理文档(docx/doc/pdf/md),语义检索。默认用硅基流动免费 API,零模型安装即可使用。支持多项目隔离、中文制度文档专用切片、Embedding+Rerank 两阶段检索。触发词:知识库、向量检索、RAG、制度检索、文档入库、语义搜索、local…

MITAuto-check passedAI & LLM Engineering

Install Local RAG

skills CLI
$ npx skills add nigo81/nigo-skills --skill local-rag -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install nigo81/nigo-skills local-rag --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/nigo81/nigo-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/local-rag .claude/skills/local-rag && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
local-rag
GitHub stars
133
Token cost
~1.4k tokens
SKILL.md length
343 words
Files
18
Skills in repo
13
Repo updated
First seen
Licence
MIT

At a glance

本地向量知识库,支持按项目管理文档(docx/doc/pdf/md),语义检索。默认用硅基流动免费 API,零模型安装即可使用。支持多项目隔离、中文制度文档专用切片、Embedding+Rerank 两阶段检索。触发词:知识库、向量检索、RAG、制度检索、文档入库、语义搜索、local…

  • Works in 3 steps: 环境变量 SILICONFLOW_API_KEY(echo… → 配置文件(按平台自动定位) → 如果都没有 → 直接引导用户设置,不要到处搜索
  • Tasks that involve Retrieval-augmented generation
  • SKILL.md covers 技术栈, 使用方式, Embedding Provider and 项目管理, plus 6 more sections
  • Runs Python scripts from its folder; calls pip and python3; needs SILICONFLOW_API_KEY and OPENAI_API_KEY

What it does

Local RAG is an agent skill from nigo81/nigo-skills. 本地向量知识库,支持按项目管理文档(docx/doc/pdf/md),语义检索。默认用硅基流动免费 API,零模型安装即可使用。支持多项目隔离、中文制度文档专用切片、Embedding+Rerank 两阶段检索。触发词:知识库、向量检索、RAG、制度检索、文档入库、语义搜索、local rag、搜制度、查条款、文档检索、从文档中搜、语义匹配。即使用户只是说"帮我从这些文件里找到关于XX的规定"或"对比两份制度的差异",也应使用本 skill。

Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 19 other files (for example `README.md`, `config.example.yaml` and `mcp_server.py`).

It sits in AI & LLM Engineering, covering Retrieval-augmented generation, Embeddings and Word documents. It works with Microsoft Word, OpenAI, Ollama and macOS. The repository describes itself as: 审计师专属 AI 技能包 —— 让 AI 拥有资深审计专家的思维方式. The licence is MIT.

When your agent uses it

  • Tasks that involve Retrieval-augmented generation
  • Tasks that involve Embeddings
  • Tasks that involve Word documents

Example prompts

  • “帮我从这些文件里找到关于XX的规定”
  • “对比两份制度的差异”
  • “/local-rag”

Requirements

  • Python 3
  • A credential in SILICONFLOW_API_KEY
  • A credential in OPENAI_API_KEY

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. 环境变量 SILICONFLOW_API_KEY(echo $SILICONFLOW_API_KEY / Windows: echo %SILICONFLOW_API_KEY%)
  2. 配置文件(按平台自动定位)
  3. 如果都没有 → 直接引导用户设置,不要到处搜索

What it can do on your machine

Read from SKILL.md and the folder at commit 6468211. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships script files (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • pip
    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • cloud.siliconflow.cn

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • SILICONFLOW_API_KEY
    • OPENAI_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Local RAG loads about 1.4k tokens when it runs. Until then it costs about 58 tokens; SKILL.md has 343 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~58
When it runs · the whole SKILL.md, loaded when a task matches
~1.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from nigo81/nigo-skills at commit 6468211, republished under its MIT licence (© nigo81). 343 words, ~1,441 tokens.

Download SKILL.mdSave it as .claude/skills/local-rag/SKILL.md (or your agent's skills folder). This skill also uses 17 other files; get the full folder from GitHub.
name
local-rag
description
本地向量知识库,支持按项目管理文档(docx/doc/pdf/md),语义检索。默认用硅基流动免费 API,零模型安装即可使用。支持多项目隔离、中文制度文档专用切片、Embedding+Rerank 两阶段检索。触发词:知识库、向量检索、RAG、制度检索、文档入库、语义搜索、local rag、搜制度、查条款、文档检索、从文档中搜、语义匹配。即使用户只是说"帮我从这些文件里找到关于XX的规定"或"对比两份制度的差异",也应使用本 skill。
slug
nigo-local-rag
displayName
本地向量知识库
version
1.0.0
summary
本地向量知识库,支持按项目管理文档(docx/doc/pdf/md),语义检索,默认用硅基流动免费 API,支持中文制度文档专用切片和 Embedding+Rerank 两阶段检索。
license
MIT

本地 RAG 知识库

轻量级本地向量知识库,支持按项目管理文档,语义检索制度条款。

作者: nigo(公众号「逆行的狗」) 面向财务/审计从业者的 AI 效率工具,有任何问题可关注公众号反馈。

技术栈

  • 切片:Chonkie RecursiveChunker + OverlapRefinery(15% overlap)
  • 向量库:ChromaDB(persistent,多项目隔离)
  • 默认 Embedding:硅基流动 BAAI/bge-m3(免费,1024维,8192 tokens)
  • 默认 Reranker:硅基流动 BAAI/bge-reranker-v2-m3(免费)
  • 文档解析:textutil(macOS .doc)+ python-docx(.docx)+ PyMuPDF(.pdf)+ MinerU(扫描件)
  • 可选本地模式:Ollama embedding + Ollama reranker(完全离线)

使用方式

CLI(推荐)

bin/local-rag 是独立的 CLI 入口脚本,自动定位 skill 目录,可在任意位置运行。

bash
# 设置快捷方式(一次性,加到 PATH)
export PATH="$HOME/.claude/skills/local-rag/bin:$PATH"
# 或创建别名:alias local-rag="$HOME/.claude/skills/local-rag/bin/local-rag"

# 首次配置(交互式向导)
local-rag setup

# 项目管理
local-rag create my-project
local-rag delete my-project
local-rag list

# 入库
local-rag ingest my-project /path/to/docs
local-rag ingest my-project /path/to/file.docx --label "财务制度"

# 检索
local-rag search my-project "消防安全管理"
local-rag search my-project "消防安全管理" --rerank --top-k 20

# 工具
local-rag chunk-test /path/to/file.doc
local-rag info

也可以直接用完整路径:~/.claude/skills/local-rag/bin/local-rag

Python API
python
import sys, os
# 添加 skill 目录(根据实际安装位置调整)
sys.path.insert(0, os.path.expanduser("~/.claude/skills/local-rag"))
from src.pipeline import Pipeline

pipeline = Pipeline()

# 项目管理
pipeline.create_project("my-project")
pipeline.list_projects()
pipeline.delete_project("my-project")

# 入库(文件或文件夹)
result = pipeline.ingest("my-project", "/path/to/docs")

# 检索
results = pipeline.search("my-project", "消防安全管理", top_k=15)

# 检索 + Rerank
results = pipeline.search_with_rerank("my-project", "消防安全管理", final_k=10)

# 测试切片
result = pipeline.chunk_test("/path/to/file.doc")
MCP Server
bash
pip install fastmcp
python3 ~/.claude/skills/local-rag/mcp_server.py

6 个 tool:create_project / delete_project / list_projects / ingest / search / rerank_search

Embedding Provider

Provider适用场景需要什么
siliconflow(默认)大多数场景,免费额度无限量API Key
ollama离线/内网环境Ollama + 模型(~2.5GB)
openai已有 OpenAI 账号API Key

⚠️ API Key 安全: 不要把 API Key 直接写在 config.yaml 里!请设置环境变量 SILICONFLOW_API_KEY,config.yaml 中用 ${SILICONFLOW_API_KEY} 引用。

环境变量 SILICONFLOW_API_KEY 设置硅基流动 Key 即可使用默认配置。如果没有 Key,请先到 硅基流动 免费注册并创建 API Key。

API Key 查找顺序

当用户没有设置 API Key 时,按以下顺序查找,不要 grep 搜索:

  1. 环境变量 SILICONFLOW_API_KEY(echo $SILICONFLOW_API_KEY / Windows: echo %SILICONFLOW_API_KEY%)
  2. 配置文件(按平台自动定位):
    • macOS: ~/Library/Application Support/local-rag/config.yaml
    • Windows: %LOCALAPPDATA%\local-rag\config.yaml
    • Linux: ~/.local/share/local-rag/config.yaml
  3. 如果都没有 → 直接引导用户设置,不要到处搜索:
    请先设置硅基流动 API Key(免费,注册地址:https://cloud.siliconflow.cn):
    
    macOS/Linux:
    echo 'export SILICONFLOW_API_KEY="sk-xxx"' >> ~/.zshrc && source ~/.zshrc
    
    Windows (PowerShell):
    [Environment]::SetEnvironmentVariable("SILICONFLOW_API_KEY", "sk-xxx", "User")
    
    或运行:local-rag setup

项目管理

  • 每个项目 = 一个 ChromaDB collection
  • 项目名只能用英文、数字、点、横线(ChromaDB 限制)
  • 不同项目的文档完全隔离
  • 删除项目会删除所有文档和向量

切片策略

中文制度文档(默认)

Chonkie RecursiveChunker 三级递归:

  1. Level 1: 按"第X章"分章节
  2. Level 2: 按双换行分大段落
  3. Level 3: 按单换行分条款/段落
  4. 目标 ~800 字符/chunk,最小 50 字符,15% overlap
通用 Markdown(可选)
  • 按标题层级(#、##、###)分割
  • config.yaml 中设 chunking.strategy: generic

配置

配置文件路径(跨平台自动选择):

  • macOS: ~/Library/Application Support/local-rag/config.yaml
  • Windows: %LOCALAPPDATA%\local-rag\config.yaml
  • Linux: ~/.local/share/local-rag/config.yaml

环境变量优先:SILICONFLOW_API_KEY / OPENAI_API_KEY / RAG_DATA_DIR / RAG_EMBEDDING_MODEL

数据存储

默认路径(跨平台自动选择):

  • macOS: ~/Library/Application Support/local-rag/
  • Windows: %LOCALAPPDATA%\local-rag\
  • Linux: ~/.local/share/local-rag/

可通过环境变量 RAG_DATA_DIR 或 config.yaml 的 storage.data_dir 修改。

前置条件

默认模式(零模型安装)
Show full SKILL.md (141 more words)Show less
本地模式(可选)
  • Ollama 运行中,已拉取 qwen3-embedding:4b
  • 无需额外 Python 包
高级离线(极少数需求)
  • pip install torch transformers
  • bge-reranker-v2-m3 cross-encoder(~2.3GB)

Key Rules

  • 首次使用必须先运行 local-rag setup 或手动设置 SILICONFLOW_API_KEY 环境变量
  • 执行任何 CLI 命令前,先用 local-rag info 检查配置是否就绪
  • API Key 只能由用户提供,禁止 grep/搜索文件系统找 key。如果 local-rag info 报错"API Key 未设置",直接引导用户(见上方"API Key 查找顺序"),不要到处 grep
  • 不要在没有 API key 的情况下继续执行 ingest/search 等命令,必定失败
  • 首次使用还需安装依赖:pip install -r ~/.claude/skills/local-rag/requirements.txt,如果命令报 ImportError,引导用户安装
  • v3 默认用硅基流动 API,不需要 GPU 或 Ollama
  • 推荐用 search_with_rerank(top-20 检索 + rerank top-10),给 LLM 足够候选
  • LLM 必须阅读候选 chunk 的完整内容,不能只看前几行
  • 由 LLM 从候选文本中做深度语义匹配,精确定位条款
  • LLM 判断的关键:不是选"文字最相似的",而是选"管理同一件事的"
  • 向量检索无法判断"无对标",需要 LLM 二次判断
  • .doc 文件优先用 macOS textutil 转换,非 macOS 用 python-docx 回退
  • 扫描版 PDF(每页文字 < 50 字符)自动调 MinerU 处理
  • 环境变量 RAG_EMBEDDING_MODEL 可切换模型

踩坑记录

  1. ChromaDB 1.3.5 list_collections() 返回 Collection 对象,需要 .name
  2. Chonkie RecursiveLevel 不能同时设 delimiters 和 whitespace
  3. Ollama reranker(chat API)输出乱码,v3 改用 embedding-based cosine similarity
  4. Embedding 余弦相似度做 rerank 效果有限,但比没有好;cross-encoder 更精准
  5. Ollama /api/embed 返回 {"embeddings": [[...]]} 不是 {"embedding": [...]}
  6. 硅基流动 reranker 是 Cohere 风格 API,不是 OpenAI 格式

© nigo81, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 17 other files in local-rag of nigo81/nigo-skills.

  • SKILL.md
  • .gitignore
  • README.md
  • bin/local-rag
  • config.example.yaml
  • mcp_server.py
  • requirements.txt
  • src/__init__.py
  • src/__main__.py
  • src/chunker.py
  • src/cli.py
  • src/config.py
  • src/embedding.py
  • src/exceptions.py
  • src/parser.py
  • src/pipeline.py
  • src/reranker.py
  • src/store.py

Open the folder on GitHubat commit 6468211

Compare with similar skills

Local RAG next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Local RAG compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Local RAG this skillnigo81/nigo-skills133—~1.4kAutomated safety check: PassMIT
Chroma Vector DatabaseOrchestra-Research/AI-Research-SKILLs13k7 repos~2.3kAutomated safety check: PassMIT
Knowledgeguaardvark/guaardvark257—~642Automated safety check: PassMIT
Embeddings via 9Routerdecolua/9router31k—~604Automated safety check: PassMIT
Perfupraullenchai/Rapid-MLX4k—~1.6kAutomated safety check: NotesCustom licence
AI SDK Developmenttrypostit/trypost6911 repos~3.5kAutomated safety check: PassMIT

Similar skills

  • Chroma Vector Database

    Orchestra-Research/AI-Research-SKILLs

    Shows how to store documents and embeddings in Chroma, query them by similarity with metadata filters, and persist them to disk for RAG and semantic search projects.

    13k GitHub starsUsed in 7 repos~2.3k tokens
    AI & LLM EngineeringAuto-check passed
  • Knowledge

    guaardvark/guaardvark

    Answer from the user's own indexed documents with Guaardvark's local RAG, browse and read indexed files section by section, remember facts across sessions, and process or fetch new material.

    257 GitHub stars~642 tokensUpdated today
    Documents & OfficeAuto-check passed
  • Embeddings via 9Router

    decolua/9router

    Generates vector embeddings through the 9Router /v1/embeddings endpoint, using models from providers such as OpenAI, Gemini, Mistral and Voyage for RAG and semantic search.

    31k GitHub stars~604 tokensUpdated yesterday
    AI & LLM EngineeringAuto-check passed
  • Perfup

    raullenchai/Rapid-MLX

    Autonomous performance optimization: research, PoC, benchmark, implement, review, PR

    4k GitHub stars~1.6k tokensUpdated today
    AI & LLM EngineeringAuto-check: notes
  • AI SDK Development

    trypostit/trypost

    TRIGGER when working with ai-sdk which is Laravel official first-party AI SDK.

    691 GitHub starsUsed in 1 repo~3.5k tokens
    AI & LLM EngineeringAuto-check passed
  • Mlx Serve

    ddalcu/mlx-serve

    Hook an app, game or script up to the local mlx-serve server for LLM chat, embeddings, image, speech, music, sound effect, video and 3D generation, and Laya/Kev/Clef typed decisions.

    1.8k GitHub stars~1k tokensUpdated today
    AI & LLM EngineeringAuto-check passed

More from nigo81/nigo-skills

All 13 skills in this repo
  • Looks up Chinese company registration data in the CICPA industry knowledge base, from a quick search to a full 61-dimension export, subsidiary discovery and Excel output.

    133 GitHub stars~2.8k tokensUpdated 1 mo ago
    Auto-check passed
  • Audit Report Checker

    nigo81/nigo-skills

    Checks audit reports (financial statements and notes) for cross-reference, summation and text errors, with arithmetic done by script and results exported to Excel and Markdown.

    133 GitHub stars~4.3k tokensUpdated 1 mo ago
    Auto-check passed
  • Merges bank statements from several banks and formats into one standard Excel layout, then reconciles them against the general ledger with a layered matching engine.

    133 GitHub stars~1.3k tokensUpdated 1 mo ago
    Auto-check passed
  • A Chinese-language persona that answers accounting-standards and audit questions in the style of forum moderator Chen Yiwei, checking standards text before it replies.

    133 GitHub stars~2.4k tokensUpdated 1 mo ago
    Auto-check passed
  • Chinese-language tool that turns a business process description into a swimlane flowchart for internal control and audit work, exported as .drawio, PNG, SVG or VSDX.

    133 GitHub stars~2.1k tokensUpdated 1 mo ago
    Auto-check passed
  • Cross-checks a client's own registry data against its customers' and suppliers' to surface undisclosed related-party relationships for an audit.

    133 GitHub stars~1.7k tokensUpdated 1 mo ago
    Auto-check passed

Questions about Local RAG

What does Local RAG do?

本地向量知识库,支持按项目管理文档(docx/doc/pdf/md),语义检索。默认用硅基流动免费 API,零模型安装即可使用。支持多项目隔离、中文制度文档专用切片、Embedding+Rerank 两阶段检索。触发词:知识库、向量检索、RAG、制度检索、文档入库、语义搜索、local…. Local RAG is an agent skill from nigo81/nigo-skills.

When should I use Local RAG?

Local RAG fits situations like: tasks that involve Retrieval-augmented generation; tasks that involve Embeddings; tasks that involve Word documents.

How do I install Local RAG in Claude Code?

Run `npx skills add nigo81/nigo-skills --skill local-rag -a claude-code`. Or copy the skill folder (local-rag in nigo81/nigo-skills) into .claude/skills/local-rag in your project. Claude Code loads it when a task matches its description.

How do I install Local RAG in Codex?

Run `npx skills add nigo81/nigo-skills --skill local-rag -a codex`. Or copy the skill folder (local-rag in nigo81/nigo-skills) into .agents/skills/local-rag in your project. Codex loads it when a task matches its description.

Can I use Local RAG in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add nigo81/nigo-skills --skill local-rag -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/local-rag, .gemini/skills/local-rag, .github/skills/local-rag and .opencode/skills/local-rag in your project.

What does Local RAG need to run?

Going by SKILL.md and its folder, Local RAG needs Python for the scripts in its folder, the command-line tools its instructions call (pip and python3) and credentials named SILICONFLOW_API_KEY and OPENAI_API_KEY. Our summary lists: Python 3; A credential in SILICONFLOW_API_KEY; A credential in OPENAI_API_KEY.

Does Local RAG access the network?

SKILL.md names 1 domain. As links in the text: cloud.siliconflow.cn. This is read from the text; nothing was executed.

Is Local RAG safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Local RAG use?

Local RAG is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Local RAG use?

About 1.4k tokens (SKILL.md is roughly 5.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Local RAG?

Skills that share tags, products or a category with Local RAG: Chroma Vector Database (Orchestra-Research/AI-Research-SKILLs, 13k stars), Knowledge (guaardvark/guaardvark, 257 stars), Embeddings via 9Router (decolua/9router, 31k stars) and Perfup (raullenchai/Rapid-MLX, 4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Local RAG?

nigo81 (a GitHub user) maintains it in nigo81/nigo-skills, which has 133 GitHub stars. The repository holds 13 skills in this directory. The repository was last updated on August 23, 2026.

Source: nigo81/nigo-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.