quvyta-code
qcode
Агенты для кода внутри контейнеров, прямо из терминала. Настройте профиль один раз, войдите в учётную запись — и дальше открывайте этого агента в любом своём рабочем пространстве за несколько секунд, переходя между агентами и оболочками как между вкладками.
curl -fsSL https://raw.githubusercontent.com/quvyta/quvyta/main/install.sh | sh -s -- codeБета. qcode работает в Linux и с Podman, и с Docker. Интерфейс, записываемые файлы и имена образов и контейнеров ещё могут меняться от версии к версии.
Агенты, которых он запускает
Приносите того агента, за которого уже платите.
| Агент | Вход через |
|---|---|
| Claude Code | подписку, ключ API или собственного провайдера |
| opencode | без учётной записи, подписку, ключ API или собственного провайдера |
| Gemini CLI | ключ API |
| Codex CLI | подписку или ключ API |
| Antigravity IDE | его собственный вход через Google — в окне внутри его контейнера |
Каждый агент устанавливается из того, что публикуют его разработчики, при сборке образа профиля; qcode не поставляет и не изменяет ни одного из них. Агенты командной строки могут продолжить беседу из списка новых вкладок qcode. Antigravity IDE — настольное приложение: его окно открывается из собственного контейнера, а его вкладка показывает состояние окна. Страница входа открывается в маленьком окне внутри этого контейнера, поэтому ответ Google возвращается и вход завершается; вход в Google выполняется один раз для каждого профиля.
Подход
Работу отделяет именно контейнер.
- По контейнеру на агента
Каждый агент работает в контейнере, собранном из сделанного для него образа. Он видит папку рабочего пространства и, если вы разрешите, его папку материалов и сеть.
- Свобода работать
Поскольку работу от вашей машины отделяет контейнер, агент настроен работать, не останавливаясь ради разрешения на каждый шаг.
- Один вход, по копии на рабочее пространство
Профиль входит один раз, обычным для агента способом. Каждое рабочее пространство получает свою копию входа, поэтому история, память и настройки никогда не перетекают из одного в другое.
- Останавливается, когда вы закончили
Когда закрывается последний qcode, запущенные им контейнеры останавливаются. Необязательная фоновая служба делает то же самое после сбоя. Контейнеры, запущенные вами, не трогаются никогда.
- Podman или Docker
Подойдёт любой из движков. qcode находит его и сообщает, если он отсутствует или не запущен. Если на машине нет ни одного, мастер первого запуска предложит установить один: он покажет команду для вашей системы, и вы либо выполните её сами, либо qcode выполнит ту же команду в терминале внутри мастера у вас на глазах. qcode никогда не повышает свои права. Если движок отказывает по известной qcode причине — например, не запущена служба или учётная запись отсутствует в группе docker, — вы читаете простую фразу и строку, которая это исправляет, а под ними — слова самого движка.
- Меняйте движки, сохраняя своё
Переключайтесь между Podman и Docker в настройках или позвольте qcode заметить, что сохранённый движок больше не отвечает, а другой работает: страница перечисляет профили, образов которых нет у нового движка, с «Собрать» для каждого, и предлагает скопировать домашнюю папку каждого профиля, где живут его настройки и входы. Из старого движка ничего не удаляется, поэтому можно вернуться назад. Вкладка с отсутствующим образом сообщает об этом и предлагает «Собрать сейчас», показывает сборку и открывается, когда она завершится.
- Система под агентом
Образ профиля собирается на Debian — системе по умолчанию и рекомендуемой, — либо на Arch Linux, Ubuntu 24.04 LTS или Alpine, и мастер показывает размер каждой. Alpine — самая маленькая и помечена как нерекомендуемая: она основана на musl, а не на glibc, поэтому Gemini CLI на ней не работает. Antigravity IDE собирается только на Debian. Если в системе нет какого-то инструмента, мастер сообщает об этом; файлы, открываемые из дерева, по-прежнему открываются в собственном контейнере Debian рабочего пространства, так что здесь ничего не меняется.
- Ничего лишнего на вашей машине
Адрес git клонируется внутри контейнера, а файлы открываются в небольшом базовом контейнере рабочего пространства, так что ни git, ни редактор устанавливать не нужно.
- Вкладки, которые дают друг другу работу
Агент на одной вкладке видит другие вкладки своего рабочего пространства и может дать одной из них задание. Сообщение вводится в строку запроса этого агента, как только там никто не печатает и агент закончил писать, с указанием вкладки-отправителя; это проверялось в работе с Claude Code и opencode. Antigravity IDE может давать задания вкладкам, но не может получать их, потому что в его окне нет строки запроса. Сообщения ходят от вкладки к вкладке, не спрашивая вас; «Спрашивать перед первым сообщением» в разделе «Сообщения между вкладками» в настройках возвращает вопрос. Что бы вы ни выбрали, вкладка без сети никогда не отправляет вкладке с сетью, а обмен между вкладками заканчивается, поэтому два агента не могут отвечать друг другу вечно; когда он завершается, обе вкладки сообщают об этом.
- Собственный провайдер
На странице провайдеров вы добавляете сервисы моделей, которые у вас уже есть: сервер ollama в вашей сети или OpenRouter, — проверяете соединение и смотрите, какие модели предлагает каждый. После этого профиль Claude Code или opencode может работать через один из них. Ключ никогда не попадает в контейнер: вкладка общается с провайдером через ретранслятор, который qcode запускает на вашей машине, поэтому даже контейнер без сети может пользоваться сервером моделей в вашей сети. Ключ хранится в файле, который можете прочитать только вы, и страница говорит, где он.
- Сколько места сервер даёт на самом деле
Карточка модели может обещать больше места, чем сервер принимает на деле, а сервер, который молча отбрасывает начало длинного запроса, делает агента забывчивым без видимой причины. qcode измеряет, сколько сервер принимает на самом деле, показывает это рядом с заявленным моделью и сообщает агенту измеренный размер.
- QCode basic и QCode high
Две готовые настройки профиля. Рекомендуемая QCode basic настраивает агента так, как его запускает qcode, и новая вкладка открывается сразу в строке ввода. QCode high добавляет graphify — карту вашего кода, к которой агент обращается, прежде чем читать файлы, — отобранные плагины для Claude Code, oh-my-openagent для opencode и короткий раздел в файле инструкций каждого агента о том, как связаться с другими вкладками; остальной файл остаётся как был. Любую часть можно отключить, а мастер говорит, что будет скачано.
- Что он отправляет и когда
qcode не ведёт статистику и ничего не отправляет о вас или вашей работе. Он задаёт один вопрос по своей инициативе: при запуске, не чаще раза в день, спрашивает у crates.io о новейшей опубликованной версии qcode и сообщает, если ваша устарела. Запрос содержит имя пакета и версию вашего qcode, ничего о вас или вашем компьютере. Это включено по умолчанию, а «Сообщать о новых версиях» в настройках отключает это сразу для всех приложений Quvyta; пока это выключено, ничего не запрашивается. В остальном qcode обращается к сети сам только после того, как вы добавите провайдера, и только к нему: когда вы нажимаете кнопку на странице «Провайдеры» или пока открыта вкладка, работающая на нём. Измерение окна отправляет несколько запросов, за которые платный провайдер берёт оплату. Агенты общаются со своими разработчиками, как всегда, а сборка образа загружает то, из чего образ состоит.
- Девять языков
Каждое слово на экране берётся из языкового файла, на тех же девяти языках, что и этот сайт. qcode спрашивает ваш язык на первом экране, а сменить его можно в настройках.
Экраны
Каждый экран — и с клавиатуры, и мышью.
Установка
Установщик Quvyta собирает qcode из crates.io через cargo. Перед каждым шагом он спрашивает подтверждения и ставит Rust через rustup, если его нет. sudo используется только для установки недостающего C-линкера и только если вы ответите «да» в терминале.
Программа ставится как qcode и заодно как quvyta-code. Про Windows и про все остальные пути смотрите Установка.
Linux и macOS
curl -fsSL https://raw.githubusercontent.com/quvyta/quvyta/main/install.sh | sh -s -- codeИли через cargo
cargo install quvyta-codeЧто нужно
- Движок контейнеров
Podman (без прав root, без фоновой службы) или Docker с запущенной службой. Если не установлен ни один, мастер первого запуска предлагает установить движок.
- Учётная запись или свой сервер моделей
Подписка или ключ API от создателей агента, а для Claude Code и opencode — добавленный вами провайдер. opencode работает и без учётной записи, на своих бесплатных моделях.
- Место на диске и сеть
Для первых образов: база Debian с Node.js, а поверх — агент каждого профиля. Профиль можно собрать и на Arch Linux, Ubuntu или Alpine, и мастер показывает размер каждого варианта.
- Linux
qcode разрабатывается и проверяется в Linux. macOS и Windows предусмотрены в коде, но ещё не опробованы.