OpenPrinterOpenPrinter

Introduction

Understand the boundary between the OPPA desktop agent and the OpenPrinter integration ecosystem, including Neplex OpenPrinter Cloud.

OPPA and OpenPrinter connect a remote application to printers that are reachable only from a user's local machine or network.

OPPA is the Open Printer Proxy Agent. It is a lightweight Tauri desktop application backed by a shell-independent Rust agent. It discovers and authenticates with a validated OpenPrinter service selected in runtime settings, discovers local printers, receives jobs, writes them to SQLite, renders their structured documents, submits them to a concrete printer transport, and reports the resulting state.

OpenPrinter is the generic integration layer. @openprinter/protocol publishes the canonical TypeScript schemas and codecs. @openprinter/server runs validated protocol sessions over host-owned transports. The integrating application owns HTTP, WebSocket or broker lifecycle, pairing authorization, durable public credential storage, and connection routing; the SDK verifies the initial gateway challenge. Neither package contains restaurant, tenant, station, billing, or application-specific routing concepts.

Neplex OpenPrinter Cloud is the optional managed API built on this boundary. It provides project API keys, durable cloud jobs, paired-agent delivery, and public job projections. Self-hosting OpenPrinter and running OPPA are completely free; pricing applies only to the managed cloud API. Read the Neplex OpenPrinter Cloud guide, current pricing, or Get started for free with OpenPrinter Cloud.

The important invariant

OPPA never acknowledges receipt of a print job until the job is durably stored locally:

receive → validate → persist → acknowledge → render → submit → persist result → report

The word submitted means that a printer backend accepted the job. It does not universally mean that paper was physically produced, because most printer interfaces cannot prove that.

Where to begin

The repository is intentionally conservative: it provides the foundation and explicit extension points without embedding a hosted queue, a business dashboard, arbitrary plugin execution, or a generic remote-control channel.

On this page