1. The Model Organizer
The Model Organizer is the single place you connect models. Equipped models appear in every model picker across chat, agents, and the standalone tools.
| Provider type | Notes |
|---|---|
| Google Gemini | Paste a Gemini API key. Keys are validated live before being saved — a key is not accepted just because it starts with AIzaSy. |
| OpenAI / Anthropic / Groq / DeepSeek / xAI / etc. | Built-in catalog entries; enter the provider key. Proxy/fallback logic mirrors each provider's native API. |
| Custom OpenAI-compatible | Any endpoint speaking the OpenAI schema (OpenRouter, Together, local servers, Azure-style). Use Discover models to auto-list /models; per-model API keys are supported. Remote endpoints go via the allowlisted proxy; local URLs are called directly. |
| Custom Anthropic-compatible | Anthropic Messages-API-compatible endpoints, with the anthropic-dangerous-direct-browser-access header and proxy-unreachable direct fallback. |
| Ollama (local) | Set your Ollama URL (default http://127.0.0.1:11434) and launch with OLLAMA_ORIGINS="*" ollama serve so the browser may call it. Connection status is polled and shown inline. |
| WebLLM / Transformers.js | Open-weights models run in-browser on WebGPU/WASM. Load once; weights are cached. Switching models unloads the previous engine to free GPU/WASM memory. |
| Gemini Nano | Chrome's on-device model; auto-appears in the catalog when supported. |
| Puter.js (free) | Free, proxy-based inference with no key; useful to start immediately (see Part 2). |
2. Provider Test Arena
The organizer can run a live prompt against multiple equipped models concurrently per provider and sequentially within a provider (so local single-engine models do not contend), reporting first-token latency and tokens-per-second. Use it to compare real performance before committing a default.
3. Tool Permission Levels
Tool calls can originate in model output, imported files, or MCP responses, so a synchronous confirmation sits at the final dispatch point and cannot be bypassed by an alternate agent loop.
- Permission levels control which tools run automatically, which ask first, and which are blocked. Write-class tools (file writes, commits, external actions) are classified separately from read-only ones.
- Built-in vs external. The built-in web-search and GitHub connector tools are distinguished from external MCP servers by server identity; an external server cannot impersonate a built-in tool by naming it
github_*. - AI memory and skill directives. Creation proposals require the corresponding
aiCanCreateSkillsoraiCanCreateMemoriessetting and a separate Keep click in the chat review card; proposals expire after 60 seconds and are capped at two per conversation. Deletions requireaiCanDeleteSkillsoraiCanDeleteMemories. All four settings default off.
4. Connectors (GitHub & Google Drive)
GitHub: connect via OAuth (recommended) or paste a Personal Access Token with repo, read:user, user:email scopes. Disconnect fully clears tokens and refresh credentials. You can also open a local folder in read-only mode to browse code without pushing.
Google Drive: used for optional backups of chats, memories, projects, files, and settings (secrets stripped). The access token is session-scoped; sync selectors let you choose exactly which slices back up.
5. Generation & Display Settings
Temperature, max tokens, context window limit, Infinity Mode (repeated self-correction attempts + critic strictness), auto-architecture routing, and vision toggle.
Image-generation behavior and error handling. The current Settings panel does not expose model or provider selection controls; an error card may offer a manual Pollinations retry.
Drive sync selectors (chats/memories/projects/files/settings/skills), export/import snapshots, and local-folder sandbox quotas.
Theme, Robot Companion visibility, developer-density options, and the EULA/terms acknowledgement.
6. Where Settings Persist
Settings save to IndexedDB and are mirrored to localStorage for fast bootstrapping. API keys are isolated in the credential store; Drive sync stores them only in a separate AES-GCM encrypted vault and its private AppData key record, never in the readable settings document. Signing into the same Google account restores that vault on another device. Changing a setting updates persistence without double-writing, so concurrent edits (such as a background Drive sync) are not clobbered.