• Python 48.2%
  • TypeScript 42.8%
  • Shell 3.3%
  • Go Template 3.2%
  • Nix 0.8%
  • Other 1.6%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-08-17 11:39:53 +00:00
.gitlab chore(devenv): add pre-commit hooks and apply resulting fixes 2026-06-06 00:01:56 +00:00
.vscode feat(chat): rewrite chatbot as streaming AG-UI agent 2026-08-17 11:39:53 +00:00
alpine chore(deps): update docker images (patch) 2026-07-01 22:16:28 +00:00
backend feat(chat): rewrite chatbot as streaming AG-UI agent 2026-08-17 11:39:53 +00:00
charts feat(chat): rewrite chatbot as streaming AG-UI agent 2026-08-17 11:39:53 +00:00
cicd feat(chat): rewrite chatbot as streaming AG-UI agent 2026-08-17 11:39:53 +00:00
Documentation feat(chat): rewrite chatbot as streaming AG-UI agent 2026-08-17 11:39:53 +00:00
dovecot feat(scaling): replace CPU-based HPA with KEDA RabbitMQ queue autoscaling 2026-08-05 06:01:27 +00:00
ElasticSearch feat(scaling): replace CPU-based HPA with KEDA RabbitMQ queue autoscaling 2026-08-05 06:01:27 +00:00
elasticvue feat(scaling): replace CPU-based HPA with KEDA RabbitMQ queue autoscaling 2026-08-05 06:01:27 +00:00
Frontend feat(chat): rewrite chatbot as streaming AG-UI agent 2026-08-17 11:39:53 +00:00
gotenberg feat(scaling): replace CPU-based HPA with KEDA RabbitMQ queue autoscaling 2026-08-05 06:01:27 +00:00
Grafana feat(scaling): replace CPU-based HPA with KEDA RabbitMQ queue autoscaling 2026-08-05 06:01:27 +00:00
helpers feat: remove transfer-loom and make generate jobs manual 2026-03-05 08:31:26 +01:00
integrationtest feat(chat): rewrite chatbot as streaming AG-UI agent 2026-08-17 11:39:53 +00:00
keda feat(scaling): replace CPU-based HPA with KEDA RabbitMQ queue autoscaling 2026-08-05 06:01:27 +00:00
kube-state-metrics feat(scaling): replace CPU-based HPA with KEDA RabbitMQ queue autoscaling 2026-08-05 06:01:27 +00:00
nix-dind feat(frontend): add interactive offline demo mode 2026-07-23 20:45:20 +00:00
ollama feat(chat): rewrite chatbot as streaming AG-UI agent 2026-08-17 11:39:53 +00:00
open-webui feat(scaling): replace CPU-based HPA with KEDA RabbitMQ queue autoscaling 2026-08-05 06:01:27 +00:00
Prometheus chore(devenv): add pre-commit hooks and apply resulting fixes 2026-06-06 00:01:56 +00:00
Rabbit feat(scaling): replace CPU-based HPA with KEDA RabbitMQ queue autoscaling 2026-08-05 06:01:27 +00:00
Redis feat(scaling): replace CPU-based HPA with KEDA RabbitMQ queue autoscaling 2026-08-05 06:01:27 +00:00
roundcube feat(search): configurable card display with density presets and preview fields 2026-08-08 14:01:54 +00:00
rspamd feat(scaling): replace CPU-based HPA with KEDA RabbitMQ queue autoscaling 2026-08-05 06:01:27 +00:00
seaweedfs feat(scaling): replace CPU-based HPA with KEDA RabbitMQ queue autoscaling 2026-08-05 06:01:27 +00:00
tika-server feat(scaling): replace CPU-based HPA with KEDA RabbitMQ queue autoscaling 2026-08-05 06:01:27 +00:00
traefik feat(scaling): replace CPU-based HPA with KEDA RabbitMQ queue autoscaling 2026-08-05 06:01:27 +00:00
.editorconfig Initial Commit 2025-04-10 16:20:14 +02:00
.editorconfig-checker.json chore(devenv): add pre-commit hooks and apply resulting fixes 2026-06-06 00:01:56 +00:00
.envrc chore(devenv): add pre-commit hooks and apply resulting fixes 2026-06-06 00:01:56 +00:00
.flake8 Initial Commit 2025-04-10 16:20:14 +02:00
.gitattributes feat(frontend): optimize UI for mobile screens 2026-07-25 01:01:03 +00:00
.gitignore feat(frontend): add interactive offline demo mode 2026-07-23 20:45:20 +00:00
.gitlab-ci.yml feat(frontend): improve interactive offline demo mode 2026-07-24 20:30:01 +00:00
.gitmodules Initial Commit 2025-04-10 16:20:14 +02:00
.prettierignore chore(devenv): add pre-commit hooks and apply resulting fixes 2026-06-06 00:01:56 +00:00
.pylintrc chore(devenv): add pre-commit hooks and apply resulting fixes 2026-06-06 00:01:56 +00:00
.secretsignore Resolve "Add secrets scanner(s) to pipeline" 2025-10-13 22:46:20 +00:00
.test_durations chore(worker): remove Flower Celery monitoring service 2026-08-03 06:48:33 +00:00
ARCHITECTURE.md feat(chat): rewrite chatbot as streaming AG-UI agent 2026-08-17 11:39:53 +00:00
CLAUDE.md chore(worker): remove Flower Celery monitoring service 2026-08-03 06:48:33 +00:00
CODE_OF_CONDUCT.md add code of conduct 2025-04-10 16:20:33 +02:00
CONTRIBUTING.md chore(devenv): add pre-commit hooks and apply resulting fixes 2026-06-06 00:01:56 +00:00
devenv.lock chore(deps): update images to python 3.14, add rspamd, remove fluentd 2026-05-11 10:49:23 +00:00
devenv.nix chore(deps): update frontend dependencies (minor) 2026-08-17 08:10:23 +00:00
devenv.yaml chore(deps): update images to python 3.14, add rspamd, remove fluentd 2026-05-11 10:49:23 +00:00
LICENSE.txt chore(devenv): add pre-commit hooks and apply resulting fixes 2026-06-06 00:01:56 +00:00
openapitools.json fix(deps): update backend dependencies (minor) 2026-08-16 17:53:17 +00:00
poetry.lock feat(chat): rewrite chatbot as streaming AG-UI agent 2026-08-17 11:39:53 +00:00
publiccode.yml feat(chat): rewrite chatbot as streaming AG-UI agent 2026-08-17 11:39:53 +00:00
pyproject.toml refactor(worker/tests): restructure archive tests to mirror source package 2026-07-16 05:41:20 +00:00
pytest.ini chore(devenv): add pre-commit hooks and apply resulting fixes 2026-06-06 00:01:56 +00:00
README.md feat(chat): rewrite chatbot as streaming AG-UI agent 2026-08-17 11:39:53 +00:00
renovate.json fix(deps): update backend dependencies (minor) 2026-08-16 17:53:17 +00:00
skaffold.yaml fix(skaffold): insert values-development.yaml before up-flags and overwrites 2026-07-16 22:44:15 +00:00
THIRD-PARTY.md feat(chat): rewrite chatbot as streaming AG-UI agent 2026-08-17 11:39:53 +00:00
typos.toml fix(aitools): diff against MR target branch instead of hardcoded origin/main 2026-08-03 22:44:02 +00:00
up.sh feat(scaling): replace CPU-based HPA with KEDA RabbitMQ queue autoscaling 2026-08-05 06:01:27 +00:00
vars.sh feat(scaling): replace CPU-based HPA with KEDA RabbitMQ queue autoscaling 2026-08-05 06:01:27 +00:00

