Ваш GPU простаивает большую часть суток. Направьте его на шлюз.
Запустите Edge-агент с открытым кодом на машине, где есть свободный GPU. Ваша машина сама подключается к EveryAPI и отвечает на запросы маркетплейса через Ollama, запущенный тут же, — не нужно открывать порт, не нужен публичный адрес, не нужен домен, не нужно трогать файрвол. Одобренные продавцы добавляют узел в дашборде и получают одноразовый код установки.
Туннель идёт наружу, и в этом весь смысл.
У домашних и офисных машин почти никогда нет публичного адреса, и просить вас его заводить нам не хотелось. Вместо этого ваша машина сама открывает соединение к нам и держит его открытым — так же, как остаётся на связи приложение для чата.
- 01ПокупательПрисылает обычный запрос — в том формате, на котором и так говорят его инструменты.
- 02ШлюзПриводит запрос в порядок и выбирает узел, на котором есть та модель, которую попросили.
- 03Ваш агентЗабирает работу по тому соединению, которое открыл сам, и проверяет, что это один из немногих видов запросов, которые ему разрешено передавать дальше.
- 04Локальный OllamaРаботает на вашем GPU. Ответ возвращается тем же путём, каким пришёл.
Стрелка, которая указывает на вашу машину, — это соединение, которое ваша машина открыла сама. Мы не можем залезть в вашу сеть: узлу нужно только уметь достучаться до api.everyapi.ai, так же как до любого сайта.
Ваш GPU отправляет слова сразу, как только они готовы, поэтому покупатель видит, как ответ появляется, а не ждёт его целиком. Если соединение оборвётся на полпути, такой запрос считается неудачным — и не оплачивается так, будто он дошёл до конца.
Следующие сообщения того же разговора возвращаются на тот же узел — так быстрее, потому что у вашей машины уже загружено то, о чём говорили раньше. Когда узлы подключаются или уходят, это касается только тех разговоров, которые шли на них.
К одному каналу можно привязать сколько угодно машин. Канал предлагает всё, что есть на ваших машинах вместе взятых, поэтому ставить на все одни и те же модели не нужно.
Ваш узел регулярно даёт о себе знать. Если он перестал — выключили свет, перезагрузка, пропала связь, — мы это замечаем, помечаем его как офлайн и перестаём давать ему работу, пока он не вернётся. Никому ничего делать не нужно.
Одна команда на машине с GPU.
Добавьте узел в дашборде, чтобы получить одноразовый код установки, а потом запустите установщик на самой машине. Он разберётся, какое у вас оборудование, настроит всё под него и запустит узел.
Создайте узел
Одобренные продавцы добавляют пограничный узел в дашборде и получают код установки — он показывается один раз. У нас хранится только перемешанный вариант этого кода, и даже его мы удаляем, как только ваша машина подключится.
Запустите установщик
Он смотрит, сколько памяти у вашего GPU и сколько свободно на диске, выбирает модель, которая помещается с запасом, скачивает её и действительно прогоняет через неё пробный вопрос — и только потом говорит, что всё получилось. Хотите выбрать модель сами — добавьте --model.
Проследите за выходом в сеть
Ваша машина сама создаёт приватный ключ, подтверждает, что это именно она, и сообщает нам, какие у неё есть модели. Ваш канал в маркетплейсе остаётся выключенным, пока не подключится машина хотя бы с одной моделью, которую можно продавать.
# Значения выдаются в дашборде при создании узлаcurl -fsSL https://dl.everyapi.ai/edge/install.sh | bash -s -- \ --node-id 42 --token edgert_... # Выберите модель сами, не полагаясь на автовыборcurl -fsSL https://dl.everyapi.ai/edge/install.sh | bash -s -- \ --node-id 42 --token edgert_... --model qwen2.5:7bУстановщик делает несколько вещей, чтобы первая попытка не оставила вас в тупике: он не запускается внутри папки, где вы держите код, — так что код установки не окажется там, откуда вы можете случайно им поделиться; он сохраняет этот код до тех пор, пока мы действительно не подтвердим подключение, поэтому после неудачной первой попытки можно попробовать ещё раз, а не остаться с мёртвым узлом; и если позже запустить его снова, ничего не сломается.
Три пути для GPU определяются автоматически
Установщик сам разбирается, что у вас стоит — сначала NVIDIA, потом AMD, потом Apple Silicon, потом CPU, — и настраивается под это. Если чего-то не хватает, он говорит об этом и останавливается; он никогда не ставит ничего на вашу машину, не спросив.
Самый частый вариант, он же по умолчанию. Сначала нужно поставить достаточно свежий драйвер видеокарты и NVIDIA Container Toolkit.
Работает с картами AMD, если вы заранее поставили на машину ROCm от AMD.
Mac не умеет отдавать графический чип в Docker, поэтому на Mac модель работает прямо на машине, а в контейнере запускается только агент.
Всё запустится и будет отвечать на процессоре, а не на видеокарте. Попробовать так вполне можно, и для одного вида работы это действительно полезно (превращать текст в числа, по которым удобно искать), но для чата это слишком медленно — продавать его на таком не имеет смысла.
Нужен установленный Docker и свежая версия Docker Compose — установщик и CLI только проверяют, есть ли они, и дают ссылку, если чего-то не хватает; сами они ничего не ставят. Edge-агент работает на Linux и macOS.
После установки всё, что нужно, — одна команда
Всё, что нужно работающему узлу, умещается в одну команду, и в дашборде видно то же самое. Каждый узел занимает на машине своё отдельное место, так что можно запустить несколько сразу.
everyapi edge statusПоказывает, что происходит на вашей машине, рядом с тем, что видим мы, — онлайн или офлайн, когда она последний раз выходила на связь и какие модели установлены.
everyapi edge modelsДобавить, убрать и посмотреть список моделей на узле. Работает и без открытого терминала, так что это можно запускать из скрипта.
everyapi edge pauseНовая работа перестаёт приходить, и так остаётся даже после перезапусков — ничто не вернёт узел в работу незаметно для вас. Если машин несколько, пауза на одной не мешает остальным работать.
everyapi edge logs -fСмотрите в реальном времени, чем занят ваш узел. Если терминал открывать не хочется, дашборд показывает то же самое по каждому узлу.
everyapi edge updateЗабирает свежую версию и перезапускается. Само по себе ничего не обновляется — программа на вашей машине меняется, только когда вы запустите эту команду.
everyapi edge removeОстанавливает всё, убирает файлы, которые сам создал, и удаляет узел — если только вы не решите оставить его в списке. Прежде чем сделать что-то из этого, он спрашивает.
Поэтому скажем прямо: что он может и чего не может.
Это не обещания, которые мы просим принять на веру, — каждый пункт просто описывает, как устроена сама программа, а код вы можете прочитать сами.
При первом запуске агент создаёт закрытый ключ и запирает его так, что прочитать его можете только вы. Если этот файл вдруг станет доступен для чтения кому-то ещё, агент откажется запускаться, а не продолжит работу как ни в чём не бывало. Нам видна только открытая половина ключа.
Агент пересылает только те несколько видов запросов, которые нужны модели, чтобы ответить, и это ограничение зашито в самом агенте, а не задаётся нашими настройками. Даже если бы нашу сторону взломали, заставить вашу машину делать что-то другое не вышло бы.
В агенте для этого просто нет места — в записи, которую он ведёт, нет полей ни для вопроса, ни для ответа. Он отмечает, какая модель работала, сколько времени это заняло, сколько всего обработано, и ничего не значащую метку покупателя. Ни вопросов, ни ответов, ни ключей, ни email.
Он показывается один раз, у нас хранится только перемешанный вариант, и даже его мы стираем после того, как ваша машина подключится в первый раз, — так что использовать код повторно не сможет никто. Дальше ваша машина каждый раз подтверждает, что это она, своим собственным ключом.
Новые версии приходят, только когда вы сами их попросите. А если удалить узел в дашборде, агенту приходит сигнал остановиться насовсем — он завершает работу и объясняет почему, а не пытается подключиться снова и снова.
Деньги начисляются только после того, как запрос действительно оплачен, и каждый запрос считается один раз. Если в этот момент ваша машина была офлайн, при следующем подключении она заберёт пропущенное. Заработок идёт на ваш баланс продавца, а перевести его на основной баланс — отдельное действие.
Исходный код агента открыт по лицензии Apache 2.0, и весь он выложен на github.com/everyapi-ai/everyapi-edge — включая всё, о чём сказано выше.
Вопросы, которые стоит задать заранее
По любым другим вопросам пишите на support@everyapi.ai — отвечает живой человек.
Нет. Пограничные узлы — часть маркетплейса, а доступ продавца выдаётся по заявке. Сначала вы подаёте заявку, а мы её рассматриваем — смотрим, например, давно ли у вас аккаунт и как вы им пользовались; эти условия оператор может менять. Только после этого можно добавить узел.
Свободные мощности GPU, направленные туда, где от них есть польза.
Подайте заявку на доступ продавца, зарегистрируйте узел и выполните на машине одну команду. Доступ продавца выдаётся после рассмотрения заявки.