Agent Config
Agent config lives at /etc/q15/agent/config.yaml. It covers identity, models, providers, optional tools, and Telegram policy.
Full example
Section titled “Full example”providers: - name: openai type: openai-codex
- name: moonshot type: openai-compatible base_url: https://api.moonshot.ai/v1 key_env: MOONSHOT_API_KEY
- name: ollama-local type: ollama
- name: ollama-cloud type: ollama base_url: https://ollama.com key_env: OLLAMA_API_KEY
models: - name: gpt-5.4 provider: openai capabilities: - text - tool_calling - reasoning
- name: kimi-k2.5 provider: moonshot capabilities: - text - tool_calling - reasoning
- name: gpt-oss-120b provider: ollama-cloud provider_model: gpt-oss:120b capabilities: - text - tool_calling - reasoning - image_input
agent: name: Q15 models: - gpt-5.4 - kimi-k2.5 - gpt-oss-120b cognition: models: - kimi-k2.5 - gpt-5.4 memory_recent_turns: 6 tools: web_search: brave_api_key_env: BRAVE_API_KEY embeddings: qdrant_url_env: Q15_QDRANT_URL gemini_api_key_env: Q15_GEMINI_API_KEY model: gemini-embedding-2 dimensions: 768 telegram: token_env: Q15_TELEGRAM_TOKEN allowed_user_ids_env: Q15_TELEGRAM_ALLOWED_USER_IDSProviders
Section titled “Providers”| Type | Auth | Notes |
|---|---|---|
openai-codex |
auth.json from q15-auth |
Uses OpenAI OAuth flow |
openai-compatible |
key_env |
Any OpenAI-compatible endpoint (Moonshot, etc.) |
ollama |
None (local) or key_env (cloud) |
Defaults to http://localhost:11434 when base_url omitted |
Models
Section titled “Models”capabilitiesdrive capability-aware selection. The agent skips models that cannot satisfy inferred request requirements.agent.modelsorder is the deterministic per-turn fallback preference after capability filtering.agent.cognition.models(optional) sets the fallback order for background cognition jobs. When omitted, cognition inheritsagent.models.
Secret resolution
Section titled “Secret resolution”Provider keys, Brave API keys, Telegram tokens, and allowed-user lists can come from NAME or NAME_FILE:
BRAVE_API_KEYorBRAVE_API_KEY_FILEQ15_GEMINI_API_KEYorQ15_GEMINI_API_KEY_FILEQ15_TELEGRAM_TOKENorQ15_TELEGRAM_TOKEN_FILEQ15_TELEGRAM_ALLOWED_USER_IDSorQ15_TELEGRAM_ALLOWED_USER_IDS_FILE
Optional tools
Section titled “Optional tools”| Tool | Config key | Required env | Omit to disable |
|---|---|---|---|
| Web search | agent.tools.web_search |
BRAVE_API_KEY |
Yes |
| Embeddings | agent.tools.embeddings |
Q15_QDRANT_URL, Q15_GEMINI_API_KEY |
Yes |