No conversation logging
None is built into the runtime. No conversation request bodies are logged by the server.
The runtime is model-centric: it owns the conversation, not the intelligence behind it. Point it at the model you already pay for, one you run yourself, a board you authored, or the local model included with it — and switch between them without changing your app.
Every adapter produces the same choices, drafts and delivery IDs, so your tiles, your artwork and your speech engine never change when the model does.
| Provider | What it is | Network |
|---|---|---|
gemini | Google's models, using your own key from the host environment. | Online |
ollama | Any model you have already installed with Ollama, on your machine or your network. | Your choice |
compatible | Any OpenAI-compatible endpoint you run or pay for. | Your choice |
tinkymind | The included local child model. Runs on the CPU with no connection. | Offline |
board | Tiles you author yourself. No generative model at all. | Offline |
| your own | A provider.generate() adapter you write. | Your choice |
/providers lists them in the console and /provider NAME switches, saving the connection for next launch. The runtime ships adapters, never weights, and downloads no models.
A 24 MB ONNX model pack running on the CPU with Python NumPy and ONNX Runtime. It is the option for a device that must keep working with the cable out — not the only way to run the system.
tinkyspeak --provider tinkymind --offline --language en --partner-language enEach request uses a bounded local worker that exits after inference. Switching providers or quitting stops active workers, and the adapter writes no transcript. --offline locks out cloud connections entirely.
English on both sides, including English locale variants; a multilingual history needs a reset before switching to it. It is a child-trained checkpoint, so an adult profile belongs on one of the other adapters. Those are properties of this one model, not of the runtime — the conversation engine, its memory and its two-way flow work the same whichever provider you select.
node scripts/check-tinkymind.mjs runs the installed CLI under a macOS rule that denies all network access, and exercises model and language picking, real generation, explicit delivery, follow-up history, reset, and refusal to switch to Spanish or the cloud. Its transcript and check record ship with the runtime.
None is built into the runtime. No conversation request bodies are logged by the server.
Each session holds a bounded history, 40 turns by default. Idle sessions expire after 30 minutes; a restart clears them.
Bytes exist only during the request. Snapshots keep hashes, type, size and observations.
Changing a profile or a language is configuration. It is not model training and not permanent personal memory.
A remote provider key is named by configuration and kept in the server environment, never in a request from an app user.
A model you choose has its own data handling. Choosing a local adapter avoids the question entirely.