AI Second Opinion
Один документ уходит сразу нескольким ИИ-моделям, а на выходе — один отчёт. Отправить документ вендорам тех каналов, которые вы включили, — в этом и смысл; у самого инструмента нет сервера, он ничего не собирает и сам по себе только проверяет на GitHub, не вышла ли новая версия, не чаще раза в день (что куда уходит).
Что нашёл настоящий прогон
Заголовок раздела «Что нашёл настоящий прогон»Прогон версии 1.113.0 17.10.2026 на машине и аккаунтах автора: семь CLI-агентов, а не опубликованная панель по умолчанию (она ниже). Их спросили, в каких каталогах и списках разместить этот инструмент и что помешает его туда включить; к вопросу была приложена наша собственная таблица каналов и их правил. Из REPORT.md этого прогона (он хранится на машине автора):
| Модель (как запускалась) | Время | Ссылок в ответе | Живых | Мёртвых |
|---|---|---|---|---|
| GPT-6.1 Sol (Codex CLI) | 16 мин | 50 | 40 | 0 |
| Qwen 3.8 Max (Qwen Code CLI) † | 26 мин | 14 | 7 | 0 |
| Grok 4.7 (Grok Build CLI) | 7 мин | 21 | 17 | 0 |
| Gemini 3.8 Flash (Antigravity CLI) | 5 мин | 29 | 21 | 0 |
| Muse Spark 1.3 (opencode, план Go) † | 1 мин | 22 | 16 | 2 |
| MiMo v2.6 Pro (mimo CLI) † | 8 мин | 1 | 1 | 0 |
| MiMo v2.6 Flash (opencode) | 12 мин | 0 | — | — |
† Путь, который в опубликованной версии выключен. Живая ссылка открылась, когда инструмент её проверил; мёртвая вернула 404; остальные переехали на другой адрес, заблокировали проверку или проверить их не удалось. Живая ссылка не значит, что модель её прочитала.
- Правило, которое пропустила наша таблица. По ней мы подходили под правила входа в список awesome-claude-code. Пять из семи (GPT-6.1 Sol, Qwen, Grok, Gemini, MiMo Pro) указали на правило ниже в его CONTRIBUTING.md: «if your project requires any form of signup or payment, this is a blocker for reviewing it - I can only recommend such a resource on the basis of community adoption signals» — если проекту нужна регистрация или оплата, это препятствие для рассмотрения: такой проект могут порекомендовать только по признакам интереса сообщества.
- Разногласие остаётся на виду. Делать ли MCP-сервер сейчас? MiMo Flash, единственный голос без ссылок: «Build it — as a thin wrapper, started now…» — делать сейчас, тонкой обёрткой. Остальные шесть: не сейчас.
- Процитировано — не значит прочитано. Gemini привёл 29 ссылок, а открыл, по данным инструмента, 2 из них. Две мёртвые ссылки Muse Spark — одна настоящая страница GitHub Docs, приведённая дважды, и в обеих часть адреса заменена на «...».
Семь голосов работали параллельно: 74 минуты работы моделей заняли 26 мин 31 с — на 15 секунд дольше самого медленного голоса. По ключу OpenRouter у опубликованной панели по умолчанию платных голосов не больше двух: Muse Spark, если нет ключа Meta ($0.002 в нашем первом прогоне, каждый веб-поиск отдельно), и MiMo v2.6 Flash на машине без opencode ($0.0003 за наш первый вопрос в две строки); остальное идёт по вашим подпискам или бесплатно (подробно ниже), а --dry-run покажет план до любых трат. Что показывает консоль во время прогона — в разделе Как выглядит один прогон.
От панели двойная польза:
- Разные знания. Каждая модель обучена на своих данных и работает в своей обвязке: CLI-агент вендора или API, свой веб-поиск, своё чтение страниц. Поэтому на вопрос «как это спроектировать» или «проверь код» каждая отвечает своими рекомендациями, и вместе они покрывают больше, чем любая одна.
- Независимая проверка. Модели не видят ответов друг друга. Если они совпали, это что-то значит; если разошлись, это значит ещё больше. Одна нейросеть, которая с вами согласилась, не доказывает ничего.
В конце каждого ответа-рецензии есть раздел UNASKED («не спрашивали»). Туда модель пишет неверное допущение, риск, лучший способ или то, что стоит проверить дальше, — только то, что она готова отстоять, а если такого нет, так и пишет. Самая ценная находка часто приходит именно оттуда.
Отправьте один и тот же документ сразу нескольким независимым ИИ-моделям: GPT, Gemini, Grok, Kimi, Qwen, DeepSeek, GLM, MiMo, Muse Spark, NVIDIA Nemotron, а если включите, то и Claude. На выходе вы получите:
- что нашла и что советует каждая модель;
- её раздел UNASKED — важное, о чём вы не спросили;
- где модели противоречат друг другу;
- механическую проверку тех галлюцинаций ИИ, которые ловит скрипт: мёртвые ссылки, ссылки, которые модель привела, не открыв, и тихие отказы.
Ставится любым ИИ-агентом, не только Claude Code. Подойдёт любой агент с доступом к терминалу, например Codex CLI, Cursor, Gemini CLI, opencode, Kimi Code или Qwen Code: это обычный Python без зависимостей. Дайте агенту ссылку на репозиторий и попросите установить (готовый текст просьбы — в «Установке»). В репозитории есть AGENTS.md — инструкция для ИИ-агентов о том, как установить инструмент и провести прогон, так что дальше панель запускает сам агент. Последовательность, которую выполняет агент, — install.ps1, doctor.py и бесплатный --dry-run — проверена 05.10.2026 из обычного терминала, без Claude Code.
В Claude Code плагин срабатывает на «второе мнение» сам. Чтобы так же реагировал другой агент, добавьте в его постоянные инструкции одну строку: «Когда я прошу второе мнение, запусти AI Second Opinion по инструкции в ~/.claude/skills/model-orchestration/SKILL.md».
Чистый Python, ноль зависимостей, лицензия MIT.
English version · Техническое описание · Установка · Если что-то сломалось · Для ИИ-агентов
С чего начать: аккаунты и ключи
Заголовок раздела «С чего начать: аккаунты и ключи»Для старта нужен один ключ OpenRouter и пара бесплатных программ. Всё остальное добавляет голоса, но не обязательно: инструмент запускает то, что у вас есть, и прямо пишет, что пропустил.
| Шаг | Что сделать | Что это даёт | Сколько стоит (на 05.10.2026) |
|---|---|---|---|
| 1. OpenRouter — главное | Зарегистрироваться на openrouter.ai, пополнить баланс и создать ключ (Keys → Create Key). Сохранить его в переменную OPENROUTER_API_KEY в своём терминале, не в чате с ИИ (как это сделать — INSTALL.md) |
Платные голоса: два голоса Muse Spark Contributor (1.2 и 1.3), если у opencode нет подписки OpenCode Go (Spark 1.2 при ключе Meta идёт по нему), и, где нет opencode, MiMo v2.6 Flash в дешёвой панели; Kimi K3, Qwen, DeepSeek V4 Pro и GLM 5.3 в стандартной; MiMo v2.6 Pro и Gemini 3.8 Flash (orgemini38flash) — только если их назвать; запасной путь к Nemotron |
Оплата по ключу за токены, цены в таблицах ниже. При пополнении OpenRouter берёт комиссию 5,5 %. Бесплатные модели: 50 запросов в день, а после покупки кредитов на $10 и больше — 1000 в день |
| 2. opencode CLI | npm install -g @opencode/cli (v2; стоит старый opencode-ai? сначала npm uninstall -g opencode-ai) |
Бесплатный голос: MiMo v2.6 Flash (Xiaomi). Бесплатные GLM 5.3 Flash и DeepSeek V4.1 Flash из opencode делят с ним дневную квоту и запускаются только по имени (см. ниже). Nemotron ушёл из opencode в 1.116.1, а Step 5 Preview (на вашем ключе NVIDIA, шаг 2б) с 1.118.0 работает здесь, только если его назвать. Бесплатного Muse Spark с 17.10.2026 нет (см. ниже). С подпиской OpenCode Go, с 1.120.0: оба голоса Muse Spark Contributor, 1.2 и 1.3, по подписке — после одной настройки в OpenCode Console (ниже, «Spark по подписке OpenCode Go») | Бесплатно, без ключа и аккаунта: так это работает у нас (проверено 18.10.2026). OpenCode предупреждает, что бесплатные модели доступны «на ограниченное время», и они действительно появляются и пропадают |
| 2б. Ключ NVIDIA — по желанию, с 1.114.0 | Войти на build.nvidia.com и создать ключ API. Сохранить его в переменную NVIDIA_NIM_API_KEY в своём терминале (как — INSTALL.md) |
Два бесплатных голоса на собственном адресе NVIDIA: DeepSeek V4.1 Flash (с 1.118.0, вместо Step 5 Preview) и Nemotron 3 Ultra; если DeepSeek не ответил, отвечает GLM 5.3 Flash на том же ключе | Бесплатно в момент использования (бесплатные адреса NVIDIA пропускают около 40 запросов в минуту). Очередь иногда медленная: 57–110 с до первого байта 23.10.2026 |
3. Antigravity CLI (agy) |
Установить, войти Google-аккаунтом и один раз запустить patch_agy_permissions.py. Без этого шага ответы приходят пустыми (INSTALL.md) |
Gemini 3.8 Flash; Gemini 4 Argon в стандартной панели | Бесплатно для личного Google-аккаунта, с недельными лимитами. Лимиты выше дают Google AI Pro ($19.99/мес) и Ultra ($99.99 или $199.99/мес) |
| 4. Grok Build CLI | Установить и выполнить grok login (INSTALL.md) |
Grok 4.6 с живым веб-поиском | Аккаунт xAI. По словам xAI, Grok Build теперь доступен всем; больше лимитов дают SuperGrok ($30/мес) и SuperGrok Plus ($100/мес). Работает ли CLI на бесплатном аккаунте, мы не проверяли |
| 5. Codex CLI — для стандартной панели | Установить и войти аккаунтом ChatGPT (INSTALL.md) | GPT-6.1 Sol | Подписка ChatGPT: Plus — $20/мес, Pro — $200/мес. По словам OpenAI, Codex есть и в Free, и в Go ($8/мес); доступна ли там GPT-6.1 Sol, мы не проверяли. Лимиты считаются окнами по 5 часов и по неделе |
| по желанию | Claude Code с подпиской (INSTALL.md) | Claude Opus 4.6. По умолчанию выключен | Claude Pro — $20/мес, Max — от $100/мес. Claude Code входит во все платные планы |
| по желанию | Ключ Meta MODEL_API_KEY (INSTALL.md) |
Muse Spark 1.2 Contributor напрямую от Meta: с этим ключом, если у opencode нет подписки Go, голос Spark 1.2 из дешёвой панели идёт сюда, а не через OpenRouter (без подписки Go Spark 1.3 идёт через OpenRouter и при ключе Meta) | По ключу: $0.10 / $0.20 за 1 млн токенов (тариф Contributor) |
Бесплатного Kimi больше нет. 15.10.2026 NVIDIA сняла с обслуживания свой бесплатный Kimi K3: его адрес отвечает HTTP 410 «end of life». Версии 1.106–1.111 просили шаг «2б» (Kimi Code CLI и ключ NVIDIA_NIM_API_KEY); с 1.112.0 Kimi Code CLI не используется, канал nvkimik3 поставляется выключенным, и в дешёвой панели голоса Kimi нет. Ключ NVIDIA с 1.114.0 снова нужен: им пользуются DeepSeek V4.1 Flash (до 1.117.2 — Step 5 Preview) и Nemotron 3 Ultra (шаг 2б выше). Kimi K3 отвечает в стандартной панели через OpenRouter (kimik3, платно). «только kimik3» запускает этот канал один; «только кими» — тоже, но на стандартной панели: на дешёвой (она по умолчанию) прогон остановится и попросит назвать kimik3, потому что название семейства моделей никогда молча не переводит прогон с бесплатного на платное.
Бесплатного Muse Spark больше нет. 17.10.2026 opencode перестал обслуживать свой бесплатный Muse Spark 1.3 (opencode/muse-spark-1.3-contributor-free): вызов отвечает «provider.no-route: Model unavailable», а в opencode models этой модели больше нет. С 1.113.3 её канал ocspark13free поставляется выключенным, и голос Spark в дешёвой панели платный; с 1.113.8 это Muse Spark 1.2 Contributor: spark12cont по ключу Meta, а без него orspark12cont по ключу OpenRouter, в обоих случаях $0.10 / $0.20 за 1 млн токенов (столько же стоил Spark 1.3 Contributor, которого он сменил; тот взял $0.002 в нашем первом прогоне); путь через OpenRouter план помечает PAID. С 1.120.0 Spark 1.3 Contributor — второй голос Spark в панели (ocspark13go по подписке Go, иначе orspark13cont); spark13cont, та же модель по ключу Meta, по-прежнему запускается, только если его назвать. Вместо него opencode дал ещё три бесплатных голоса, проверенных живым прогоном 18.10.2026: Nemotron 3 Ultra (выведен в 1.116.1 — его модель ушла из opencode 29.10.2026), GLM 5.3 Flash и DeepSeek V4.1 Flash; с 1.113.7 GLM и DeepSeek в запасе, потому что делят дневную квоту с MiMo Flash (см. дешёвую панель ниже). Бесплатные модели появляются и пропадают без предупреждения (бесплатный Kimi K3 у NVIDIA закончился двумя днями раньше); когда модель пропадает, прогон называет её и говорит, что делать, а живой список — opencode models.
Проверить, что всё нашлось: python doctor.py. Он печатает, какие ключи и программы найдены, но никогда не печатает сам ключ: только «есть / нет» и длину.
🔴 Ключ не вставляйте в чат с ИИ-ассистентом. Задайте его сами в терминале; почему — в разделе «Установка».
Как просить
Заголовок раздела «Как просить»В Claude Code с плагином (и в любом агенте, которому вы добавили строку из начала страницы) говорите обычными словами:
| Вы говорите | Что запустится (версия 1.120.1) |
|---|---|
| «второе мнение» (например, «дай второе мнение по этому файлу») | Дешёвая панель, она по умолчанию: 7 моделей |
| «второе мнение, только CLI» | Только CLI-агенты из дешёвой панели: 5 моделей — MiMo v2.6 Flash, Gemini 3.8 Flash, Grok 4.6 и, с 1.120.0, Muse Spark 1.2 и 1.3 Contributor через opencode по подписке OpenCode Go (голоса NVIDIA — запросы к API). Ни одного платного запроса по ключу OpenRouter. Без подписки Go оба голоса Spark всё равно стартуют здесь и сразу заканчиваются, ничего не потратив (план предупреждает об этом до прогона); убрать их: --skip ocspark12go ocspark13go |
| «стандартная панель» или «все модели» | 13 моделей: дешёвая панель плюс GPT-6.1 Sol, Gemini 4 Argon, Kimi K3 (через OpenRouter, платно), Qwen 3.8 Max, DeepSeek V4 Pro и GLM 5.3. Без Muse Wonder: с 1.113.0 она запускается, только если её назвать; без MiMo v2.6 Pro: с 1.113.8 она тоже запускается, только если её назвать |
| «только CLI, стандартная панель» | 7 моделей: пять CLI-агентов плюс Codex (GPT-6.1 Sol) и Gemini 4 Argon |
| «только кими» | Прогон остановится и скажет почему: с 1.112.0 в дешёвой панели нет бесплатного Kimi, а единственный Kimi, который она могла бы запустить, — kimik3 (OpenRouter, платно). «только kimik3» запускает его; на стандартной панели «только кими» тоже запускает его |
| «спроси только codex», «только кодекс кли», «только грок» | Один названный канал («кодекс кли» — с 1.120.1: раньше «кли» добавлял ещё все CLI-агенты) |
| «только opencode», «только опенкод», "only opencode" | Включённые голоса opencode: в kit — MiMo v2.6 Flash (бесплатно); GLM 5.3 Flash и DeepSeek V4.1 Flash из opencode — только по имени, а с 1.118.0 и Step 5 Preview. «без opencode» запускает всё остальное. До 1.113.5 это слово означало только бесплатный Spark, который opencode перестал обслуживать 17.10.2026. В день, когда бесплатная квота opencode исчерпана, MiMo v2.6 Flash не запускается ([skip]): слово группы никогда не считается названием канала (дешёвая панель ниже) |
| «только ocglm53flashfree», «только ocmimo26flashfree» | Этот один бесплатный голос, в том числе в день, когда его квоту исчерпали (иначе план показывает для него [skip], см. дешёвую панель ниже) |
| «только мимо флеш», "only mimo flash"; «только глм 5.3 флеш», "only glm 5.3 flash" | MiMo v2.6 Flash — тот же голос, что в дешёвой панели (бесплатная копия opencode там, где opencode работает). GLM 5.3 Flash — ocglm53flashfree (бесплатно, через opencode). С 1.120.1: раньше «мимо флеш» запускал платную копию mimo CLI, "mimo flash" отклонялся, а «глм 5.3 флеш» запускал платную GLM 5.3 |
| «только вондер», «muse wonder», "only wonder"; «добавь вондер» | Одна Muse Wonder — по подписке Muse Code, где установлен Muse Code CLI. Без него прогон остановится до любой оплаты и назовёт платные: «только wonder10» (ключ Meta) или «только orwonder» (OpenRouter) запускает выбранный |
| «только gemini 4 аргон», «только gemini 4 cli» | Только Gemini 4 Argon (он в стандартной панели, не в дешёвой). «только agy31pro» по-прежнему запускает Gemini 3.1 Pro, выключенную с 1.115.0 (см. ниже) |
| «добавь мимо 2.6 про», «только mimo 2.6 pro», «только мимо про», "only mimo pro" | MiMo v2.6 Pro через OpenRouter (ormimopro, платно, ≈ $0.06 за прогон) — вместе с дешёвой панелью или одна. С 1.119.3: раньше «mimo 2.6 pro» запускал выключенный Gemini 3.1 Pro (он отзывался на голое слово «pro»), а MiMo Pro не запускался. Голые слова «pro» и «flash» ничего не называют. «мимо про» и "mimo pro" называют её с 1.120.1 (раньше — старую MiMo v2.5 Pro и бесплатную MiMo Flash) |
| «не используй openrouter» | Все, кроме каналов OpenRouter |
Из терминала то же самое делается флагами: --panel cheap (по умолчанию), --panel standard, --route "только CLI", --only codex, --skip openrouter. Посмотреть план до любой траты можно бесплатно: python routing.py или --dry-run.
Панели: состав на версию 1.120.0, цены с датами ниже
Заголовок раздела «Панели: состав на версию 1.120.0, цены с датами ниже»Как читать таблицы:
- Транспорт. CLI-агент — программа вендора на вашем компьютере (opencode, agy, grok, kimi, codex, claude). Она работает по вашей подписке или бесплатно, ключ OpenRouter ей не нужен (провайдер, которого вы сами добавили в opencode, берёт плату за каждый запрос). OpenRouter — запрос по API с вашим ключом, оплата за токены.
- Effort — насколько глубоко модель думает. Где модель принимает уровень, инструмент ставит самый высокий из допустимых; в строках сказано, где бесплатная модель уровней не принимает и где agy решает сам.
- Цена за 1 млн токенов взята из каталога OpenRouter 05.10.2026, в формате вход / выход; строка с другой датой посчитана на эту дату.
- За прогон — медиана наших прогонов с 1 сентября по 5 октября 2026 года; n — число прогонов, каждый посчитан один раз. У вас сумма будет больше или меньше: она зависит от размера документа и числа веб-поисков. Точную сумму инструмент печатает в конце каждого прогона.
Дешёвая панель — по умолчанию: 7 моделей
Заголовок раздела «Дешёвая панель — по умолчанию: 7 моделей»| Модель | Канал | Транспорт | Effort | Оплата | Цена за 1M (вход / выход) | За прогон |
|---|---|---|---|---|---|---|
| Muse Spark 1.2 Contributor (Meta) | ocspark12go по подписке OpenCode Go; иначе spark12cont при ключе Meta; иначе orspark12cont |
CLI-агент opencode по подписке Go; API Meta; OpenRouter | xhigh (потолок) | подписка Go; по ключу | $0.10 / $0.20 (запасной Standard $1.25 / $4.25; цены OpenRouter на 13.11.2026) | ≈ $0.002 (n=1, 18.10.2026, Spark 1.3 Contributor по той же цене: бриф в 5 000 символов, без веб-поиска) |
| Muse Spark 1.3 Contributor (Meta) — новый в 1.120.0 | ocspark13go по подписке OpenCode Go; иначе orspark13cont |
CLI-агент opencode по подписке Go; OpenRouter | xhigh (потолок) | подписка Go; по ключу | $0.10 / $0.20 (запасной Standard $1.25 / $4.25; цены OpenRouter на 13.11.2026) | ≈ $0.002 (n=1, 18.10.2026: бриф в 5 000 символов, без веб-поиска) |
| MiMo v2.6 Flash (Xiaomi) | ocmimo26flashfree; ormimo26flash только там, где нет opencode |
CLI-агент opencode; OpenRouter без opencode | по умолчанию: у бесплатной версии уровни недоступны; на OpenRouter бюджет рассуждений 85 000 токенов | бесплатно; ПЛАТНО на OpenRouter | — ; $0.14 / $0.28 (цены OpenRouter на 23.10.2026) | $0; ≈ $0.0003 на OpenRouter (n=1, 24.10.2026, вопрос в две строки) |
| Nemotron 3 Ultra (NVIDIA) | nvnemotron3ultra при ключе NVIDIA (копия opencode выведена в 1.116.1: её модель ушла из opencode) |
бесплатный API NVIDIA | high на NVIDIA | бесплатно | — | $0 |
| DeepSeek V4.1 Flash (DeepSeek) — новая в 1.118.0, вместо Step 5 Preview | nvdeepseekv41flash |
бесплатный API NVIDIA | max (принимается; влияние на глубину не измерено) | бесплатно, нужен ключ NVIDIA | — | $0 |
| Gemini 3.8 Flash (Google) | agy38flash |
CLI-агент Antigravity (agy) |
не задаётся: решает сам agy | Google-аккаунт: бесплатно, с недельными лимитами | — | $0 сверх подписки |
| Grok 4.6 (xAI) | grokbuild |
CLI-агент Grok Build | xhigh (потолок) | аккаунт или подписка xAI | — | $0 сверх подписки |
Если основного транспорта у вас нет, включается запасной путь к той же модели:
- Muse Spark с 17.10.2026 бесплатного пути не имеет. С 1.120.0 в панели два голоса Spark, 1.2 и 1.3 Contributor, и каждый идёт первым путём, который есть на машине: подписка OpenCode Go (
ocspark12go,ocspark13go: готовы, только еслиopencode modelsих показывает, то есть opencode вошёл в подписку), затем — только для Spark 1.2 — ключ Meta (spark12cont), затем OpenRouter (orspark12cont,orspark13cont). Любой путь стоит $0.10 / $0.20 за 1 млн токенов; пути через OpenRouter план помечает PAID. Если модель Contributor не отвечает, пути Meta и OpenRouter повторяют запрос на Standard Muse Spark той же версии по $1.25 / $4.25 (вход в 12.5 раза дороже, выход в 21 раз); защита от трат каждого пути через OpenRouter останавливает рецензию на $1.00. У путей Go запасного нет (ниже).--skip ocspark12go ocspark13goне убирает Spark из дешёвой панели, а переводит оба голоса на следующий путь (ключ Meta или OpenRouter, платно);--skip sparkубирает все голоса Spark (проверено на сборке 1.120.0). До 1.119.3 в панели был один голос Spark, аocspark12goбыл выключен.spark13cont(Spark 1.3 по ключу Meta) запускается, только если его назвать. - Nemotron 3 Ultra с 1.114.0 сначала идёт через бесплатный API NVIDIA (
nvnemotron3ultra), если заданNVIDIA_NIM_API_KEY; копия opencode (ocnemotron3ultrafree) выведена в 1.116.1 — её модель ушла из opencode. Если нет ни того, ни другого, дешёвая панель показываетnvnemotron3ultra, и он сразу завершается, назвав недостающие ключ и CLI и ничего не потратив.ornemotron3ultra(OpenRouter: бесплатная модель, платные только её веб-поиски, ≈ $0.07 за прогон, n=6) подменяет его только в стандартной панели и как дополнительный голос--askпри ключе OpenRouter. - MiMo v2.6 Flash бесплатно идёт только через opencode (как и GLM 5.3 Flash и DeepSeek V4.1 Flash ниже). Без opencode с 1.114.0 этот голос несёт его ПЛАТНАЯ копия
ormimo26flash(OpenRouterxiaomi/mimo-v2.6-flash, $0.14 / $0.28 за 1M; наш первый вызов занял 1.9 с и $0.0003); план помечает её PAID. На машине с opencode она не запускается никогда: ни когда вы пропускаетеocmimo26flashfreeили opencode, ни при «только openrouter», ни в день, когда бесплатная квота opencode исчерпана (ниже); чтобы заплатить за неё там, назовите её:--only ormimo26flash. По подписке OpenCode Go после раунда один раз отвечает платная Go-копия (ocmimo26flashgo, та же модель, подписка, без quota_group — переживаетprovider.quota); после неё ничего не запускается. До 1.113.9 машина без opencode теряла этот голос (он падал с «binary not found»). - DeepSeek V4.1 Flash (новая в 1.118.0, вместо Step 5 Preview) бесплатна на адресе NVIDIA и требует
NVIDIA_NIM_API_KEY. Это запрос к API (nvdeepseekv41flash) с инструментом чтения страниц и без веб-поиска. Без ключа план говорит об этом («NVIDIA_NIM_API_KEY is not set. This channel will fail; set it or exclude the channel with --skip nvdeepseekv41flash.»), и голос сразу завершается, ничего не потратив. Модель долго рассуждает, а бесплатный адрес NVIDIA отдаёт текст медленно, поэтому у голоса 61 минута: в нашей первой настоящей рецензии (31.10.2026, diff на 67 КБ) она ещё рассуждала, когда кончился прежний лимит в 20 минут (114 348 символов рассуждений, ответа нет). Если голос закончил без ответа (меньше 2 000 байт текста; таймаут тоже считается), на тот же бриф один раз отвечает GLM 5.3 Flash на том же ключе (nvglm53flash, 20 минут). В 1.119.0 этот запасной голос может запуститься внутри раунда, когда DeepSeek падает в первые 25 минут от своего старта — см. параграф про бесплатные голоса ниже. Таймаут после 25 минут или молчаливый обрыв завершают голос без повтора и без запасного пути. Слова «deepseek» / «дипсик» и «glm» / «глм» называют всё семейство на всех транспортах: «не используй glm» выключает и запасной голос DeepSeek, а--only glmна дешёвой панели останавливается и называет платныйorglm53. Step 5 Preview (ocstep5previewnvпри opencode,nvstep5previewбез него) с 1.118.0 выключена: в двух наших прогонах она упиралась в 20 минут, в третьем вернула 50 байт; она запускается, если её назвать. - MiMo v2.6 Pro (
ormimopro, OpenRouter, $0.435 / $0.87 за 1 млн, ≈ $0.06 за прогон, n=9) с 1.113.8 выключена: на неё приходилась почти вся цена этой панели, и она была самым медленным голосом. Она запускается, если её назвать (--only ormimopro); чтобы она была в каждой дешёвой панели, включите её в своём файле настроек:{ "channels": { "ormimopro": { "enabled": true } } }.mimov26pro, та же модель через mimo CLI, тоже выключена. - Gemini 3.8 Flash. Без
agyэтот голос сразу заканчивается («binary not found (agy)»), и с 1.120.0 ничего платного на его место не встаёт:orgemini38flash(OpenRouter, $0.825 / $4.125 за 1 млн на 13.11.2026, effort high — потолок этой модели) запускается, только если его назвать (--only orgemini38flash). До 1.119.3 он сам занимал место agy. - Kimi K3. С 1.112.0 в дешёвой панели его нет: 15.10.2026 NVIDIA сняла с обслуживания бесплатный Kimi K3 (HTTP 410, «end of life»), поэтому
nvkimik3поставляется выключенным. Kimi отвечает в стандартной панели через OpenRouter (kimik3); «только kimik3» запускает его одного (на дешёвой панели «только кими» останавливается и просит это имя).
Три бесплатные модели opencode делят одну дневную квоту. MiMo v2.6 Flash, GLM 5.3 Flash и DeepSeek V4.1 Flash ведут себя как одна дневная квота запросов на сетевой адрес (измерено 18–19.10.2026; 21.10.2026 opencode убрал из FAQ дневную цифру запросов для бесплатных моделей, и поставщик может изменить квоту): её тратит каждый запрос каждого бесплатного голоса и каждый прогон с любой машины вашей сети. Nemotron 3 Ultra по измерению в неё не входит. Поэтому дешёвая панель запускает одну из них — MiMo v2.6 Flash. Если бесплатный голос закончил без ответа, его платная Go-копия (та же модель по подписке OpenCode Go, без quota_group — переживает provider.quota) один раз отвечает на тот же бриф после раунда, и после неё ничего не запускается. После provider.quota (квота исчерпана) запасной голос не запускается — GLM получил бы тот же отказ, — отказавший вызов не повторяется, а отказ записывается на вашей машине в ~/.claude/model-orchestration.quota-state.json; прогон пишет, удалось ли это. До 00:00 UTC каждый прогон, в плане которого есть MiMo, включая --ask и python routing.py, показывает [skip] ocmimo26flashfree с оставшимся временем и не запускает его, и ни один другой канал не переходит в эту группу как запасной: в такой день дешёвая панель запускает 6 моделей вместо 7, стандартная 12, «только CLI» 4 (на машине со всеми ключами и CLI; python routing.py покажет ваши). Отказ в части прогона, начавшейся до 00:00 UTC (раунд, его повтор или запасной голос), не запоминается: к этому времени квота уже обновилась. Чтобы запустить канал всё равно, назовите его — именем канала, псевдонимом, id модели или закреплением --set (--only ocmimo26flashfree, «только ocglm53flashfree»); слово группы вроде «только opencode» не считается. Ответ голоса из этой группы стирает дату, если только в этом же прогоне не было и отказа или отказ не был записан после начала этого прогона (прогоном, шедшим одновременно). DeepSeek V4.1 Flash из opencode (ocdeepseekv41flashfree) запускается только по имени; DeepSeek V4.1 Flash дешёвой панели работает на ключе NVIDIA (nvdeepseekv41flash), вне этой квоты. До 1.113.6 панель запускала все три, и 18.10.2026 они исчерпали квоту к 08:25Z; отказ держался до 00:00 UTC.
В 1.119.0 запасной путь бесплатного голоса запускается внутри раунда, а не после (правило оператора от 31.10.2026). В первые 25 минут от старта первичного вызова известный отказ (provider.quota, provider.free-limit) или нераспознанная ошибка сразу запускают запасной голос; известный временный сбой (429, 5xx) повторяет первичный вызов один раз через 60 с или 30 с. Тишина (чистый выход без ошибки и без ответа) и падение после 25 минут завершают голос без повтора и без запасного пути — слова оператор: «тишина или свыше 25 мин — никаких fallback». Платные и подписочные голоса сохраняют запасной путь после раунда, без изменений. Чат-панель (новая в 1.119.0, выключена по умолчанию) от правила 25 минут освобождена. Переменные окружения для CI и проб: ORCH_FREE_INROUND_WINDOW, ORCH_FREE_INROUND_RETRY_429, ORCH_FREE_INROUND_RETRY_5XX. Чтобы увидеть, какая ветка классификатора сработала, ищите in-round: в run.log или читайте поле free_inround в diagnostics.json. С 1.119.2 перед этим правилом есть ещё один шаг: если бесплатный API-голос 300 с не получает заголовков ответа, тот же запрос отправляется ещё раз внутри того же вызова. Уже прочитанные страницы остаются в нём, а копия, которая тоже не получила заголовков, добавляет не больше 300 с. Платные каналы так не повторяют (запрос без заголовков мог встать в очередь и быть оплачен). Если и копия не ответила, действует правило выше.
Итого: по ключу OpenRouter — только два платных голоса Muse Spark, если у opencode нет подписки Go (Spark 1.2 при ключе Meta идёт по нему): $0.002 в нашем первом прогоне одного из них (каждый их веб-поиск через OpenRouter оплачивается отдельно), а на машине без opencode — платная MiMo v2.6 Flash (≈ $0.006 за рецензию примерно на 25 000 токенов на входе и 8 000 на выходе по её цене; $0.0003 за наш первый вопрос в две строки), плюс ваши подписки. До 1.113.7 панель стоила около $0.06 за прогон и шла около 15 минут; почти всю цену и самое долгое время давала MiMo v2.6 Pro (медиана 14 минут), с 1.113.8 выключенная. Время прогона состава 1.118.0 ещё не измерено; с 1.119.0 DeepSeek V4.1 Flash занимает не более 61 минуты (тишина или пауза за 25 мин) либо 25 + 20 минут, если известный отказ в окне переходит на GLM; прежний автоповтор 1.118.0 для бесплатных голосов больше не выполняется.
Если MiMo Flash (или любой другой канал) вам не нужен
Заголовок раздела «Если MiMo Flash (или любой другой канал) вам не нужен»Чтобы канал больше не запускался, положите в ~/.claude/model-orchestration.local.json (это файл ваших настроек, обновления его не трогают):
{ "channels": { "ocmimo26flashfree": { "enabled": false } } }Так же выключается любой другой канал. Если файл уже есть, добавьте канал в его раздел channels. Кто запустится, покажет python routing.py, ничего не тратя.
Spark по подписке OpenCode Go — сначала одна настройка. С 1.120.0 оба голоса Spark сами идут по вашей подписке OpenCode Go, если opencode вошёл в неё (opencode models показывает opencode-go/muse-spark-1.2-contributor и opencode-go/muse-spark-1.3-contributor); до 1.119.3 ocspark12go нужно было включать здесь вручную. Workspace Go отказывает обеим моделям, пока его владелец или администратор не включит один переключатель: в OpenCode Console откройте Settings › Privacy (https://opencode.ai/console/<id workspace>/settings/privacy; страницу видят владельцы и администраторы workspace с активной подпиской Go) и включите «Allow paid endpoints that train on request data» (opencode.ai/docs/go, прочитано 13.11.2026: по умолчанию выключен, нужен обеим моделям Muse Spark Contributor). До этого каждый вызов заканчивается ошибкой «This Go model trains on request data. Allow paid endpoints that train on request data in your workspace's Privacy settings to use it.», а прогон пишет, что нажать, в таблице каналов REPORT.md и в HANDOFF.md, напротив отказавшего Spark. У путей Go запасного нет: запасной путь, который сам начинает платить, мы не поставляем. Если прогон по подписке не дал ответа (переключатель выключен, лимит исчерпан, подписка не оплачена, тайм-аут), его запись говорит почему, а ответы остальных голосов остаются в силе. Чтобы оба голоса шли через OpenRouter (Spark 1.2 — через ключ Meta, если он есть), пропустите копии Go на один прогон (--skip ocspark12go ocspark13go) или выключите их в файле настроек:
{ "channels": { "ocspark12go": { "enabled": false }, "ocspark13go": { "enabled": false } } }По подписке Spark стоит $0.10 / $0.20 за 1 млн токенов из лимитов плана (opencode.ai/docs/go, 08.10.2026); живой прогон на брифе в 35 000 символов израсходовал ≈ $0.01. Если в консоли opencode включено «Use balance», после лимита подписка не откажет, а спишет деньги с баланса Zen.
Если ответ — «каша». Модель иногда возвращает вместо текста свои служебные токены вперемешку с обрывками слов на разных языках: так делал бесплатный Kimi K3 у NVIDIA с 6 октября и до снятия с обслуживания, о том же писали пользователи других программ. Прогон помечает такой ответ CORRUPTED OUTPUT: в REPORT.md стоит «🔴 CORRUPTED», HANDOFF.md просит его не открывать, и ответом он не считается.
Стандартная панель — 13 моделей: дешёвая + 6
Заголовок раздела «Стандартная панель — 13 моделей: дешёвая + 6»| Модель | Канал | Транспорт | Effort | Оплата | Цена за 1M (вход / выход) | За прогон |
|---|---|---|---|---|---|---|
| GPT-6.1 Sol (OpenAI) | codex |
CLI-агент Codex | xhigh | подписка ChatGPT | — | $0 сверх подписки |
| Kimi K3 (Moonshot) — единственный Kimi с 1.112.0 (бесплатный NVIDIA сняла 15.10.2026) | kimik3 |
OpenRouter | max | по ключу | $0.67 / $14.00 | ≈ $1.38 (n=3) |
| Qwen 3.8 Max (Alibaba) | qwen38max |
OpenRouter | xhigh (потолок) | по ключу | $2.00 / $6.00 | ≈ $0.59 (n=3), см. ниже |
| DeepSeek V4 Pro | ordeepseekv4pro |
OpenRouter | xhigh (потолок) | по ключу | $0.209 / $0.418 | ≈ $0.18 (n=3) |
| GLM 5.3 (Z.ai) | orglm53 |
OpenRouter | max | по ключу | $0.05 / $7.00 | ≈ $0.19 (n=3) |
| Gemini 4 Argon (Google) — новая в 1.115.0 | agy4argon |
CLI-агент agy | high (потолок: agy даёт low, medium, high) | ваша подписка Google: свой недельный лимит на Google AI Pro | — | одно ревью: 22% недельного лимита (n=1) |
Gemini 4 Argon сам по себе денег не стоит: agy запускает его на вашей подписке Google. На тарифе Google AI Pro у него свой недельный лимит, отдельно от квоты Gemini (/usage в agy показывает его отдельной строкой; по словам agy, на тарифах Ultra лимит Argon больше и входит в общую квоту Gemini). Одно наше ревью (бриф релиза с семью вложениями: 17,5 минуты, 276 вызовов инструментов) заняло 22% этой недели (n=1), то есть лимит кончается примерно на четвёртом стандартном прогоне за неделю. Что agy делает дальше, решает его собственная настройка «Use AI Credits» (agy, затем /config): если она включена, agy продолжает и тратит AI credits (баланс — /credits); что происходит, когда она выключена, мы не измеряли. Если аккаунт не даёт Argon, agy отказывает на старте — как у нас с Gemini 3.1 Pro (exit 1 за секунды, ничего не потрачено); без CLI agy план всё равно показывает agy4argon, и он падает при запуске с «binary not found», а Gemini 3.8 Flash переключается на свою копию в OpenRouter; другого транспорта для Argon в kit нет. --skip agy4argon убирает его из одного прогона, {"channels": {"agy4argon": {"enabled": false}}} в файле настроек — из всех.
Nemotron 3 Ultra с 1.113.3 в дешёвой панели, бесплатно через opencode, а с 1.114.0 при ключе NVIDIA сначала через бесплатный API NVIDIA; его путь через OpenRouter, ornemotron3ultra, работает здесь, только если нет ни того, ни другого. Копия opencode выведена в 1.116.1 (её модель ушла из opencode).
Muse Wonder ушла из этой панели в 1.113.0: она запускается, только если её назвать (ниже, «Только по имени»).
ℹ️ Qwen 3.8 Max: до версии 1.108.0 здесь было написано, что ни один из 8 наших прогонов не закончился ответом. Это была наша ошибка подсчёта: среди 8 были копии одного и того же прогона, а настоящие ответы харнесс засчитал как сбои, потому что OpenRouter отдаёт имя qwen/qwen3.8-max как его датированный снимок qwen/qwen3.8-max-0902. Если считать каждый прогон один раз, все 3 наших прогона с 1 сентября закончились полным ответом (22–63 КБ). С версии 1.108.0 такой снимок — заметка в отчёте, а не сбой.
Итого: около $2.5 за прогон по ключу OpenRouter плюс подписки; больше всего из этого — Kimi K3 через OpenRouter (≈ $1.38). Сколько Kimi думает на OpenRouter, мы не измеряли (3 прогона). Из остальных добавленных здесь моделей дольше других думают GLM 5.3 и Qwen 3.8 Max: медианы 16 и 15 минут (самый долгий прогон GLM — 44 минуты). У большинства платных каналов есть потолок трат на один прогон ($2–5); дойдя до него, канал останавливается.
Только по имени
Заголовок раздела «Только по имени»| Модель | Канал | Транспорт | Effort | Оплата |
|---|---|---|---|---|
| Muse Wonder 1.0 (Meta) — новая в 1.110.0, Muse Code в 1.111.0, только по имени с 1.113.0 | mcwonder10cont, где установлен Muse Code CLI; wonder10 и orwonder — только по их собственным именам |
подписка Muse Code / API Meta (MODEL_API_KEY) / OpenRouter |
xhigh на подписке (её потолок), max в API | по подписке; по ключу $4.00 / $20.00 за 1M (вход / выход) |
| Gemini 3.1 Pro (Google) — выключена с 1.115.0 | agy31pro |
CLI-агент agy | — | agy 1.4.7 на нашем аккаунте Google AI Pro 2026-10-24 этой модели уже не давал («not recognized as a known model»; agy models покажет, что есть у вас). По имени канал по-прежнему запускается; где модели нет, agy отказывает на старте |
| Step 5 Preview (StepFun) — выключена с 1.118.0 | ocstep5previewnv при opencode; nvstep5preview без него |
CLI-агент opencode на бесплатном адресе NVIDIA; бесплатный API NVIDIA | max | бесплатно, нужен ключ NVIDIA. В дешёвой панели с 1.114.0 по 1.117.2 |
| Claude Opus 4.6 [1M] (Anthropic) | cclopus46 |
CLI-агент Claude Code | max | подписка Claude (Pro — $20/мес). По умолчанию выключен; включённый работает без запросов разрешений (SECURITY.md) |
Muse Wonder — самая сильная модель Meta (preview) и самый дорогой здесь голос за токен: вход в 40 раз и выход в 100 раз дороже Spark Contributor. С 1.113.0 её не запускает ни одна панель: она запускается, только если её назвать — «только вондер», «добавь вондер», «muse wonder», «wonder 1.0», "only wonder" или собственное имя канала. Более широкое слово её не запускает: ни «стандартная панель», ни «все модели», ни «только muse», ни «только openrouter», ни «только CLI». Слово модели запускает ОДНУ Wonder, mcwonder10cont: вариант Contributor, который есть только в подписках Muse Code (Meta может использовать присланное для обучения), на xhigh (измеренный потолок подписки), в счёт подписки и никогда не по ключу (настройка: INSTALL.md, раздел «Muse Code CLI»). Где Muse Code CLI не установлен, прогон остановится до любой оплаты и назовёт платные Wonder, которые мог бы запустить; чтобы заплатить, назовите одну из них: wonder10 — API Meta по MODEL_API_KEY (только режим Standard: присланное не используется для обучения), без потолка трат на прогон, потому что Meta выполняет весь цикл поиска внутри одного запроса (проверка из двух строк стоила $0.016; рецензий ещё не считали), или orwonder через OpenRouter, у которого потолок $5 за прогон. До 1.112.6 стандартная панель запускала Wonder в каждом прогоне: по подписке, где установлен Muse Code, иначе платные wonder10 или orwonder. Чтобы вернуть её туда, только по подписке, положите {"channels": {"mcwonder10cont": {"explicit_only": false}}} в ~/.claude/model-orchestration.local.json.
Веб-поиск
Заголовок раздела «Веб-поиск»У каналов OpenRouter каждый веб-поиск оплачивается отдельно от токенов, поэтому платный даже у бесплатной модели. Канал, где указан движок Exa, платит $0.007 за запрос (Exa включает до 10 результатов, наши каналы просят 5); канал без движка получает собственный поиск провайдера модели, если он есть у OpenRouter (модели OpenAI, Anthropic, Google, Perplexity и SpaceXAI, как пишет OpenRouter), по цене этого провайдера, а иначе Exa (страница веб-поиска OpenRouter, 23.10.2026). CLI-агенты ищут сами, в рамках своей подписки.
Живой список каналов всегда печатает python routing.py. Таблицы выше — снимок: состав версии 1.118.0, цены на 05.10.2026, если в строке не указана своя дата, а реестр меняется почти каждую неделю.
Откуда цены (05.10.2026):
- каталог OpenRouter
openrouter.ai/api/v1/models, снят в 09:15 UTC; - лимиты бесплатных моделей:
openrouter.ai/docs/api_reference/limits; - веб-поиск:
openrouter.ai/docs/features/web-search; - комиссия:
openrouter.ai/pricing; - цены MiMo совпадают с прайсом Xiaomi:
mimo.mi.com/docs/en-US/price/pay-as-you-go; - Kimi K3 у NVIDIA (
build.nvidia.com/moonshotai/kimi-k3) больше нет: 15.10.2026 с 08:00 UTC его адрес отвечает HTTP 410 «end of life» (измерено в тот же день); - подписки:
help.openai.com/en/articles/11369540,openai.com/index/introducing-chatgpt-go,antigravity.google,gemini.google/subscriptions,x.ai/pricing,x.ai/news/grok-build-for-everyone,opencode.ai/docs/zen,claude.com/pricing,dev.meta.ai/docs/pricing-rate-limits.
Премиум-панель — отдельный скрипт, а не значение --panel
Заголовок раздела «Премиум-панель — отдельный скрипт, а не значение --panel»True-batch и Flex-линии для самых тяжёлых моделей по их скидочным ценам. Batch-задания
устроены совсем не так, как синхронные каналы выше, поэтому это намеренно отдельный скрипт,
а не ещё несколько каналов: premium/premium_panel.py, со своими гейтами — файл плана вызова
на диске до любой оплаты, скан секретов на каждой линии без оверрайда, проверка скидки на
линию (отказ, если скидки нет, — либо явный --allow-nodiscount), PII-скан на брокерской
линии и потолок стоимости до сабмита (batch нельзя оборвать в полёте, поэтому потолок
работает до отправки — или никак).
python premium/premium_panel.py --mode dry --plan PLAN.md --brief BRIEF.md --rundir runs/premium--mode dry строит всё и не тратит ничего. Дальше smoke (крошечный бриф про публичный факт
тем же кодовым путём), submit, poll, collect. --panel premium в основном инструменте
печатает указатель сюда.
| линия | модель | транспорт | нужный ключ | роль |
|---|---|---|---|---|
solpro |
GPT-5.6 Sol Pro | OpenRouter batch (брокер) | OPENROUTER_API_KEY |
голос |
gpt55 |
GPT-5.5 | OpenAI batch | OPENAI_API_KEY |
голос |
gemini31 |
Gemini 3.1 Pro | Google batch | GEMINI_API_KEY |
голос |
flash |
Gemini 3.7 Flash | Google batch | GEMINI_API_KEY |
канарейка — отчитывается отдельной секцией, в конвергенцию не входит |
live54 |
GPT-5.4 + веб-поиск | OpenAI Flex, синхронно | OPENAI_API_KEY |
голос — единственное живое веб-место |
Если у вас только OPENROUTER_API_KEY, достижима только брокерская линия: запускайте
--only solpro. Отсутствующий ключ громко отказывает на своей линии, а --mode collect
агрегирует то, что есть, — отчёт покажет дыру, а не замажет её.
Цены берутся из premium/models_snapshot.json (даты снятия внутри; цена с истёкшим сроком
действия даёт отказ, а не выдуманное число). Зрелость, честно: транспорт каждой линии измерен
против её вендора по отдельности; собранная панель платный раунд ещё не бегала.
Сначала smoke.
Адресная отправка
Заголовок раздела «Адресная отправка»--only codex agy4argon grokbuild # только названные--skip ornemotron3ultra # все, кроме этогоЖивой список каналов — всегда python routing.py; таблицы на этой странице — снимок на дату
в заголовке «Панели»: каналы и их число меняются почти каждую неделю.
Какую проблему это решает
Заголовок раздела «Какую проблему это решает»Вы просите ИИ проверить вашу стратегическую записку. Он отвечает, что записка сильная, добавляет три довода в вашу пользу и приводит четыре ссылки.
Такой ответ почти бесполезен — по трём причинам, которые обычно не проверяют:
- Модель настроена соглашаться. Записку писали вы, вопрос задали вы — модель оптимизирует ответ под ощущение полезности. Попросите её же разнести эту записку, и она найдёт проблемы, которых минуту назад «не было».
- Одна модель знает только своё. Её потолок — данные, на которых её обучили, и инструменты её обвязки. В чём она была слаба вчера, в том слаба и сегодня, а в ответе нет ни намёка, какие куски ненадёжны и чего она просто не знает. Другая модель, обученная иначе, предложит то, что первой даже не пришло в голову.
- Источников может не существовать. Модели генерируют ссылки, которые выглядят настоящими: реальный домен, правдоподобный путь, убедительный номер документа — на страницы, которые никто не открывал, а иногда и которых никогда не было. В одном из замеров модель выдала 11 ссылок, 3 из них были мёртвые, при этом выводы были верными. Вот это сочетание и опасно: оно проходит беглую проверку на ура.
Что делает этот инструмент
Заголовок раздела «Что делает этот инструмент»- Разные знания — разные рекомендации. Модели разных вендоров обучены на разных данных и работают в разных обвязках. На вопрос «как построить» или «что не так в коде» каждая предлагает своё, поэтому вы получаете несколько вариантов решения, а не один, повторённый трижды. В каждом ответе есть ещё и раздел UNASKED: важное, о чём вы не спросили.
- Панель независимых моделей, один документ, одновременно. Они не видят ответов друг друга — поэтому совпадение что-то значит, а расхождение значит ещё больше.
- Показывает расхождение. Это и есть продукт. Две модели считают пункт нормальным, а третья — фатальным: это самое полезное, что вы прочитаете за неделю.
- Проверяет чеки. Каждая процитированная ссылка открывается и помечается: живая / переехала / мёртвая. Там, где канал это позволяет, проверяется ещё и то, открывала ли модель страницу, на которую сослалась, — или просто перечислила её.
- Ловит скрытый отказ. Модель, которая отказалась от задачи, всё равно правильно оформит ответ — и пройдёт любую наивную проверку «дошла ли она до конца». Здесь это ловится.
- Сам инструмент никогда не отправляет пароль или ключ. Бриф или вложение с ним блокируется жёстко, без возможности
обойти. CLI-агент сам открывает файлы на вашем диске, поэтому что ему можно читать, решают его собственные правила (SECURITY.md). Персональные данные — номера документов, SSN, email, телефоны, даты рождения —
находятся, перечисляются поимённо в отчёте — и затем ОТПРАВЛЯЮТСЯ; флаг
--strict-piiпревращает это в жёсткий стоп. Имена и почтовые адреса не детектируются вовсе, ни в каком режиме. Почему так — с обоснованием и замерами — вPRIVACY.md.
Кому это нужно
Заголовок раздела «Кому это нужно»| Вы | Зачем |
|---|---|
| Основатель / CEO | Проверить на прочность стратегическую записку, презентацию для совета директоров, апдейт инвесторам или решение по ценам — до того, как их увидит кто-то снаружи. Несколько моделей, несколько наборов возражений — раньше, чем их найдёт ваш совет. |
| Продакт-менеджер | Найти дыры в спецификации, проверить утверждения о конкурентах перед публикацией, проверить на прочность допущения плана запуска. |
| C-level / операционный директор | Проверить утверждения в коммерческом предложении или отчёте консультанта. Убедиться, что регламент, на который вы опираетесь, всё ещё действует и говорит именно то, что вам пересказали. |
| Юридический отдел / комплаенс | Проверить, что каждая ссылка в аналитической записке ведёт на реальный документ, который действительно говорит то, что ей приписывают. Это работа по верификации источников, сделанная нормально и быстро. См. примечание ниже. |
| AI / ML инженер | Сравнить поведение моделей на одном и том же промте у разных вендоров. Увидеть, какие модели опираются на реальные источники, а какие выдумывают цитаты. Оценить до продакшена. |
| Любой, кто пишет что-то важное | Получить возражения приватно — раньше, чем они прозвучат публично. |
Примечание для юридических отделов
Заголовок раздела «Примечание для юридических отделов»Это инструмент верификации исследований, а не консультирования, и это различие заложено в
программу, а не написано на ней. В комплекте идёт режим (--system legal-research), который
формулирует задачу тем, чем она является: проверкой источников документа, который затем прочитает
лицензированный специалист. Ничто в выводе не является юридической консультацией, а моделям прямо
запрещено высказываться о ситуации конкретного названного человека и решать, что кому подавать.
Эта же формулировка — то, что заставляет систему работать. На просьбу «проверь эту стратегию подачи» модели отказываются по политике. На просьбу «проверь эти шесть утверждений по указанным источникам» те же модели отвечают на все шесть с корректными ссылками. Переформулировка честная, а не обход: сверка номера документа с реестром — это и есть исследование.
Как выглядит один прогон
Заголовок раздела «Как выглядит один прогон»Вы пишете вопрос в обычный текстовый файл и запускаете одну команду. Ниже настоящий вывод прогона 05.10.2026, сокращённый, ещё до того, как NVIDIA сняла Kimi K3, а opencode — свой бесплатный Muse Spark (поэтому в дешёвой панели тогда было шесть моделей, среди них nvkimik3 и ocspark13free): она проверяла пять утверждений об OpenRouter и NVIDIA, одно из которых мы заведомо сделали ложным.
[agy38flash] OK 275.2s model=Gemini 3.8 Flash [gemini-3.8-flash][grokbuild] OK 251.0s model=Grok 4.7 [grok-4.7][nvkimik3] OK 666.6s model=Kimi K3 (via Kimi Code CLI + NVIDIA free endpoint) [nvidia/moonshotai/kimi-k3][ocmimo26flashfree] PROBLEM 0.8s model=MiMo v2.6 Flash Free (via opencode) [opencode/mimo-v2.6-flash-free] FAIL: EXIT 1: {"type":"error", ... "error":{"type":"provider.quota", ...[ocspark13free] PROBLEM 1.1s model=Muse Spark 1.3 Contributor Free (via opencode) [opencode/muse-spark-1.3-contributor-free] FAIL: EXIT 1: {"type":"error", ... "error":{"type":"provider.quota", ...[ormimopro] OK 185.0s model=MiMo v2.6 Pro (OpenRouter) [xiaomi/mimo-v2.6-pro]4/6 channels returned a verified review.cost reported BY THE VENDORS for this round: $0.0697 across 1 channel(s) (ormimopro $0.0697)Citation existence check (no vendor cost; fetches the cited pages directly): [agy38flash] 6 cited, 6 probed LIVE=6 [grokbuild] 12 cited, 12 probed LIVE=10 MOVED=1 UNKNOWN=1 [nvkimik3] 9 cited, 9 probed LIVE=6 MOVED=3Каждая строка называет модель, а не только канал: «канал ответил» — не факт, на который можно опереться, а «ответил Kimi K3 через бесплатный сервер NVIDIA» — факт. Две бесплатные модели opencode в этот раз упёрлись в квоту бесплатного сервиса (provider.quota), и прогон сказал это прямо, а не выдал пустой ответ за рецензию. Ссылки инструмент проверяет сам, открывая каждую процитированную страницу: переехавшая помечается MOVED, не открывшаяся — UNKNOWN.
Плюс по файлу с полным отчётом от каждой модели, сводка HANDOFF.md для чтения — и диагностический файл, если что-то пошло не так.
В REPORT.md есть таблица «Tokens per model»: сколько символов и примерно токенов (≈, по правилу «байты ÷ 4») мы отправили каждой модели и сколько она написала в ответ, а рядом — счётчик самого вендора (billed in, out tok) или unknown, если вендор такого числа не сообщает. У CLI-агента счёт вендора обычно в 10–50 раз больше отправленного: агент сам читает файлы и страницы и на каждом шаге заново отправляет весь разговор. Токены и цену каналов opencode инструмент берёт из собственной базы opencode, потому что его поток иногда теряет итоговые строки.
Привычка, которую стоит перенять
Заголовок раздела «Привычка, которую стоит перенять»Вставляйте заведомо ложное утверждение в каждый документ, который отправляете на проверку.
Это ничего не стоит. Модель, которая «подтвердила» вашу подсадную ложь, только что назвала цену всем остальным своим подтверждениям. В трёхканальных прогонах, на которых построена эта проверка, все три модели поймали обе подсадные утки — и только поэтому есть основания верить тому, что они подтвердили всерьёз. (Область действия названа намеренно: это замер трёхканального раунда. Более поздние, большие панели продолжали отвергать подсадное утверждение — 4 из 4 в ревью релиза 1.46.0 и 12 из 12 читаемых ответов в раунде на тринадцать каналов за релизом 1.44.0, см. CHANGELOG.md, — но число стоит ровно того прогона, из которого взято.)
Сколько это стоит, честно
Заголовок раздела «Сколько это стоит, честно»Коротко, по нашим прогонам сентября–октября 2026 года:
- дешёвая панель — по ключу OpenRouter платные только два голоса Muse Spark, если у opencode нет подписки Go (Spark 1.2 при ключе Meta идёт по нему; $0.002 в нашем первом прогоне одного из них, каждый веб-поиск отдельно), и MiMo v2.6 Flash на машине без opencode ($0.0003 за наш первый вопрос в две строки), плюс подписки;
- стандартная — около $2.5: Kimi K3 теперь всегда отвечает там через OpenRouter (≈ $1.38 из них);
- только CLI — $0 по ключу, только подписки.
Раскладка по моделям — в таблицах выше. Аккаунты, ни один из которых этот инструмент не выдаёт, перечислены в разделе «С чего начать». По желанию: ключи GEMINI_API_KEY, XAI_API_KEY и MIMO_API_KEY открывают Gemini, Grok и MiMo через собственные API вендоров, не всегда в той версии, что в панели (там Grok 4.20 и MiMo v2.5 Pro; модель каждого канала печатает python routing.py); по умолчанию эти каналы выключены, подробности — в INSTALL.md.
Все сразу не нужны, и начинать со всех не нужно тоже. Отсутствие ключа или CLI — нормальное состояние, а не ошибка: инструмент запускает то, что доступно, и прямо сообщает, что пропустил. Начните с одного.
🔴 Не считайте каналы по этому файлу. Число — это то, что включено в channels.json, и оно
менялось почти каждую неделю. python routing.py печатает живой список и не тратит ничего.
(Каждая прозаическая копия этого списка в репозитории устаревала за считанные дни — однажды в
этом самом файле стояли два разных числа с разницей в четыре строки.)
Некоторые каналы дёшевы из-за своих условий по данным, а не вопреки им. На момент публикации
ocspark12go, spark12cont и orspark12cont работают на одном и том же Muse Spark 1.2 тарифе Contributor —
по подписке OpenCode Go, напрямую и через OpenRouter соответственно, — ocspark13go и orspark13cont на его тарифе 1.3 Contributor, а ornemotron3ultra, ocmimo26flashfree и ocnemotron3ultrafree на бесплатных: на каждом из них вендор может использовать запросы и ответы для обучения или улучшения модели. Это и есть
сделка; она названа в PRIVACY.md с именем каждого вендора, и инструмент печатает
политику данных каждого канала в плане до того, как потратит хоть что-то — актуальный список
именно там, а не в этом абзаце. Если на брифе нельзя
обучаться — уберите эти каналы из прогона:
--skip ocspark12go ocspark13go spark12cont orspark12cont orspark13cont ornemotron3ultra ocmimo26flashfree ocnemotron3ultrafree. (Бесплатный Spark через opencode,
ocspark13free, был в этом списке, пока opencode не убрал его 17.10.2026; он поставляется выключенным.)
Больше ничто в этом файле не скажет, когда канал стоит выключить, — и это намеренно. В ранней версии здесь и в реестре стояло громкое предупреждение, и дважды оно сработало хуже самого риска: один раз прогон молча подменил модель — уничтожив само сравнение, ради которого панель существует, — а один раз выкинул рецензента, которого никто не решал выкидывать. Факты должны лежать перед тем, кто тратит деньги; выбор не должен принадлежать фразе в конфиге.
Не раздавайте один API-ключ на команду. Он метрируется на владельца, никого нельзя атрибутировать, а отзыв ключа отрубает сразу всех. По ключу на человека — ровно поэтому это репозиторий, который клонируют, а не сервис, в который логинятся.
Установка
Заголовок раздела «Установка»Самый быстрый способ: отдать репозиторий своему ИИ-ассистенту
Заголовок раздела «Самый быстрый способ: отдать репозиторий своему ИИ-ассистенту»Вставьте в Claude Code (или любой кодинг-ассистент с доступом к консоли), подставив URL:
Установи мне этот инструмент: https://github.com/igorsaevets/ai-second-opinionПрочитай его INSTALL.md и следуй ему. API-ключи я задам сам —не проси вставлять ключ в этот чат и не запускай команды с ключамиза меня. Когда закончишь, запусти doctor.py и покажи вывод.Последние два предложения — не вежливость, а модель безопасности. Ассистент, который задаёт ключ
за вас, должен сначала его получить, — а разговор пишется на диск, попадает в последующий
контекст и часто архивируется. Ключ, однажды появившийся в чате, считается утёкшим: его меняют,
а не удаляют. Инструмент построен вокруг этого: он никогда не печатает ключ, doctor.py
сообщает только наличие и длину, а orchestrate.py откажется отправить полезную нагрузку с
чем-либо похожим на секрет — даже по вашей прямой просьбе.
В INSTALL.md есть отдельный блок инструкций, адресованный самому ассистенту, — так что
грамотный ассистент откажется трогать ваши ключи, не дожидаясь второго напоминания.
Или руками
Заголовок раздела «Или руками»Три способа, по возрастанию вовлечённости. Подробно — в INSTALL.md.
1 — Плагин (проще всего). В Claude Code:
/plugin marketplace add igorsaevets/ai-second-opinion/plugin install model-orchestration@review-channels2 — Скрипт установки. Скачайте репозиторий, затем:
.\install.ps1 # Windows./install.sh # macOS / Linux3 — Просто скопировать файлы. Без git, без плагинов, без установщика. Копируете одну папку:
plugins/model-orchestration/skills/model-orchestration/в
Windows: %USERPROFILE%\.claude\skills\model-orchestration\macOS / Linux: ~/.claude/skills/model-orchestration/Это вся установка. Это обычный Python без зависимостей — ничего не компилируется, ничего не висит в фоне, и ничего не скачивается, пока вы сами не попросите обновление.
Уже установлено? Обновление — одна команда
Заголовок раздела «Уже установлено? Обновление — одна команда»python ~/.claude/skills/model-orchestration/update_check.py --applyЗапускается из той копии, что у вас стоит: находит свежий релиз на GitHub, скачивает и проверяет
его, делает резервную копию старой папки, переносит ваши настройки, печатает, чем новая версия
отличается от вашей, и запускает проверку (--dry-run показывает всё это, ничего не меняя).
Плагинную установку та же команда обновляет через Claude Code. И помнить о ней не нужно: раз в
день kit сам проверяет, вышел ли релиз — при старте сессии и после реального прогона — и печатает
эту команду, когда он есть. Тот же механизм вызывают install.ps1 / install.sh, если установка
уже есть, — то есть «поставить заново» и «обновить» это одна и та же безопасная операция.
Если вы ИИ-ассистент, которого попросили обновить существующую установку («обнови kit»): запустите
update_check.py --applyиз установленной папки (а если дали скачанную копию — еёupgrade.py). Не копируйте файлы поверх старой папки вручную и не ставьте всё заново. До версии 1.7.0 сделать это правильно было невозможно: ни одна установленная копия не несла номера версии, а настройки пользователя лежали в файле, который затирало любое обновление. Если в обновляемой папке нет файлаVERSION— она старше 1.7.0, это нормально,upgrade.pyеё перенесёт. После этого запуститеpython doctor.pyи сообщите строку с версией.
Ваши собственные настройки живут вне папки скилла, в
~/.claude/model-orchestration.local.json — именно для того, чтобы обновление не могло их тронуть:
{ "channels": { "goog36flash": { "enabled": true } } }Каждый прогон печатает путь к этому файлу и каждое изменённое им значение, так что он не может незаметно объяснять, почему канал ведёт себя не так, как вы ожидали.
С версии 1.8.0 в этом файле можно менять что угодно — перенаправить модель, добавить целый
канал или собственный tier ("_new": true помечает добавление, чтобы опечатка падала громко, а не
превращалась тихо во второй канал). В 1.7.0 это было запрещено, и запрет был ошибкой: ваш файл
настроек и channels.json имеют одинаковые права на запись, поэтому запрет поля в одном лишь
переносил правку в другой — а другой был тем файлом, о котором перед запуском не сообщалось ничего.
Теперь сообщается про оба. Единственное оставшееся ограничение — про происхождение файла, а не
про вас: если перенести его переменной MODEL_ORCH_LOCAL, оттуда принимаются только ручки «насколько
глубоко думать», потому что .claude/settings.json склонированного репозитория умеет задавать
переменные окружения и не умеет задавать вашу домашнюю папку.
Затем, один раз на машине:
python ~/.claude/skills/model-orchestration/doctor.pyОн проверит всё, назовёт человеческим языком, чего не хватает, и напечатает вашу команду запуска с уже подставленным реальным путём.
Если что-то пошло не так
Заголовок раздела «Если что-то пошло не так»Каждый прогон пишет рядом с результатами два файла:
run.log— всё, что происходило, записывается по ходу дела, поэтому переживает падение.diagnostics.json— структурированный отчёт: что установлено, что сделала каждая модель, что упало, и для каждой проблемы — причина человеческим языком и предлагаемое решение.
Оба автоматически очищены от ключей, токенов и персональных данных узнаваемого вида, а домашняя
папка записана как ~ (с 1.113.9) — их можно вставить в чат с ИИ-ассистентом и попросить починить. Перед тем
как приложить их к публичному баг-репорту, взгляните на пути переданных файлов (бриф, --out, вложения):
они сохраняются, потому что нужны для починки.
Это и есть предполагаемый сценарий, когда вы застряли: отдайте diagnostics.json своему
ИИ-ассистенту и попросите разобраться в причине. См. TROUBLESHOOTING.md.
Добавить модель
Заголовок раздела «Добавить модель»Все модели, которые знает инструмент, описаны в одном файле-реестре channels.json: добавление
канала — правка в нём, а не новый код, и собственные добавления живут в локальном файле настроек,
описанном выше, — обновления их не трогают. Что менялось недавно — в CHANGELOG.md;
живой список каналов печатает python routing.py.
(Раньше здесь была секция «Планы». Её главные пункты давно отгружены — OpenRouter стал самой большой группой в таблице выше, каждый прогон сам сообщает свою стоимость, — а секция ещё несколько недель обещала это как будущее. Список планов в README гниёт быстрее всего остального файла, поэтому теперь здесь одна строка: реестр и есть план.)
Чем это не является
Заголовок раздела «Чем это не является»- Не ChatGPT, не Perplexity, не инструмент одной модели. Они дают один ответ одной модели — быстро и полезно, но с одной зоной слепоты, которую вы не видите. Здесь — несколько ответов от моделей, которые не видят друг друга, плюс механический аудит их работы. Расхождение между независимыми рецензентами — это и есть продукт.
- Не база фактов. Инструмент читает живой веб поисковыми инструментами самих моделей. Он может ошибаться — именно поэтому показывает несколько ответов, а не один.
- Не замена эксперту. Он очень хорош в том, чтобы найти, на что эксперту стоит посмотреть.
- Не режим «deep research». Это отдельные, отдельно оплачиваемые продукты у нескольких вендоров, недоступные с обычной подписки. Здесь каждая модель работает на максимальной глубине с инструкцией по дисциплине источников — та же форма, но с несколькими независимыми ответами и аудитом каждой цитаты, чего не даёт ни один deep-research-продукт.
- Не бенчмарк и не eval-стенд. Бенчмарки сравнивают модели на задачах с известными ответами. Здесь модели работают над вашим вопросом, где ответа заранее нет, — и их расхождение говорит то, что бенчмарк сказать никогда не сможет.
- Не автомат. Расхождение читаете и решаете вы. Задача инструмента — чтобы вы решали, имея возражения перед глазами.
Частые вопросы
Заголовок раздела «Частые вопросы»Почему не спросить ChatGPT / Claude / Gemini напрямую?
У одной модели — одна зона слепоты, и ничто в её ответе не скажет, какие части ненадёжны. Панель
независимых моделей — каждая не видит ответов остальных — вытаскивает расхождения, которые одна
модель никогда не покажет. Две модели считают утверждение верным, одна — фатальным: это самый
полезный сигнал, который можно получить.
Чем это отличается от Perplexity или ИИ-поиска?
Perplexity даёт один синтезированный ответ с источниками. Здесь — несколько независимых ответов,
наглядно показано, где они противоречат друг другу, и затем механически проверяется, существуют ли
источники, процитированные каждой моделью, и — где канал это сообщает — были ли они действительно открыты. За расхождение
и за аудит вы и платите.
Можно ли использовать из Cursor / Windsurf / другого инструмента?
Да. Это обычный Python без зависимостей. Любой инструмент с доступом к консоли может его запустить.
Также есть одна-команда установка как плагин Claude Code — см. Установка.
Работает ли с моделями OpenRouter?
Да. OpenRouter — самая большая группа с одного аккаунта: один API-ключ открывает Kimi, Qwen,
Gemini, MiMo, Grok, GLM, DeepSeek, Muse Spark и NVIDIA Nemotron. Начните с него и добавляйте
прямой доступ к вендорам позже для моделей, которым это даёт преимущество.
Это дорого?
Нет. В дешёвой панели по ключу OpenRouter платные только два голоса Muse Spark, если у opencode нет подписки Go (Spark 1.2 при ключе Meta идёт по нему; $0.002 в нашем первом прогоне одного из них, каждый веб-поиск отдельно), и MiMo v2.6 Flash на машине без opencode ($0.0003 за наш первый вопрос в две строки), плюс подписки, которые у вас, скорее всего, уже есть. Если сказать «только CLI», не будет ни одного платного запроса по ключу. Стандартная панель стоит около $2.5 за прогон: с 1.112.0 Kimi K3 всегда отвечает там через OpenRouter. $2.5 — медиана наших прогонов сентября–октября 2026 года, $0.002 — один прогон; точную сумму своего прогона инструмент печатает в конце. См. сколько это стоит.
Нашли баг? Нужна доработка? Хотите сотрудничать?
Заголовок раздела «Нашли баг? Нужна доработка? Хотите сотрудничать?»| Что вы хотите сделать | Куда идти |
|---|---|
| Сообщить о баге | Открыть issue и приложить diagnostics.json — ключи, токены и домашняя папка вычищены по построению; перед публикацией взгляните на пути переданных файлов |
| Попросить функцию или предложить улучшение | Открыть issue |
| Задать вопрос или показать, что вы собрали | Discussions |
| Сообщить об уязвимости | Приватный отчёт об уязвимости — пожалуйста, не через публичный issue. См. SECURITY.md |
| Сотрудничество, консалтинг, коммерческие вопросы | LinkedIn · Facebook · GitHub |
Автор и мейнтейнер — Igor Saevets (@igorsaevets), Los Angeles.
Почтового адреса в репозитории намеренно нет. Публичный адрес в публичном репозитории вычерпывают спам-боты за считанные дни, а адрес в коммитах — это no-reply-релей GitHub, у которого вообще нет почтового сервера: письмо на него не доходит никуда и молча. Канал, который бесшумно проглатывает баг-репорт, хуже отсутствующего — поэтому рабочие каналы те, что в таблице выше.
Лицензия
Заголовок раздела «Лицензия»MIT — см. LICENSE. Можно использовать коммерчески, форкать, встраивать в свой продукт.
Каждое правило, которое здесь проверяется, появилось потому, что что-то однажды сломалось на реальном прогоне. Цифры выше — из настоящих запусков, а не оценки. Детали и даты — в TECHNICAL.md.