How dikaardnt/ada-lah-pokoknya works
ocrdoc is a CLI application for converting scanned images into reconstructed Markdown and selectable-text DOCX/PDF. The principal workflow is CLI → pipeline: scan and order images, optionally preprocess them, perform local or hosted vision OCR, reconstruct page Markdown with configured skills, assemble pages, then export with optional watermarks. The pipeline also tracks stage state for resume behavior. The README documents capabilities beyond the sampled excerpts; those branches are included where the tree supports them, while uncertain internal wiring is omitted.
Main entry points: pipeline.py Pipeline coordinator · registry.py Provider registry · cli.py Command interface · scanner.py Image scanner
Components 27
Entry and orchestration
- Command interface
src/ocr_reconstructor/cli.py - Pipeline coordinator
src/ocr_reconstructor/pipeline.py
Image and OCR
- Image scanner
src/ocr_reconstructor/imaging/scanner.py - Image ordering
src/ocr_reconstructor/imaging/ordering.py - Image preprocessing
src/ocr_reconstructor/imaging/preprocessing.py - OCR engine factory
src/ocr_reconstructor/ocr/factory.py - PaddleOCR engine
src/ocr_reconstructor/ocr/paddleocr.py - Vision OCR engine
src/ocr_reconstructor/ocr/vision.py
AI and skills
- Reconstruction service
src/ocr_reconstructor/ai/reconstruction.py - Provider registry
src/ocr_reconstructor/ai/registry.py - OpenAI provider
src/ocr_reconstructor/ai/providers/openai.py - Compatible provider
src/ocr_reconstructor/ai/providers/openai_compatible.py - Passthrough provider
src/ocr_reconstructor/ai/providers/passthrough.py - Skill registry
src/ocr_reconstructor/skills/registry.py - Skill loader
src/ocr_reconstructor/skills/loader.py
Document output
- Document assembler
src/ocr_reconstructor/documents/assembler.py - Markdown handling
src/ocr_reconstructor/documents/markdown.py - DOCX export
src/ocr_reconstructor/documents/docx.py - PDF export
src/ocr_reconstructor/documents/pdf.py - Watermark rendering
src/ocr_reconstructor/documents/watermark.py
Configuration and state
- App configuration
src/ocr_reconstructor/config.py - Run manifest
src/ocr_reconstructor/core/manifest.py
Other components
- CLI user
- Scanned images
- PaddleOCR runtime
- AI endpoint
- Workspace artifacts
Connections 31
- CLI user → Command interface: runs commands
- Command interface → App configuration: loads settings
- Command interface → Pipeline coordinator: starts stages
- Pipeline coordinator → Image scanner: scans input
- Image scanner → Scanned images: reads images
- Image scanner → Image ordering: orders paths
- Pipeline coordinator → Image preprocessing: optionally preprocesses
- Pipeline coordinator → OCR engine factory: creates engine
- OCR engine factory → PaddleOCR engine: selects engine
- OCR engine factory → Vision OCR engine: selects engine
- PaddleOCR engine → PaddleOCR runtime: runs recognition
- Pipeline coordinator → Reconstruction service: reconstructs pages
- Pipeline coordinator → Provider registry: creates provider
- Provider registry → OpenAI provider: selects provider
- Provider registry → Compatible provider: selects provider
- Provider registry → Passthrough provider: selects provider
- Reconstruction service → AI endpoint: sends completion
- OpenAI provider → AI endpoint: sends request
- Compatible provider → AI endpoint: sends request
- Pipeline coordinator → Skill registry: resolves skills
- Skill registry → Skill loader: loads skill
- Pipeline coordinator → Document assembler: assembles pages
- Document assembler → Markdown handling: parses Markdown
- Pipeline coordinator → DOCX export: exports DOCX
- Pipeline coordinator → PDF export: exports PDF
- DOCX export → Markdown handling: renders Markdown
- PDF export → Markdown handling: renders Markdown
- DOCX export → Watermark rendering: adds watermark
- PDF export → Watermark rendering: adds watermark
- Pipeline coordinator → Run manifest: tracks stage state
- Pipeline coordinator → Workspace artifacts: reads and writes artifacts