document-processor pre-1.0 AGPL-3.0-only + Komercyjna

Document Processor

Parsuj PDF, DOCX, TXT — na swoim komputerze, nie ich.

Przegląd

Aplikacja desktop — backend Rust, powłoka Tauri 2, frontend Svelte 5 — która parsuje dokumenty lokalnie i ekstrahuje tekst plus obrazy z zachowaniem otaczającego kontekstu. Baza SQLite z wyszukiwaniem hybrydowym (FTS5, opcjonalnie wzbogaconym lokalnymi embeddingami), zapamiętany folder do zbiorczego ponownego skanowania, pakiety dla Linuksa.

Sednem nie jest parsowanie. Sednem jest lokalność. Chmurowe usługi OCR i document AI istnieją; ten produkt istnieje dla zespołów, których dokumenty prawnie nie mogą opuścić hosta.

Dla kogo

Cel to organizacje, dla których poufność dokumentów jest wymogiem regulacyjnym lub kontraktowym, nie preferencją:

  • Kancelarie prawne — analiza umów, pism procesowych, opinii. Tajemnica zawodowa adwokata wyklucza chmurowe AI.
  • Badania medyczne i laboratoria kliniczne — historie choroby, protokoły badań, dane prób. RODO i zgoda pacjenta nie obejmują zagranicznych usług LLM.
  • Kancelarie patentowe — wnioski przed złożeniem. Nawet embedding wyciekły do training setu modelu wystarczy, żeby stracić nowość.
  • Zespoły inżynieryjne i R&D — niezopatentowane IP, badania pre-publikacyjne, projekty wewnętrzne.
  • Sektor publiczny — materiały klasyfikowane, objęte ograniczeniami albo kontrolą suwerenności.
  • Korporacje z M&A albo strategicznym IP — raporty zarządu, materiały due diligence, modele finansowe.

