snens

Где взять ключ

Ключ — это пароль для доступа к модели. Текст платный: деньги списываются с твоего аккаунта у провайдера (компании, которая продаёт доступ к моделям), поэтому ключ держи при себе.

OpenRouter

base_url — https://openrouter.ai/api/v1 · модель — deepseek/deepseek-v4.1-flash-1017. Один аккаунт — сотни моделей. Регистрация на openrouter.ai (почта, Google или GitHub), затем Keys: Create Key, имя («snens»), по желанию лимит расходов. Ключ начинается с sk-or- и виден один раз. Бесплатные модели (с :free на конце имени) — без карты и с суточным лимитом, платные — после пополнения на Credits.

DeepSeek

base_url — https://api.deepseek.com · модель — deepseek-flash (умнее и дороже — deepseek-v4-pro). Напрямую, без посредника, дёшево. Регистрация на platform.deepseek.com, затем API keys: создать и скопировать сразу — второй раз не покажут. Стартового лимита документация не обещает: нужен баланс, пополнение — Top Up (карта, PayPal, Alipay).

Groq

base_url — https://api.groq.com/openai/v1 · модель — openai/gpt-oss-120b (полегче — openai/gpt-oss-20b). Самая быстрая выдача ответа, настоящий бесплатный тариф: карта не нужна, есть лимиты запросов в минуту и в сутки. Регистрация на console.groq.com, затем API Keys: создать и скопировать (начинается с gsk_).

Mistral

base_url — https://api.mistral.ai/v1 · модель — mistral-large-latest (дешевле — mistral-small-latest). Единственный из четырёх, где бесплатный режим заявлен явно и без карты. Регистрация на console.mistral.ai, затем API keys: Create new key, имя, скопировать; Free-режим Studio включён сразу, лимиты снимаются в Billing.

Документация: OpenRouter, DeepSeek, Groq, Mistral.

Куда это вставить

Два текстовых файла в одной папке: на Windows %APPDATA%\snens\, на Linux и macOS ~/.config/snens/; или то же в окне приложения: «настройки» → «провайдеры». Ключ — в .env (одна строка, без кавычек), адрес и модель — в config.toml.

SNENS_API_KEY=sk-or-v1-твойключ
base_url = "https://openrouter.ai/api/v1"
model = "deepseek/deepseek-v4.1-flash-1017"

Два провайдера сразу: active_provider — имя того, которым работаешь сейчас.

active_provider = "deepseek"

[providers.openrouter]
base_url = "https://openrouter.ai/api/v1"
model = "deepseek/deepseek-v4.1-flash-1017"
key_env = "SNENS_OPENROUTER_KEY"

[providers.deepseek]
base_url = "https://api.deepseek.com"
model = "deepseek-flash"
key_env = "SNENS_DEEPSEEK_KEY"
SNENS_OPENROUTER_KEY=sk-or-v1-...
SNENS_DEEPSEEK_KEY=sk-...

Спотыкаются чаще всего на трёх: /chat/completions на конце адреса (не нужен), имя модели в написании чужого провайдера, ключ в системных переменных — он перебивает .env. Дальше: провайдеры и ключи, с чего начать.