Все агентские CLI
OpenCode в NeuroSquad

OpenCode,а вокруг — целый холст

Запускайте столько сессий OpenCode, сколько нужно, — каждую в своей карточке с настоящим терминалом. Небольшой плагин NeuroSquad сообщает, что делает OpenCode, поэтому карточка знает, когда он работает, спрашивает или закончил, а стрелки дают ему браузеры, терминалы, заметки и других агентов.

Официальный сайтopencode.ai
  • Настоящий opencode, ваши собственные провайдеры
  • Ничего не пишется в ~/.config/opencode
  • Бесплатные модели Zen — без ключа
События плагина

Он знает, когда OpenCode закончил — и когда спрашивает

OpenCode рисует экран позиционированием курсора, так что чтение терминала было бы гаданием. Вместо этого каждая карточка загружает плагин NeuroSquad, который пересылает собственные события OpenCode о главной сессии.

session.status: busyсобытие плагина
Работает

Главная сессия переходит в busy. Значок карточки крутится, карточка «Команда» считает агента работающим. Сессии сабагентов ходом не считаются.

permission.askedсобытие плагина
Ждёт вас

OpenCode просит разрешения или задаёт вопрос. Уведомление начинается с него — «bash — rm -rf dist». Запрос, на который --auto ответил за 700 мс, не сообщается вовсе.

session.status: idleсобытие плагина
Закончил

Главная сессия переходит в idle: ход завершён. Уходит следующий промпт из очереди, ответ попадает в журнал, уведомление сообщает, что готово.

В уведомлении — его слова

Разрешение — это инструмент и его команда, путь или URL; вопрос — это сам вопрос.

Один статус везде

Карточка, сайдбар, карточка «Команда», свои карточки и телефон читают один и тот же статус.

Один файл плагина на все карточки

Плагин лежит в папке данных NeuroSquad и подключается по URL из конфига карточки. Ваши собственные плагины продолжают работать.

Посмотрите в работе

Три вещи, которые вы будете делать каждый день

Копии интерфейса приложения, шаг за шагом. Когда OpenCode просит разрешения, отвечаете вы.

OpenCode чинит падающий тест в подключённом терминале, спрашивает перед удалением папки и переходит в idle — журнал заполняется сам.

Всё, что он получает

Всё, что OpenCode умеет в NeuroSquad

