The configuration file

Instead of typing addresses into the app, you can give it a small file. It says where your host is, who the host is, where the status service is and which model to use. It is plain text (JSON), short enough to write by hand, and precise enough that an AI assistant can write it from a description of your setup.

Example

{
  "format": "euboulia-config",
  "version": 1,
  "host":   { "url": "https://home.example.org", "address": "0x25c345b3461d4662e432ab9e3489ee559d01e3e2" },
  "status": { "url": "https://relay.example.org" },
  "model":  "qwen2.5:14b"
}

Fields

FieldRequiredMeaning
formatyesAlways the text "euboulia-config".
versionyesThe number 1.
host.urlwith hostThe https address the app uses to reach your host: a name that points to it or to your relay (https://home.example.org), or an IP address with a port (https://192.168.1.20:8443). No user name, password or #fragment.
host.addresswith hostThe host's own address: 0x and 40 hexadecimal digits. It is printed by the installer (in the pairing link, after address=) and by euboulia-host pairing-link. It is not your address and not an IP address.
status.urlnoThe https address of the relay's status service, which tells the app whether your host is online: https://relay.example.org.
modelnoThe model name the host offers, for example qwen2.5:14b. The app offers it first when you choose a model.
notenoText for you; the app ignores it. (JSON has no comments, so use this.)

At least one of host, status and model must be present. Any other field is an error, not ignored, so a misspelled name is found at once.

What the app does with it

What does not belong in it

No secret. Your identity key, passwords, API keys and tokens are never written to this file and never read from it. A field whose name looks like a secret (key, token, password, secret, seed and similar) is refused with a message. Treat a file you did not write yourself like a pairing link from a stranger: it can point the app at someone else's host, which would then see what you type. Check the host address against the one shown on your own host before you press Connect.

Asking an AI assistant to write it

Give the assistant the facts and this prompt. Do not give it any key or password; it does not need them.

Write a configuration file for the Euboulia app as JSON, and nothing else.
Rules:
- "format" is "euboulia-config" and "version" is 1.
- "host" has "url" (an https address, no credentials, no #fragment) and "address"
  (0x followed by exactly 40 hexadecimal digits: the host's own address, not mine).
- "status" has "url" (https) and is optional; "model" is a model name and is optional.
- "note" may hold text for me. No other fields. No secrets of any kind.
- If a fact is missing, leave that part out and tell me which fact you need.
My setup: [describe it: the host's name or IP and port, the host's 0x address,
the relay's name if there is one, the model name]

Then paste the answer into Settings, Paste a configuration. If the app lists problems, paste them back to the assistant.

Two examples

A host on your own network, no relay:

{ "format": "euboulia-config", "version": 1,
  "host": { "url": "https://192.168.1.20:8443", "address": "0x25c345b3461d4662e432ab9e3489ee559d01e3e2" },
  "model": "qwen2.5:14b" }

Only change the model on a host you already use:

{ "format": "euboulia-config", "version": 1, "model": "llama3.1:8b" }