Skip to content

feat: add a Providers setting to connect Thuki to a local or remote Ollama#205

Merged
quiet-node merged 11 commits into
mainfrom
feat/inference-providers-phase1
Jun 8, 2026
Merged

feat: add a Providers setting to connect Thuki to a local or remote Ollama#205
quiet-node merged 11 commits into
mainfrom
feat/inference-providers-phase1

Conversation

@quiet-node
Copy link
Copy Markdown
Owner

@quiet-node quiet-node commented Jun 8, 2026

Overview

Thuki's inference endpoint is no longer fixed in code. A new Providers section in Settings configures where Thuki finds its Ollama server, the default local one, a custom port, or a machine on the network, and which model to use. Existing setups keep working unchanged.

What changed

  • Settings exposes the Ollama URL (local, a custom port, or a remote host) and the active model for that provider, replacing the previously hardcoded endpoint.
  • A non-local URL surfaces a warning that securing that server is the operator's responsibility, since Ollama has no built-in authentication.
  • A Built-in (Thuki) engine appears in the list, marked as coming in a future release.

How it works

Inference configuration moves from a flat ollama_url (plus a separately stored active model) into one typed [inference] section: an active_provider pointer and a providers list, where each provider carries its own id, label, URL, and selected model. Requests route to whichever provider is active.

The config loader validates every value, so changes from the Settings UI and hand edits to the file follow the same rules. Older configs upgrade automatically on first launch: the existing Ollama URL and previously selected model are carried onto the Ollama provider, with nothing lost. The Ollama URL is treated as untrusted: non-URL or malformed values are rejected and reset to the local default before reaching the request layer, and only genuine loopback and private addresses count as local when deciding whether to show the remote-server warning.

Testing

  • bun run test:all:coverage: frontend and backend pass at 100% coverage.
  • bun run validate-build: clean (lint, format, typecheck, clippy with warnings as errors, and the frontend and backend builds).

Note: only Ollama is selectable today. The Built-in engine appears in Settings but is not yet available; selecting it shows a "not available yet" message rather than failing silently.

quiet-node added 11 commits June 7, 2026 16:04
Signed-off-by: Logan Nguyen <lg.131.dev@gmail.com>
Signed-off-by: Logan Nguyen <lg.131.dev@gmail.com>
Signed-off-by: Logan Nguyen <lg.131.dev@gmail.com>
Signed-off-by: Logan Nguyen <lg.131.dev@gmail.com>
…mmand

Signed-off-by: Logan Nguyen <lg.131.dev@gmail.com>
Signed-off-by: Logan Nguyen <lg.131.dev@gmail.com>
Signed-off-by: Logan Nguyen <lg.131.dev@gmail.com>
Signed-off-by: Logan Nguyen <lg.131.dev@gmail.com>
Signed-off-by: Logan Nguyen <lg.131.dev@gmail.com>
Signed-off-by: Logan Nguyen <lg.131.dev@gmail.com>
…detection

Signed-off-by: Logan Nguyen <lg.131.dev@gmail.com>
@quiet-node quiet-node changed the title feat(inference): typed inference providers (Phase 1, Ollama) feat: add Providers settings to connect Thuki to your Ollama server Jun 8, 2026
@quiet-node quiet-node changed the title feat: add Providers settings to connect Thuki to your Ollama server feat: add a Providers setting to connect Thuki to a local or remote Ollama Jun 8, 2026
@quiet-node quiet-node merged commit a0c8952 into main Jun 8, 2026
3 checks passed
@quiet-node quiet-node deleted the feat/inference-providers-phase1 branch June 8, 2026 01:44
quiet-node added a commit that referenced this pull request Jun 8, 2026
Hold Providers (#205) out of the next release; re-land for 0.15.0 once ready.

Release-As: 0.14.2
Signed-off-by: Logan Nguyen <lg.131.dev@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant