Skip to main content

versus-llm

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 сам его хранит.

Как получить ключ

  1. Открой страницу: https://openrouter.ai/keys
  2. Войди в аккаунт OpenRouter.
  3. Нажми кнопку создания ключа.
  4. Скопируй ключ.

По сути, это делается в 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

Откроется главное меню. В нем можно ввести вопрос, указать файл с контекстом и выбрать число раундов. Это основной способ пользоваться приложением.

Что произойдет:

  1. Агент A даст сильный аргумент.
  2. Агент B разберет слабые места и возразит.
  3. Раунды повторятся заданное число раз.
  4. Судья прочитает спор и даст вердикт.

Если вопрос на русском, судья должен отвечать на русском.

Основной запуск

Открыть главное меню

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 в текущей папке.

Приоритет такой:

  1. Переменная окружения OPENROUTER_API_KEY.
  2. .env в текущей папке.
  3. Конфиг, созданный через 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)

Source distribution for versus-llm 1.2.1
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)

Table of built distributions (wheels) for versus-llm 1.2.1
File Interpreter ABI Platform Actions
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page