OpenCode поддержан на уровне Claude Code: точный статус, стрелки, режим карточек, сессии, которые продолжаются. То, чего он не может, тоже перечислено.

  • 01

    Знает своё состояние

    Плагин NeuroSquad пересылает собственные события OpenCode, поэтому по затихшему терминалу ничего не угадывается.

  • «Закончил» и «ждёт» — разные вещи

    Плагин сообщает session.status busy и idle главной сессии и permission.asked / question.asked. Ответ на запрос возвращает карточку в «работает».

    Документация: «Закончил» и «ждёт» — разные вещи
  • Уведомление говорит, что нужно

    Уведомление начинается с запроса OpenCode — OpenCode needs your permission: bash — rm -rf dist или OpenCode is asking: …. Клик ведёт к карточке.

    Документация: Уведомление говорит, что нужно
  • Сессии, которые продолжаются

    Плагин сообщает id сессии на каждом ходу; следующий запуск открывает её с --session. Если сессию удалили, карточка сама начнёт новую. «Перезапустить сессию» даёт чистую.

    Документация: Сессии, которые продолжаются
  • Карточка «Команда»

    Все ИИ-агенты воркспейса на одной карточке с моделью — из последнего запроса, модели карточки или вашего конфига OpenCode — и живым временем хода.

    Документация: Карточка «Команда»
  • Свои карточки следят за ним

    Карточки на Card SDK видят те же статусы и события ходов и читают его ответы из собственной базы OpenCode.

    Документация: Свои карточки следят за ним
  • 02

    Работает через холст

    Стрелка от карточки — это набор инструментов. Нарисуйте её, и OpenCode увидит их на следующем ходу — без перезапуска.

  • Стрелки — это инструменты, сразу

    Стрелка к браузеру, терминалу, заметке или другому агенту даёт OpenCode neurosquad_browser_*, terminal_*, note_* или agent_*. OpenCode перечитывает список инструментов, так что новая стрелка работает со следующего хода.

    Документация: Стрелки — это инструменты, сразу
  • Сам добавляет карточки

    canvas_spawn_card открывает терминал, браузер, заметку или ещё одного помощника OpenCode — с первым промптом — уже со стрелкой.

    Документация: Сам добавляет карточки
  • Режим карточек, который держится

    Конфиг запрещает bash, webfetch и websearch — это прячет их от модели. --auto одобряет только незапрещённое, так что запрет переживает и опасный режим.

    Документация: Режим карточек, который держится
  • MCP-серверы из реестра

    Установленные вами серверы доходят до OpenCode через второй сервер ns-connected, чьи инструменты стоят на «спрашивать» — OpenCode подтверждает каждый вызов.

    Документация: MCP-серверы из реестра
  • Навыки со skills.sh

    Стрелка к карточке навыка даёт OpenCode neurosquad_skill_load без перезапуска — с каждым навыком и тем, когда его применять.

    Документация: Навыки со skills.sh
  • 03

    Для долгих прогонов

    Контекст, лимиты и продолжения решаются на карточке, а ответы читаются из собственной базы OpenCode.

  • Индикатор контекста и «Сжать»

    Кольцо показывает токены последнего запроса против окна модели из кэша models.dev самого OpenCode. «Сжать» отправляет /compact.

    Документация: Индикатор контекста и «Сжать»
  • Продолжает после лимита

    Короткие 429 OpenCode переживает сам. Настоящий лимит аккаунта или бесплатного тарифа уходит на карточку: она отсчитывает время до сброса и тогда отправляет «continue».

    Документация: Продолжает после лимита
  • Очередь промптов

    Выстройте следующие сообщения: каждое уходит, когда главная сессия перешла в idle — точно, а не на паузе посреди мысли.

    Документация: Очередь промптов
  • Передача свежему агенту

    Когда сессия заполнена, запустите рядом нового агента — OpenCode или любой другой CLI — с уже набранной сводкой; отправляете вы.

    Документация: Передача свежему агенту
  • Журнал

    Каждый законченный ответ, прочитанный из базы OpenCode, добавляется в подключённую заметку — лог, который пишется без просьб к агенту.

    Документация: Журнал
  • 04

    Работает в команде

    Несколько агентов OpenCode — или разные CLI вперемешку — на одном проекте, не мешая друг другу.

  • Изолированные worktree

    Дайте агенту свой git worktree, и параллельные агенты не правят одни файлы. Команда настройки и копируемые файлы готовят его до старта OpenCode.

    Документация: Изолированные worktree
  • Добавить ревьюера

    Один клик запускает агента на другом CLI в том же worktree — со стрелкой от автора и просьбой проверить, ничего не редактируя.

    Документация: Добавить ревьюера
  • Опасный режим, по карточке

    Для прогона, которому вы доверяете, карточка может запустить OpenCode с --auto: запросы разрешений одобряются. По умолчанию выключено.

    Документация: Опасный режим, по карточке
  • Один файл инструкций

    OpenCode сам читает AGENTS.md. NeuroSquad зеркалит его в файлы других CLI и не перезаписывает изменённый файл без диффа.

    Документация: Один файл инструкций
  • С телефона

    Отсканируйте QR-код, и весь холст откроется в браузере телефона: читайте терминал OpenCode, отвечайте на его запрос, отправляйте следующий промпт.

    Документация: С телефона
  • 05

    Модели, расход и контроль

    На какой модели он работает, сколько тратит и сколько ему можно потратить.

  • Бесплатные модели без ключа

    Бесплатные модели OpenCode Zen, например big-pickle, работают в карточке без всякого ключа — удобно, чтобы попробовать команду агентов.

    Документация: Бесплатные модели без ключа
  • Модели OpenRouter

    Карточка может работать на модели OpenRouter через --model openrouter/<slug>. Ключ попадает только в окружение этой карточки — не в аргументы и не в логи.

    Документация: Модели OpenRouter
  • Расход по карточкам

    Читается из собственной базы OpenCode, со стоимостью, которую он записал. Сессии сабагентов сворачиваются в корневую, а каждая сессия принадлежит карточке, чей плагин её сообщил.

    Документация: Расход по карточкам
  • Бюджет-тормоз

    Лимит на воркспейс. При превышении ход прерывается — сессия сохраняется — и автоматические промпты останавливаются. Поднимите лимит — и пауза снята; ваш собственный ввод не ограничен.

    Документация: Бюджет-тормоз
  • Диктовка в промпт

    Зажмите хоткей и говорите. Речь распознаётся на вашем компьютере и печатается в промпт активного агента.

    Документация: Диктовка в промпт
  • 06

    Чем отличается от Claude Code

    Чего не позволяет сам OpenCode и что NeuroSquad с этим делает. Ничего не спрятано.

  • Id сессии не задать заранее

    OpenCode сам создаёт id вида ses_… и не умеет начать сессию с выбранным. Поэтому карточка узнаёт id от плагина на первом ходу; карточка без единого хода стартует с чистого листа.

    Документация: Id сессии не задать заранее
  • Прерывание — Escape, а не Ctrl+C

    Ctrl+C в пустом поле OpenCode закрывает приложение. Поэтому бюджет-тормоз дважды нажимает Escape — ход останавливается, OpenCode остаётся открытым.

    Документация: Прерывание — Escape, а не Ctrl+C
  • Бесплатный Zen может отказать

    Zen иногда отвечает 403 «free tier can only be used from within OpenCode» на бесплатную модель. Это их троттлинг, а не конфиг карточки — помогает смена модели.

    Документация: Бесплатный Zen может отказать
  • OpenCode обновляется сам

    OpenCode сам ставит патч-версии, если вы это не выключили. NeuroSquad оставляет этот выбор вам.

    Документация: OpenCode обновляется сам
  • Стабилен на Windows

    Старая заметка говорила, что OpenCode падает в терминалах Windows. На 1.18.32 час работы — пять карточек, сабагенты, 60 ресайзов подряд, перезапуски — без единого падения.

    Документация: Стабилен на Windows
