Documentation for OpenProcessor: the inference API and the curation subsystem.
| Document | What it covers |
|---|---|
| README.md | Overview, feature list, quick start, first project, the cars and wheels example |
| INSTALLATION.md | The one-line installer, every flag, the openprocessor CLI, VLM selection, install from source |
| VISION_AND_GOALS.md | What the project is for, the v0.1.0 scope and the standards the code is held to |
| SECURITY.md | No authentication, LAN exposure, VLM URL policy, reporting |
| CONTRIBUTING.md | Dev setup, tests, contracts, doc checks, commit conventions |
| CLAUDE.md | Orientation for AI coding agents working in the repo |
| Document | What it covers |
|---|---|
| CURATION.md | User guide: projects, ingest, region profiles, prompt packs, VLM endpoints, import, combine, export, training |
| design/curation_api_contract.md | Route table and wire models for /curation |
| design/curation_design_rationale.md | Why the subsystem is built the way it is |
| ARCHITECTURE.md | Services, project isolation, data model, the multi-box region cascade, config store, workers |
| opensearch_schema_design.md | Global and per-project index schemas, region_boxes, clustering |
| ../contracts/README.md | Generated OpenAPI and TypeScript contracts |
The generated schema, contracts/openapi/curation.json,
is the source of truth for routes and models.
| Document | What it covers |
|---|---|
| OCR.md | PP-OCRv5 detection and recognition setup |
| FACE_RECOGNITION_IMPLEMENTATION.md | SCRFD and ArcFace |
| ../export/README.md | Exporting models to TensorRT, PE-Core encoders, dual-head detectors |
| MIGRATION_TRITON_26.md | Re-exporting engines for Triton 26.06 and TensorRT 11 |
| PERFORMANCE.md | FastAPI and gRPC tuning, profiling |
| Technical/TRITON_BEST_PRACTICES.md | Triton batching, instance groups, tuning |
| security/triton_cve_hardening.md | Triton image CVE posture |
| ../benchmarks/README.md | The triton_bench tool |
| Document | What it covers |
|---|---|
| ../scripts/README.md | Setup, CLI, release, dataset, example and curation scripts |
| ../ATTRIBUTION.md | Third-party code and licenses |
| ../CHANGELOG.md | Release history |
All routes are on one port (4603 by default).
| Prefix | Description |
|---|---|
/detect, /faces, /embed, /search, /ingest, /ocr, /analyze, /clusters, /query, /models, /health |
Inference and visual search; also under /v1 |
/curation/projects |
Project registry: list, create, combine |
/curation/projects/{project}/... |
Everything project scoped: classes, crops, regions, clusters, review, scores, VLM, prompt packs, region profiles, settings, keymap, datasets, reprocess, ingest, export, training |
/curation/vlm/... |
Deployment-wide VLM endpoint registry, catalog and local model selection |
/curation/events |
Global event stream |
OpenProcessor/
├── README.md, INSTALLATION.md, SECURITY.md, CONTRIBUTING.md, CLAUDE.md
├── openprocessor # management CLI (bash)
├── setup-openprocessor.sh # one-line installer
├── docker-compose.yml # deploy-safe stack
├── docker-compose.dev.yml # checkout overlay: local builds, hot reload
├── docker-compose.gpu-arbiter.yml # opt-in overlay
├── env.template # every setting
├── Makefile
│
├── src/
│ ├── main.py # FastAPI app
│ ├── routers/ # core routers; routers/curation/ for /curation
│ ├── services/ # curation/, config_store/, projects/, labeling/,
│ │ # detection/, training/ and the core services
│ ├── clients/ # Triton, OpenSearch, OCC helpers, PE encoder
│ ├── config/ # CurationConfig, RegionFields, projects, retired env
│ └── schemas/ # Pydantic models
│
├── scripts/ # setup, lib/, release/, codegen/, datasets/, docs/,
│ └── curation/ # examples/; curation/ has workers and tools
├── models/ # Triton model repository
├── export/ # model export scripts
├── docker/ # segmenter, trainer, evaluator, test harness
├── examples/ # region profiles, prompt packs, bake-off, VLM catalog
├── contracts/ # generated API contracts
├── benchmarks/ # triton_bench (Go)
├── docs/, docs-site/ # documentation, Docusaurus site
├── monitoring/ # Prometheus, Grafana, Loki configuration
└── tests/ # offline suite; tests/live needs the harness
make up # start the core stack
make curation-up # start the curation workers
curl http://localhost:4603/health
make test # offline pytest suite
make contracts # regenerate contracts/ after an API change
.venv/bin/python scripts/docs/check_docs_vs_code.py # check docs against codeModel exports:
make export-models # YOLO TensorRT
make export-mobileclip # MobileCLIP encoders
make setup-face-pipeline # SCRFD + ArcFace
make setup-ocr # PP-OCRv5
make export-pe # PE-Core encoders (curation)Check model status:
make models-list # or: ./openprocessor models