versus-llm
versus запускает спор двух LLM прямо в терминале. Один агент защищает идею, второй спорит с ним, потом судья дает короткий вердикт.
Обычно запускай без аргументов, чтобы открыть главное меню:
versus
В меню можно ввести вопрос, выбрать число раундов и добавить файл с контекстом.
Установка
Нужен Python 3.10 или новее.
pip install versus-llm
Проверь, что команда установилась:
versus --version
Ожидаемый вывод:
versus-llm 1.2.1
Настройка OpenRouter
versus работает через OpenRouter, поэтому нужен свой API-ключ. Это не сложно: один раз создаешь ключ, вставляешь его в versus setup, дальше CLI сам его хранит.
Как получить ключ
- Открой страницу: https://openrouter.ai/keys
- Войди в аккаунт OpenRouter.
- Нажми кнопку создания ключа.
- Скопируй ключ.
По сути, это делается в 2 клика: создать ключ и скопировать его. Вручную создавать .env не нужно.
Как сохранить ключ в versus
versus setup
CLI спросит:
Вставь API-ключ OpenRouter:
Вставь ключ и нажми Enter. Символы при вводе скрыты, но после сохранения versus покажет короткую маску ключа, например:
API-ключ OpenRouter сохранен (sk-o...abcd): C:\Users\...\versus-llm\.env
Команда versus login делает то же самое:
versus login
Если ключ не настроен, versus напишет:
API-ключ OpenRouter не настроен.
Запусти:
versus setup
Первый запуск
После настройки ключа лучше запускать versus без вопроса:
versus
Откроется главное меню. В нем можно ввести вопрос, указать файл с контекстом и выбрать число раундов. Это основной способ пользоваться приложением.
Что произойдет:
- Агент A даст сильный аргумент.
- Агент B разберет слабые места и возразит.
- Раунды повторятся заданное число раз.
- Судья прочитает спор и даст вердикт.
Если вопрос на русском, судья должен отвечать на русском.
Основной запуск
Открыть главное меню
versus
Главное меню удобнее прямого CLI-запуска: там можно управлять вопросом, файлом с контекстом и количеством раундов без длинной команды.
Быстрый CLI-вариант
Если нужно запустить спор одной командой, можно сразу передать вопрос:
versus "Стоит ли учить Rust в 2026?"
Указать число раундов из CLI
versus "React или Vue?" --rounds 3
По умолчанию используется 2 раунда.
Добавить файл с контекстом из CLI
versus "Какая база лучше подходит под эту схему?" --file schema.sql
Файл должен быть не больше 200 КБ. Его текст добавляется к вопросу как контекст для обоих агентов.
Сохранить спор в Markdown из CLI
versus "PostgreSQL или MongoDB?" --output debate.md
После завершения появится файл debate.md с вопросом, ответами агентов и вердиктом судьи.
Выбрать модели вручную из CLI
versus "React или Vue?" --models openai/gpt-oss-120b:free nvidia/nemotron-3-super-120b-a12b:free google/gemma-4-31b-it:free
Порядок важен:
--models MODEL_A MODEL_B [JUDGE_MODEL]
Первая модель отвечает за агента A, вторая за агента B, третья за судью. Если указать только две модели, судья использует модель по умолчанию.
Главное меню
Это рекомендуемый режим после versus setup. Если запустить versus без вопроса, откроется полноэкранное меню:
versus
Там можно ввести вопрос, путь к файлу с контекстом и число раундов. Для обычного использования этого достаточно.
Горячие клавиши:
| Клавиша | Что делает |
|---|---|
S |
сохранить спор в debate.md |
r |
вернуться к новому вопросу |
q |
выйти |
Ctrl+C |
выйти после повторного нажатия |
Параметры CLI
| Параметр | Что делает | По умолчанию |
|---|---|---|
question |
вопрос для спора | открывает главное меню, если вопрос не указан |
--file |
путь к файлу с контекстом | нет |
--rounds |
число раундов | 2 |
--models |
две или три модели OpenRouter: агент A, агент B и опционально судья | openai/gpt-oss-120b:free, nvidia/nemotron-3-super-120b-a12b:free, google/gemma-4-31b-it:free |
--output |
путь для сохранения Markdown-файла | нет |
--version |
показать версию | 1.2.1 |
Где хранится ключ
versus setup сохраняет ключ локально:
| Система | Путь |
|---|---|
| Windows | %APPDATA%/versus-llm/.env |
| macOS/Linux | ~/.config/versus-llm/.env |
Также работают старые способы:
OPENROUTER_API_KEY=your_key_here
и файл .env в текущей папке.
Приоритет такой:
- Переменная окружения
OPENROUTER_API_KEY. .envв текущей папке.- Конфиг, созданный через
versus setup.
Если бесплатная модель не отвечает
Бесплатные модели OpenRouter иногда возвращают 429: провайдер временно ограничил запросы. versus сам делает повторные попытки, но иногда нужно подождать и запустить команду еще раз.
Если проблема повторяется:
versus "твой вопрос" --models openai/gpt-oss-120b:free nvidia/nemotron-3-super-120b-a12b:free google/gemma-4-31b-it:free
Можно выбрать другие модели OpenRouter через --models.
Локальная разработка
Если ты клонировал репозиторий:
pip install -e .
Проверки:
python -m py_compile versus.py
python -m unittest discover tests
versus --version
Лицензия
MIT.
Metadata
Release files for versus-llm 1.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| versus_llm-1.2.1.tar.gz | 20.8 kB | Without provenance | Details for versus_llm-1.2.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| versus_llm-1.2.1-py3-none-any.whl | Python 3 | none | any | Details for versus_llm-1.2.1-py3-none-any.whl |
Total release size: 36.7 kB
Release files / versus_llm-1.2.1.tar.gz
| Download URL | versus_llm-1.2.1.tar.gz |
|---|---|
| Size | 20.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e2f7d107871a35488985f18e2170798c0e35207bbcd9db9987f8f5dfdeb64959
|
|
BLAKE2b-256 checksum How to use checksums |
05184b44a9198339bab3dff5179d108735d73d1743534d313846cc7573564aaf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.9
|
Release files / versus_llm-1.2.1-py3-none-any.whl
| Download URL | versus_llm-1.2.1-py3-none-any.whl |
|---|---|
| Size | 16.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c04dace82567a3d4edf37cfc81c056655cb3835a82a6947f7c3a5497318cc269
|
|
BLAKE2b-256 checksum How to use checksums |
c67412356a2e7ab83728ab8270d67ce4f0964de43ad8daffa24b8b5bd46e0e3d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.9
|
Security for versus-llm 1.2.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.