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
.docsą 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:
<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.jsonjako 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ł:
# 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 podprzetworzone/, 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+.debsą budowane; na Windows i macOS pozostaje build ze źródeł (instrukcje wyżej). Instalator.msidla 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.jsonrezerwuje 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.