title: "mozanunal/llm-tools-kiwix: Turn any Kiwix ZIM archive (offline Wikipedia, Stack Exchange, DevDocs, etc.) into an instant knowledge source for LLMs with a tiny CLI + Python server exposing searchable chunks, metadata and citations."
source: https://github.com/mozanunal/llm-tools-kiwix
author:
- "[[mozanunal]]"
published:
created: 2025-08-17
description: Turn any Kiwix ZIM archive (offline Wikipedia, Stack Exchange, DevDocs, etc.) into an instant knowledge source for LLMs with a tiny CLI + Python server exposing searchable chunks, metadata and citations. - mozanunal/llm-tools-kiwix
tags:
- Cougar-Ears
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
moz andinitial working version v0.1.0 c0c6173 ยท | ||||
Expose offline Kiwix ZIM archives (like Wikipedia, Stack Exchange, DevDocs) to Large Language Models (LLMs) via the LLM CLI tool and Python library. This plugin allows LLMs to search and read content from your local ZIM files.
.zim
files in the current working directory and in the directory specified by the KIWIX_HOME
environment variable.kiwix_search_and_collect
: Searches a ZIM file and returns the content of matching articles. (Most commonly used)kiwix_search
: Performs a search and returns metadata and article paths.kiwix_read
: Reads the content of a specific article path.Install this plugin in the same environment as LLM.
llm install llm-tools-kiwix
wikipedia_en_all_nopic_2023-10.zim
devdocs_en_docker_2025-04.zim
askubuntu.com_en_all_2024-10.zim
.zim
files in:
llm
commands or Python scripts (current working directory).KIWIX_HOME
environment variable, if set. The plugin will automatically detect files from these locations.# In your project directory
ls *.zim
# Expected output (if files are in current directory):
# askubuntu.com_en_all_2024-10.zim devdocs_en_docker_2025-04.zim devdocs_en_scala_2025-04.zim
llm tools list
This will show entries like kiwix_search_and_collect
, and its description will include a line similar to:Available ZIM files for 'zim_file_path' argument: ./askubuntu.com_en_all_2024-10.zim, ./devdocs_en_docker_2025-04.zim, ...
The tool's full description will also detail the format of its output.You can instruct an LLM to use these tools directly from the command line. For example, if you want to find information about fixing a rootless Docker installation error using your devdocs_en_docker_2025-04.zim
file:
llm -m gpt-4o-mini --tool kiwix_search_and_collect \
"I'm getting a permission error while trying to run Docker in rootless mode. \
Please search and provide relevant information from the Docker devdocs." \
--tools-debug
gpt-4o-mini
with your desired model.kiwix_search_and_collect
tool.zim_file_path: "devdocs_en_docker_2025-04.zim"
(or another relevant ZIM file from the available list) and search_string: "docker rootless permission error"
(or similar) as arguments for the tool.--tools-debug
(optional) shows the tool calls and responses.The LLM will then receive the search results (content from the ZIM file) and use that to formulate its answer.
To set up this plugin locally, first check out the code. Then create a new virtual environment:
cd llm-tools-kiwix
python -m venv venv
source venv/bin/activate
# On Windows: venv\Scripts\activate
Now install the dependencies and test dependencies:
pip install -e '.[test]'
To run the tests:
python -m pytest
Make sure you have some .zim
files in the project root, or in a directory specified by KIWIX_HOME
, or mock the ZIM interactions appropriately for tests to run against.
No packages published