Loom Logo Document Analysis Platform

License: MIT Release Interactive Demo Pipeline Status

Loom is an open-source document analysis platform that lets you import documents, search, analyze, and export them from a single deployment. It extracts text and metadata from a wide range of file formats, including OCR for scanned documents, and enriches your collection with AI features like an intelligent chatbot, automatic tagging, summarization, and translation. Loom runs completely offline, making it suitable for organizations handling confidential or classified data.

[[TOC]]

🎬 Try the Demo

Scan the QR code or open the interactive frontend demo.

Loom live demo QR code

Key Features

  • 🚀 Simple Deployment: Get up and running quickly with a single command.
  • 🔍 Powerful Search: Full-text search across your documents and image content with a rich set of search filters and options.
  • ⚙️ Automatic Indexing: Loom automatically monitors configured data sources and processes new and updated files.
  • 📤 Flexible Data Import: Easily add data by uploading files directly through the Loom frontend.
  • 📚 Comprehensive Content Extraction: Handles a vast array of file formats, including Office documents, PDFs, emails, archives, images, and more. Features robust OCR and efficient processing of large files.
  • 🏷️ Metadata Extraction: Automatically identifies and extracts relevant metadata from all supported file types during the indexing process.
  • 🤖 AI Features: Loom integrates AI throughout: an intelligent chatbot that can search, navigate, and act on documents for you; automatic tagging of new documents based on existing tags; and AI-generated summaries and image descriptions.
  • 📦 Archives: Bundle search results or individual documents into encrypted archives. Archives can be transferred securely between Loom instances and include a built-in command-line viewer to explore the data without a Loom installation.
  • 📌 Tagging: Organize and categorize your document collection with custom, user-defined tags in addition to the AI-driven automatic tagging.
  • 🌍 Translation: Built-in functionality to translate content from various languages into English.
  • 🖼️ Secure Document Previews: View safe previews of documents and auto-generated thumbnails directly in the UI, without exposing the original file to the browser.
  • 🔗 REST API: Integrate Loom's search and AI features into your own applications through a well-documented REST API.

🚫 Limitations

Loom is a platform you adapt to your use case, not a turnkey product. It makes deliberate trade-offs in scope:

  • 🔄 No upgrade path guarantees: Each deployment is self-contained. When moving to a new version, deploy a fresh instance and re-index your data. There is no support for migrating state between versions.
  • 👩 No user management: Loom does not provide authentication, authorization, or role separation. All users have admin-level access. If isolation is needed, run separate instances.
  • 🌐 Not suitable for public exposure: Loom is not hardened for internet-facing use. Without external protection (e.g., VPN, proxy authentication), exposing it publicly carries significant security risks.

🛠️ Installation

Full installation instructions for deploying Loom as an end user, covering dependencies, system requirements, single-node and multi-node deployment, offline usage, and Helm values reference:

These instructions are for deploying Loom as an end user. If you want to contribute or develop Loom, see Development Setup instead.

🚀 Getting Started

Open https://frontend.loom. An interactive guided tour will walk you through all features on your first visit. Upload documents, search your corpus, and use the AI chatbot to explore and analyze your data.

🛠️ Development Setup

Below you will find the documented setup process for a portable development environment:

📜 License

Loom is licensed under the MIT License. See the full text of the license in the LICENSE.txt file.