Хребет флота

Relay,встроенный в бинарник

cmdop server — это relay, к которому подключается ваш флот, и он поставляется внутри того же подписанного бинарника, что и агент, и веб-интерфейс. Запустите `cmdop server`, направьте на него свои машины: агенты дозваниваются наружу (никаких входящих портов, дружелюбно к NAT), клиенты дотягиваются до них по HTTP и WebSocket.

Архитектура

Один бинарник — это хребет

Нет кластера, который нужно поднимать. Relay, веб-консоль и агент — один подписанный бинарник: запустите его, и вся плоскость поднимается целиком. Агенты говорят на gRPC; клиенты — на HTTP и WebSocket; всё ограничено флотом и проходит аудит.

HTTP
:63141

Поверхность для клиентов — аутентификация, presence, чтение машин и флотов, плюс встроенная веб-консоль, всё обслуживается одним бинарником.

gRPC
:63142

Транспорт агентов. Машины дозваниваются наружу и держат двунаправленный стрим — здесь текут терминал, выполнение и файловые операции, даже на loopback.

WebSocket
live push

Push-канал поверх HTTP. Стримит живой вывод, presence и события подключённым клиентам — десктопу и любому браузеру.

tunnels
outbound

Дотянитесь до сервиса за машиной, не открывая порт в интернет — машина дозванивается наружу, а relay маршрутизирует ответ обратно.

scheduler
in-process

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

orchestrator
goroutine

Координатор флота (Jarvis) работает как in-process goroutine, который присоединяется к relay как виртуальная машина и координирует флот.

Контракт gRPC живёт в proto/agentv1 (cmdop.agent.v1) и является единственным источником истины — стабы Go-агента генерируются из него.

Консоль оператора

Посмотрите на relayизнутри

Каждый скриншот ниже — это настоящая админ-консоль cmdop server, поверхность оператора, которую вы получаете, когда хостите relay у себя.

Одна консоль на всю плоскость

Состояние системы, машины, активные сессии, LLM-spend и ошибки — весь relay одним взглядом, обслуживаемый самим бинарником.

cmdop server overview — system health (six processes), machines, sessions, LLM spend, errors and recent activity
cmdop server overview — system health (six processes), machines, sessions, LLM spend, errors and recent activity

Ваш флот в виде таблицы

Каждая подключённая машина с presence, ОС и временем последней активности — включая Jarvis как всегда включённого серверного агента.

cmdop server machines — the fleet as a table with Jarvis as an always-on server agent, presence and OS
cmdop server machines — the fleet as a table with Jarvis as an always-on server agent, presence and OS

Живые метрики gRPC

Активные стримы, итоги RPC, перцентили задержки и доли success/error — стримятся живьём по WebSocket.

cmdop server gRPC monitoring — live streams, RPC totals, latency percentiles and success/error charts
cmdop server gRPC monitoring — live streams, RPC totals, latency percentiles and success/error charts

Шлюз LLM

OpenAI-совместимый шлюз /v1: провайдеры, ключи, модели и spend по каждому флоту — всё управляется в одном месте.

cmdop server model routing — the OpenAI-compatible LLM gateway: providers, keys, models and per-fleet spend
cmdop server model routing — the OpenAI-compatible LLM gateway: providers, keys, models and per-fleet spend

Серверный агент флота

Jarvis присоединяется к relay как виртуальная машина и координирует флот — попросите его выполнить команды или проверить логи на каждой машине.

cmdop server Jarvis — the server-side fleet coordinator agent that joins the relay as a virtual machine
cmdop server Jarvis — the server-side fleet coordinator agent that joins the relay as a virtual machine

Выдавайте и отзывайте доступ

Создавайте токены relay CLI, с которыми подключаются машины, и отзывайте их в тот момент, когда машина должна отключиться от сети.

cmdop server agent tokens — issue and revoke the relay CLI tokens machines connect with
cmdop server agent tokens — issue and revoke the relay CLI tokens machines connect with
Связность

Агенты дозваниваются наружу.Никаких входящих портов.

Каждая машина открывает исходящий gRPC-стрим к relay и остаётся доступной через него — нет порта для прослушивания, который нужно выставлять, нет дыры в файрволе, нет NAT-traversal для присмотра. Relay маршрутизирует сообщения между агентами и клиентами; машины никогда не принимают входящие соединения.

Мультитенантность

Изоляциядля каждого клиента

Каждый аккаунт получает собственный relay-домен, выделенный именно вашему флоту — терминация TLS и маршрутизация, которые не разделяются ни с одним другим клиентом. Presence, аудит и история остаются внутри вашего флота; ничего не маршрутизируется через границы тенантов.

Jarvis

Координатор,живущий в relay

Jarvis — это серверный AI-агент, который присоединяется к relay как виртуальный пир-машина. Ограниченный флотом и всегда включённый, он может дотянуться до других агентов — спросить одного, разослать многим — и координировать работу по всему флоту, без чего-либо запущенного на вашей собственной машине.

LLM-шлюз

OpenAI-совместимыйшлюз на /v1

Relay выставляет инференс на /v1 — chat completions, эмбеддинги и модели — говоря в формате OpenAI. Сервер держит ключи провайдеров и маршрутизирует по флотам со spend и квотами, так что агенты получают один эндпоинт с bearer-аутентификацией вместо кучи вендорских credential.

Loading code...
Запустите relay

Запустите relay сами

Relay — это не отдельный сервис, который нужно разворачивать: это тот же подписанный бинарник, который вы устанавливаете везде. Установите cmdop, запустите `cmdop server` и направьте на него свои машины. Одна команда поднимает relay, веб-консоль и координатор вместе.

Loading code...

Ни кластера, ни compose-файла: `cmdop server` — это один процесс, который обслуживает HTTP (:63141) и gRPC (:63142) и запускает координатор как in-process goroutine. Поставьте перед ним свой обратный прокси, когда вам нужны TLS и стабильный адрес.

Запустите хребет флотасамостоятельно

Поднимите relay, направьте на него своих агентов и владейте всей плоскостью от края до края.