LiteRAG
Use this skill when the target corpus is too large or too noisy for main agent memory.
Install
Packaged dependency install:
python3 -m pip install -r {baseDir}/requirements.txt
Layout
- Config + databases live under
<workspace>/.literag/ - Main config:
<workspace>/.literag/knowledge-libs.json - Default workspace resolution order:
OPENCLAW_WORKSPACE→WORKSPACE→ walk upward from the current path until the OpenClaw workspace sentinel files are found - Core scripts live under
skills/literag/scripts/ - Skill bin entrypoint:
skills/literag/bin/literag - Workspace convenience wrappers live at
scripts/literag-query.py,scripts/literag-index.py,scripts/literag-status.py,scripts/literag-meta.py, andscripts/lq
Rules
- Keep personal/work memory in OpenClaw builtin memory
- Keep large external corpora in LiteRAG, not
memory_search - Treat each knowledge base as an independent library with its own SQLite
- Search first, inspect second
- Prefer grouped document hits over raw chunk spam
- Prefer source-relative paths when citing files back to the user
- Use local OpenAI-compatible embeddings by default unless explicitly changed in config
Read these files when needed
- Always read
<workspace>/.literag/knowledge-libs.jsonwhen targeting a library or changing config - Read
references/usage.mdwhen you need command examples, output schema, or the intended search → inspect workflow - Read
references/configuration.mdwhen adding libraries, source roots, excludes, chunking overrides, or ranking overrides - Read
references/agent-prompts.mdwhen another agent / ACP harness needs a ready-made LiteRAG prompt template - Read
references/optimization-playbook.mdwhen a specific library needs retrieval-quality tuning, ranking cleanup, or indexing-throughput tuning - Read scripts under
skills/literag/scripts/only when editing behavior or diagnosing bugs
Slash / user-invocable usage
When invoked as /literag ..., parse the remaining argument string as a subcommand.
Supported forms:
/literag search <library> <query>/literag inspect <library> <path> [--start N --end N]/literag index <library> [--limit-files N] [--embedding-batch-size N]/literag index-all [--limit-files N] [--embedding-batch-size N]/literag status <library>/literag meta <library>/literag benchmark <library> --query ...
If the user gives a natural-language request instead of a strict subcommand, translate it to the nearest supported operation instead of being pedantic.
Supported commands
index_library.py— index one libraryindex_all.py— index all configured librariessearch_library.py— grouped hybrid/fts/vector retrievalinspect_result.py— expand a hit by file path + chunk rangestatus_library.py— show index health / compatibility / countsmeta_library.py— dump raw sqlitemetarecordsbenchmark_library.py— benchmark hybrid/fts/vector latency + hit shape across fixed query setsbin/literag— packaged CLI entrypoint for search / inspect / index / status / meta / benchmarkscripts/literag-query.py— query/search/inspect wrapperscripts/literag-index.py— index wrapper for one library or all librariesscripts/literag-status.py— status wrapperscripts/literag-meta.py— meta wrapperscripts/literag-benchmark.py— benchmark wrapperscripts/lq— tiny shell alias forliterag-query.py
Operating workflow
- Read
<workspace>/.literag/knowledge-libs.json - Resolve the target library
- Run
search_library.pyfor grouped retrieval - If needed, run
inspect_result.pyon the top hit or chosen range - For quick operator use, prefer
scripts/literag-query.pyorscripts/lq - Use
scripts/literag-index.pywhen you need a short indexing entrypoint - Use
scripts/literag-status.pybefore debugging weird retrieval or after config changes - Use
scripts/literag-meta.pywhen you need the raw stored metadata - Use
scripts/literag-benchmark.pyorskills/literag/scripts/benchmark_library.pywhen you need repeatable retrieval latency / hit-shape comparisons - Keep LiteRAG separate from builtin memory unless the user explicitly wants a durable summary copied into workspace memory
Current intent
Use LiteRAG for:
- Blender manual + Blender Python reference
- Future blog/article/site knowledge bases
- Any large external docs where hybrid retrieval is needed without polluting builtin memory