Add search to your website
compendium.json.gzcompendium-full.json.gz
Keyword and meaning-based search from one file, in a page, a script, or an AI assistant on your computer.
How to search a compendiumGather your websites, knowledge base, code, and video captions into one compendium. Search it from a web page, a script, or any AI assistant, with no server to run.
Extractium gathers and prepares your content once, then writes it in several formats. The output is ordinary files you can keep, share, or host, including on GitHub Pages.
compendium.json.gzcompendium-full.json.gz
Keyword and meaning-based search from one file, in a page, a script, or an AI assistant on your computer.
How to search a compendiumllms.txtllms/
Give web-browsing assistants your content in the form they read, and keep a readable list of what was indexed.
How to use the published filescompendium.sqlite
Build reports from the database file, or load it into a hosted database for a remote assistant.
How to host search remotelyokf/
A folder of Markdown files in the Open Knowledge Format, for reading, editing, and other tools.
Choose which outputs to writeNo database service or always-running server is required to build the files. Source and output plug-ins let you extend the formats.
Start small. The setup script asks three questions and builds an index of up to 25 pages for you to review.
You need Python 3.10 or newer. The script sets up Extractium’s dependencies in its own environment.
Create an empty folder for your compendium. Use the script link for your operating system, then save that file in the folder.
Open a terminal in that folder and run the command shown. Give your compendium a name, a short file name, and a starting website.
Open dist/llms.txt, then the file it links to under dist/llms/, to review the pages. Run the same command again to build the full site. Edit config.yaml when you want to adjust the sources.
Allow about 1 GB for dependencies, plus a 130 MB model downloaded on the first build. Later builds reuse the model. Read the installation guide for requirements and other ways to install.
Save the linked file as run.bat in your new folder, not as a .txt file.
Run this command in that folder:
.\run.batSave the linked file as run.sh in your new folder, not as a .txt file.
Run this command in that folder:
bash ./run.shThen answer the setup prompts:
Your build output stays in the folder you chose. Publishing them is a separate step. Local-folder content is excluded from each output unless you explicitly enable it.
See the Depression Center’s own settings fileThe same files serve a website search box, your own analysis, and an AI assistant. You decide where they live.
Browse the documentationHost the index next to your website and let the JavaScript client answer searches in the browser.
Point a web-browsing assistant at llms.txt, or connect one to the local or hosted search server.
Read the files with the Python and JavaScript clients, or add a source or output plug-in of your own.
Extractium is developed by the Mobile Technologies Core at the Eisenberg Family Depression Center, University of Michigan, and grew out of the indexing engine in Field Station AI™.
The project is open source under the GNU General Public License v3.0 or later. Its documentation uses the GNU Free Documentation License v1.3 or later.
The first build is small on purpose. See what it includes, then build the rest.