Полный справочник по конфигурации
Каждый ключ, который принимает ~/.opencli/config.toml. Для той горстки,
которую трогает большинство, есть
файл конфигурации — он короче.
Самый быстрый путь: пусть OpenCLI сам найдёт ваши модели
Если у вас уже локально работают Ollama, LM Studio, vLLM или llama.cpp:
opencli provider scan
Он простукивает обычные порты на localhost, спрашивает у каждого найденного
сервера, какие модели тот отдаёт, и пишет соответствующие разделы
[model_providers.*] и [[models]] в ваш config.toml — существующие
комментарии и настройки сохраняются. Добавьте --dry-run, чтобы сначала
увидеть, что он собирается записать.
Для хостящихся поставщиков поставьте одного из каталога и задайте ключ:
opencli provider list # каталог плюс то, что уже настроено
opencli provider add openrouter
export OPENROUTER_API_KEY=...
В каталоге только сведения о подключении: никаких ключей с бинарником не поставляется, и ничего не действует, пока вы это не добавите. Чтобы настроить то, чего в каталоге нет, напишите разделы вручную, как описано ниже.
Заполнить возможности модели
Окно контекста локальной модели и поддержка вызова инструментов нигде не опубликованы, а угадывать хуже, чем оставить незаданным: слишком большое окно контекста означает, что поставщик отклонит ход, вместо того чтобы автоматически сжать разговор. Спросите саму модель:
opencli model probe <slug> # добавьте --dry-run для предпросмотра
Это читает метаданные самой среды выполнения, где они есть (Ollama сообщает
настоящую длину контекста и список возможностей) и вдобавок делает один живой
запрос, чтобы увидеть, вызовет ли модель предложенный инструмент и возвращает
ли она свои рассуждения в отдельном поле reasoning. Найденное записывается в
запись [[models]] этой модели.
Модели, которые вообще не умеют вести диалог — например, эмбеддинговые —
provider scan пропускает, так что до списка /model они не доходят.
Выбор моделей и поставщиков
В этой сборке есть предустановки для нескольких шлюзов, но любую модель,
доступную по OpenAI-совместимому API, можно настроить в
~/.opencli/config.toml без пересборки.
Добавить поставщика
Записи в [model_providers.<id>] перекрывают встроенного поставщика с тем же
id, так что это же и способ перенаправить встроенный шлюз на прокси или
зеркало:
[model_providers.my-gateway]
name = "My Gateway"
base_url = "https://gateway.example.com/v1"
env_key = "MY_GATEWAY_API_KEY"
wire_api = "chat"
# По желанию: увеличьте, если этот шлюз медленно выдаёт первый токен.
stream_idle_timeout_ms = 90000
Ключи API всегда читаются из окружения; они никогда не хранятся в файле конфигурации.
Добавить модель
Объявляйте модели через [[models]]. Они появляются в списке /model рядом со
встроенными предустановками, а запись, чей model совпадает со встроенной
предустановкой, заменяет её:
[[models]]
model = "qwen3-max"
provider = "my-gateway"
display_name = "Qwen3 Max" # необязательно, по умолчанию slug
description = "Своя установка." # необязательно
show_in_picker = true # необязательно, по умолчанию true
provider обязателен и должен называть поставщика, определённого выше, либо
встроенного; модель, указывающая на неопределённого поставщика, отклоняется при
запуске, а не падает потом с посторонней ошибкой.
Чтобы выбрать модель, не добавляя её в список, задайте model и
model_provider напрямую:
model = "qwen3-max"
model_provider = "my-gateway"
Если model называет нечто, что не является ни встроенной предустановкой, ни
записью [[models]], а model_provider не задан, запросы уходят к поставщику
openai, и в журнал пишется предупреждение.
Окна контекста
Модели, метаданных о которых у этой сборки нет, начинают с осторожного окна в
131 072 токена и узнают настоящее из первого отказа шлюза по превышению
окна. Задайте model_context_window, чтобы прибить его явно.
Подключение к серверам MCP
OpenCLI может подключаться к серверам MCP, объявленным в
~/.opencli/config.toml.
[mcp_servers.github]
command = "npx"
args = ["-y", "@modelcontextprotocol/server-github"]
env_vars = ["GITHUB_PERSONAL_ACCESS_TOKEN"]
[mcp_servers.internal]
url = "https://mcp.example.com/mcp"
env_vars называет переменные, нужные серверу; значения хранятся вместе с
остальными вашими ключами, а не в этом файле, который отдают другим.
Объявленный здесь сервер стартует со следующим открытым разговором, а не с
тем, что перед вами.
Настольное приложение пишет ту же таблицу из Abilities → Connectors, где ещё и проверяется рукопожатие и перечисляются инструменты, которые предлагает каждый сервер.
Приложения (Connectors)
Наберите $ в поле ввода, чтобы вставить коннектор ChatGPT; всплывающий список
покажет доступные приложения. Команда /apps перечисляет доступные и
установленные приложения. Подключённые идут первыми и помечены как
подключённые; остальные помечены как доступные для установки.
Уведомления
OpenCLI может запускать хук уведомления, когда агент завершает ход.
notify = ["/path/to/your/script.sh"]
Программа вызывается с одним аргументом: JSON-объектом с описанием того, что произошло. Она запускается отдельно, поэтому медленный скрипт не задерживает следующий ход, а упавший скрипт попадает в журнал, а не всплывает перед вами.
JSON Schema
Сгенерированная JSON Schema для config.toml лежит в
opencli-rs/core/config.schema.json
и выкладывается с каждым релизом как config-schema.json. Направьте на неё
редактор, и при ручной правке файла будут работать автодополнение и проверка.
Она генерируется из типов Rust, и CI падает, если она с ними разойдётся, — то есть это единственное описание этого файла, которое не может устареть.
Подсказки
OpenCLI хранит отметки «больше не показывать» для некоторых подсказок интерфейса
в таблице [notice].
Выход по Ctrl+C/Ctrl+D использует подсказку о повторном нажатии в пределах
примерно секунды (ctrl + c again to quit).