3 Installing
Thomas Forgione edited this page 2026-09-10 17:25:05 +02:00

Installing

What you need

An OpenAI-compatible server that streams SSE — typically llama-server. papote never talks to anything else, and never ships a default endpoint.

http:// and https:// both work. TLS goes through rustls with the platform verifier, so the system trust store applies: a private CA works once it is installed system-wide, and an expired or self-signed certificate is refused with an error that says which. Endpoints behind a reverse proxy asking for HTTP basic auth are supported.

Getting it

cargo install --git https://git.tforgione.fr/tforgione/papote

Or from a clone, cargo build --release, which leaves the binary in target/release/papote.

The first run

Nothing is configured out of the box, so the first run asks:

┌ New provider ────────────────────────────────────────┐
│a name to refer to it by                              │
│                                                      │
│name: remote                                          │
└──────────────────────────────────────────────────────┘

It walks through a name, the base URL of the API, and — if you say the endpoint needs them — a username and a password, which is masked as you type it. Then it asks the endpoint what models it has and lets you pick one:

┌ Models on remote ────────────────────────────────────┐
│❯ gemma-4:26B-A4B:256K   unloaded                     │
│  gemma-4:26B-A4B:32K    loaded                       │
└──────────────────────────────────────────────────────┘

Both answers are written to Configuration and you land in the chat. Esc at any point ends the program without writing anything.

If the endpoint has no /v1/models — plenty do not — papote says so and asks you to type the model name instead.