Одним взглядом

Кто ждёт и сколько это стоило

Две карточки, которые отвечают на самые частые вопросы, когда одновременно работают несколько сессий OpenCode.

Карточка «Команда»

Все агенты воркспейса со статусом, моделью и временем хода. Тот, кто ждёт вас, — первым, с тем, о чём спрашивает. Нажмите на статус, чтобы отфильтровать.

  • coupon-fixOpenCodebig-pickleOpenCode needs your permission: bash — rm -rf distЖдёт вас2:34
  • refundsOpenCodeclaude-sonnet-4.5Перевести возвраты на новый клиентРаботает11:07
  • refund-testsOpenCodebig-pickleНаписать тесты возвратовРаботает5:25
  • docs-passOpenCodeqwen3-coderОбновить READMEЗакончил3 мин. назад

Расход и стоимость

Читается из собственной базы OpenCode на вашем диске и сопоставляется с карточкой по сессиям, которые сообщил её плагин. Строки всегда складываются в итог.

АгентТокеныСтоимость
refunds912 4662,41 $
docs-pass204 3180,19 $
coupon-fix583 9020,00 $
Итого1 700 6862,60 $
Точно до пикодоллара; округляется только на экране.Стоимость — как её записал OpenCode: бесплатные модели Zen показывают $0.00.
Под капотом

Настоящий OpenCode плюс один файл конфига

NeuroSquad запускает тот же OpenCode, что и вы сами, в настоящем терминале в карточке. Вот всё, что он добавляет:

Что NeuroSquad добавляет к команде
❯ opencode
--session <ses_… id>следующие запускисессия, о которой последней сообщил плагин, — открывается снова
OPENCODE_CONFIG=<this card’s config>каждый запускконфиг этой карточки: MCP-серверы NeuroSquad, их разрешения, плагин
OPENCODE_PURE=falseкаждый запускчтобы плагин загрузился, даже если NeuroSquad запущен из `opencode --pure`
permission: bash, webfetch, websearch → denyрежим карточекпишется в тот же конфиг: свой шелл и веб запрещены
--autoопасный режимодобрять запросы разрешений

Ничего не пишется в ~/.config/opencode

Конфиг — отдельный файл карточки в папке данных NeuroSquad, его называет OPENCODE_CONFIG. Ваши глобальный и проектный конфиги продолжают действовать.

Секрета в файле нет

Токен MCP записан как {env:NEUROSQUAD_MCP_TOKEN}; OpenCode подставляет его из окружения карточки.

Найдётся там, куда вы его поставили

Сначала настоящий opencode.exe; за npm-шимом opencode.cmd запускается тот exe, который он оборачивает, — остановка карточки останавливает OpenCode.

Вопросы

OpenCode в NeuroSquad: ответы

Дайте OpenCode холст

Бесплатно для Windows 10 и 11. Ваш код, ваши провайдеры и ваши расходы остаются на вашем компьютере.