Możliwości

  • Parsowanie wielu formatów — PDF, DOCX, TXT. Pliki .doc są przyjmowane, ale przechodzą przez parser DOCX (bez gwarancji dla starego binarnego formatu .doc); RTF nie jest obsługiwany.
  • Ekstrakcja obrazów z otaczającym kontekstem — każdy obraz niesie 200 znaków poprzedzającego i następującego tekstu oraz marker pozycji. Wykresy i diagramy zostają zakotwiczone w tekście, który je opisuje. (Schemat rezerwuje pola na przyszły tekst OCR i opis AI — żadne z nich nie jest jeszcze zaimplementowane.)
  • Klasyfikacja typu dokumentu — automatyczne wykrywanie typów (konfigurowalne; przykłady prawne dostarczone: umowa, pozew, ustawa).
  • Watch folder — aplikacja zapamiętuje wskazany katalog; nowe pliki są przetwarzane po ręcznym ponownym skanie („Skanuj ponownie"), nie automatycznie w tle.
  • Baza SQLite — szybkie wyszukiwanie cross-document bez serwera. Pojedynczy plik, łatwy backup, brak dodatkowej usługi.
  • Wyszukiwanie hybrydowe — leksykalne SQLite FTS5, opcjonalnie łączone z embeddingami z lokalnej instancji Ollamy (nomic-embed-text). Gdy Ollama nie działa, wyszukiwanie płynnie wraca do trybu czysto leksykalnego. W obu wariantach zero wywołań do chmury.
  • Nowoczesny UI — dark theme, drag-and-drop, responsywny. Zbudowany na Svelte 5; reaktywny, mały bundle.
  • Pakiety dla Linuksa — budowane i dystrybuowane dla Linuksa (.deb / AppImage). Toolchain Tauri kompiluje się na Windows i macOS, ale instalatory dla nich nie są dostarczane — pozostaje build ze źródeł. Tauri utrzymuje mały pakiet (~10–20 MB) i szybki runtime.

Struktura wyjścia

Każdy przetworzony dokument tworzy samowystarczalny katalog:

przetworzone/<id>/
<katalog-danych-aplikacji>/przetworzone/<document-id>/
├── document.md          # Markdown czytelny dla człowieka
├── document.json        # Strukturalne dane do AI
│                        #   (w tym metadane obrazów z kontekstem)
├── images/
│   ├── img_001.png      # Wyekstrahowane obrazy
│   └── thumb_img_001.png  # Miniaturka
└── original.pdf         # Kopia oryginału (audit trail)

Dwa równoległe formaty: document.md dla ludzi i document.json do ingestu przez AI. Obrazy leżą obok; ich metadane (otaczający kontekst, marker pozycji, wymiary) są zapisane w document.json i w indeksie SQLite. Oryginał zachowany dla audytu.

Miejsce w ekosystemie

Document Processor jest producentem; reszta BuildOnAI konsumuje to, co produkuje.

  • Consciousness Server — zaingestuj folder dokumentów, każdy sparsowany rezultat staje się rekordem treningowym i notatką we wspólnej pamięci. Archiwum Twojego zespołu staje się odpytywalne przez każdego agenta.
  • Cortex — Cortex czyta document.json jako kontekst, odpowiada na pytania o sparsowany korpus lokalnie. "Pokaż mi wszystkie klauzule kontraktu dłuższe niż 12 miesięcy." Bez chmurowego LLM, bez danych opuszczających host.
  • Key Server — dystrybuuj Document Processor na wiele stanowisk w kancelarii lub laboratorium; każdy pobiera swój token API z vaulta zamiast mieć go zaszytego w .env.

Instalacja (build ze źródła)

Formą dystrybucji są instalatory dla Linuksa (.deb / AppImage). Na każdej platformie można też zbudować aplikację ze źródeł:

terminal
# Linux (Ubuntu/Debian) — zależności systemowe
sudo apt install -y libwebkit2gtk-4.1-dev libappindicator3-dev \
                    librsvg2-dev patchelf libssl-dev

# Zainstaluj Rusta
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

# Sklonuj i zbuduj
git clone https://github.com/build-on-ai/document-processor.git
cd document-processor
npm install
npm run tauri build

Uwaga Windows: wyłącznie build ze źródeł — konfiguracja bundlera definiuje tylko cele linuksowe, więc instalator .msi/.exe nie powstaje. Najpierw zainstaluj WebView2 i Visual Studio Build Tools. Tauri używa systemowego WebView; nic nie jest bundlowane.

Status

pre-1.0 — działa i jest aktywnie używane, jeszcze nie zahartowane produkcyjnie.

Co "pre-1.0" oznacza w praktyce:

  • API może się zmienić bez okresu deprecacji. Nazwy pól w document.json, ścieżki pod przetworzone/, hooki pluginów — wszystko podlega rewizji do v1.0.
  • Edge-case PDF mogą zawodzić lub produkować zaszumiony output. Nietypowe layouty, ciężkie skany, pliki powyżej 100 MB — działa na większości dokumentów, ale failure modes są realne.
  • Instalatory tylko dla Linuksa. .AppImage + .deb są budowane; na Windows i macOS pozostaje build ze źródeł (instrukcje wyżej). Instalator .msi dla Windows jest w planach na v1.0.
  • OCR jeszcze nie ma. Skan bez warstwy tekstowej nie da żadnego wyekstrahowanego tekstu — OCR jest w planach, nie w aplikacji. Schemat document.json rezerwuje już pola per obraz na przyszły tekst OCR i opis AI.
  • Bezpieczne na realnych dokumentach — output trafia do lokalnego katalogu, oryginał zachowany bez zmian, brak destrukcyjnych operacji na inpucie.

Jeśli próbujesz Document Processora w workflow regulowanym, uczciwa rekomendacja: najpierw sparsuj reprezentatywny podzbiór, sprawdź że format wyjścia spełnia Twoje potrzeby, potem rozszerzaj. v1.0 zamknie schemat.

Dalsze kroki