Skip to content

AI Providers

David Lavoy edited this page Oct 13, 2026 · 2 revisions

Native AI providers

Kiln's provider layer keeps model transport separate from operation authority. Models can propose registered operations; Kiln's identity checks, Vault grants and approval executor remain responsible for what runs.

Implementation: provider adapters PR #46, followed by account sign-in and Linux worker PR #47, source 247a040. This page describes source implementation; it is not a claim that an existing installed binary has been upgraded.

Provider Transport
Erebine Native Swift Chat Completions/SSE
Ollama Native Swift local NDJSON
OpenAI Native Swift Responses/SSE
Claude Native Swift Messages/SSE
Grok API Native Swift Responses/SSE
DeepSeek Native Swift Chat Completions/SSE

Use ai providers for routes and configuration documentation for named profiles and Vault grants. Switching profiles requires a fresh conversation context. There is no automatic fallback. ChatGPT account sign-in and Grok CLI device sign-in are implemented separately from API-key profiles; authenticated account inference awaits user consent and acceptance. Claude and DeepSeek thinking modes are disabled in the initial adapters.

Grok CLI is a separate experimental administrator-only inference worker. The launcher uses macOS sandbox-exec or Linux bubblewrap with working user namespaces, a clean temporary home and disabled autonomous tools. It accepts an explicit credential or an owner-bound account created through the official device flow. Unsupported isolation fails closed. Real CLI startup and invalid-credential rejection were exercised; authenticated account inference still awaits consent and verification.

At revision 8a4f868, 136 local tests passed, including streaming contracts, malformed/incomplete output rejection, cancellation, authorization and real filesystem isolation. The SSH recovery fixture verified an approved restart and healthy replacement without replay after cold restore. Newly added providers were fixture-tested without paid API credentials; macOS/Linux CI passed, including SSH, recovery, Vault, peer operations, deployments and Linux resource enforcement.

Remaining work is tracked in provider issue #28 and the AI framework plan.

Account flows and acceptance — 2026-10-13

PR #47 implements ChatGPT OSS OAuth/PKCE, signed identity verification, Vault-encrypted account tokens, returning-account registration, refresh, sign-out and live model discovery. Account ownership includes the initiating SSH-key fingerprint. Grok's separate CLI worker supports device sign-in and encrypted opaque credential persistence. Neither flow imports desktop login tokens or grants models additional Kiln authority.

Kiln 26.10.13.3 is published as a developer preview from 78dd62216d7d8108f01924188f16dfccb482c911, merged through PR #48. Server validation, all four package/clean-install jobs and credential scanning passed. Native Linux exercised 15 Grok isolation/streaming tests; macOS passed 152 tests. Both downloaded archives matched their checksums, source revision and all 61 embedded file digests. The downloaded macOS binary reported 26.10.13.3 and passed local SSH, REST/WebSocket, crash recovery and state restoration checks. Linux clean installation required no Swift compiler. Existing user nodes were not upgraded automatically.

Route Authenticated acceptance
Erebine Real read-only fixture tool/result round, four answer frames, cancellation after incoming content passed
Local Ollama qwen3:0.6b Same journey passed with eight answer frames; no model download
OpenAI, Claude, Grok, DeepSeek API keys Fixtures passed; live credentials unavailable
ChatGPT account Implemented; consent and authenticated inference pending
Grok CLI account Implemented; consent and authenticated inference pending

See sign-in commands and provider validation. Issue #28 stays open for normalized usage, provider/account UI and capability discovery, and the remaining live acceptance. Account eligibility is checked by the provider; login implementation alone does not establish subscription entitlement.

Clone this wiki locally