Skip to main content

API Keys

Fliiq needs at least one LLM API key. Add them to ~/.fliiq/.env:
.env
Priority order: Anthropic > OpenAI > Gemini. If your primary provider fails, Fliiq automatically falls back to the next available one. To change the default, see Provider Switching below. For best results with Anthropic (recommended provider): Fliiq works with any model your provider supports. Sonnet 4.5 is the sweet spot for daily use.

Provider Switching

When multiple API keys are set, Fliiq uses the default priority order (Anthropic > OpenAI > Gemini). Override this per-command with the --provider flag:
For a persistent default, set FLIIQ_PROVIDER in your .env:
.env
Resolution order:
  1. --provider flag (highest priority)
  2. FLIIQ_PROVIDER environment variable
  3. First API key found (Anthropic > OpenAI > Gemini)
See CLI Reference for the full list of commands that accept --provider.

Model Selection

Switch models per-command with --model (or -m):
View all available aliases with:

Built-in Aliases

Default aliases shipped with fliiq init:

Custom Aliases

Aliases are defined in ~/.fliiq/models.yaml (created by fliiq init). Add your own for Ollama, Mistral, DeepSeek, or any other provider:
Then use them like any built-in alias:
Any string not found in aliases is passed through as-is to the provider API.

Persistent Model Override

Override the default model for a provider via environment variable in your .env:
.env
Resolution order: --model flag (highest) > env var (ANTHROPIC_MODEL, etc.) > hardcoded default.

Self-Hosted LLMs

Fliiq can connect to any OpenAI-compatible server — Ollama, vLLM, llama.cpp, LM Studio, LocalAI, or any other server that implements the OpenAI API. Set OPENAI_BASE_URL to point Fliiq at your local server:
.env
OPENAI_API_KEY must still be set (most local servers ignore it — any non-empty value works).

Quick Start with Ollama

Add to ~/.fliiq/.env:
.env
If you also have a cloud API key set, switch between local and cloud with --provider:

Anthropic-Compatible Proxies

If you use a proxy that implements the Anthropic API, set ANTHROPIC_BASE_URL:
.env
Self-hosted models vary in capability. Fliiq’s agent loop works best with models that support tool/function calling. Most large models (Llama 3.2+, Mistral, Qwen) support it via the OpenAI-compatible API.

Integration Credentials

Optional — add these when you need the corresponding skills:

Google (OAuth)

.env
Required for fliiq google auth — the OAuth flow that authorizes Fliiq to access Gmail, Google Calendar, Drive, Sheets, Docs, and Slides. See Google Integration for full setup. Used by: send_email, receive_emails, mark_email_read, archive_email, delete_email, google_calendar, google_drive, google_sheets, google_docs, google_slides

Gmail — Fliiq’s Bot Email

.env
Gives Fliiq its own email address as a channel. The app password is optional if you’ve authorized this account via OAuth instead.

Gmail — App Password (legacy)

.env
Fallback for email skills when OAuth is not configured. Requires a Google App Password. We recommend OAuth instead — it’s more secure and unlocks Calendar access.

Twilio (SMS)

.env
Get these from the Twilio Console. Used by: send_sms, receive_sms

Telegram

.env
Create a bot via @BotFather on Telegram. TELEGRAM_ALLOWED_CHAT_IDS restricts which chats the bot responds to. Used by: send_telegram, send_telegram_audio, Telegram real-time listener (daemon)

MiniMax (Text-to-Speech)

.env
Get these from the MiniMax Platform. The Group ID is found in your account settings. Used by: text_to_speech
.env
Get a free key from Brave Search API. Used by: web_search

Spotify

.env
Create an app at the Spotify Developer Dashboard. Used by: spotify

Directory Structure

Global (~/.fliiq/)

Created by fliiq init. Used from any terminal.

Project (.fliiq/) — optional

Created by fliiq init --project. Overrides global for this project.

Bundled (inside the package)

Ships with Fliiq. Cannot be modified directly.

Config Resolution

When Fliiq looks for a resource (skills, SOUL.md, playbooks, memory):
  1. Project .fliiq/ — checked first
  2. Global ~/.fliiq/ — fallback
  3. Bundled defaults — final fallback
This lets you customize per-project without affecting your global setup, and ensures sensible defaults when nothing is configured.