AI client — server-side proxy with SSE streaming

Overview

mouaif is the only thing that holds provider API keys. Provider connections are app-level; model IDs are project-level and reference a provider. The mobile UI POSTs to /api/ai/chat, the server combines the selected project model with its provider connection, calls upstream, and forwards events as SSE.

Ten providers ship today:

Usage

Behavior