Управляйте всем флотомиз кода.
cmdop SDK — программный фундамент, на котором построены CLI и боты. Одно Go-ядро владеет сложной логикой; тонкие типизированные клиенты для Python и Node просто вызывают его. Стримьте AI-агента машины, управляйте флотами, открывайте туннели, планируйте задачи — всё из вашей собственной программы.
sdk.diagram.title
sdk.diagram.body

Одна установка. И больше ничего.
Все пять платформенных бинарников поставляются внутри одного fat wheel и одного npm-пакета — без установки агента cmdop, без нотаризации, без загрузок под каждую платформу. Резолвер времени выполнения выбирает нужный бинарник хоста при запуске.
Python — PyPI
Node — npm
cmdop 1.0.0 на PyPI · @cmdop/sdk 1.0.0 на npm
Стримьте агента машины,как типизированный async-итератор.
Главная операция открывает SSE-стрим к AI-агенту машины через relay, представленный как чистый async-итератор типизированных кадров — event, done, error, confirm_required, pin_required, pin_denied — с побочными каналами pin и confirm прямо посреди стрима.
Одно ядро. Любой язык.
Одно Go-ядро, тонкие типизированные клиенты
Аутентификация, SSE-стрим relay, повторы и маппинг ошибок написаны один раз на Go и переиспользуются каждым клиентом. Новый язык — это тонкая прослойка примерно в 400 строк плюс сгенерированная типизированная поверхность, а не полный порт.
Встроенные бинарники — без дополнительной установки
Все пять платформенных бинарников едут внутри одного fat wheel и одного npm-пакета. Конечным пользователям достаточно pip install или npm i — без агента cmdop, без optionalDependencies, без нотаризации Gatekeeper.
Двухплоскостной клиент
Машины, флоты, туннели, расписания и ключи идут в relay с вашим CMDOP_TOKEN. Скиллы и боты идут на платформу с вашим UserAPIKey. Один клиент, два credential — так задумано.
SSE-стриминг machines.ask()
Стримьте AI-агента машины как типизированный async-итератор, с побочными каналами pin и confirm посреди стрима. Та же модель взаимодействия, что и в приложении, теперь скриптуемая.
Боты встроены
Боты для Telegram, Discord и Slack теперь размещены целиком внутри ядра SDK. Запустите бота через client.bots.run(...), и Go-бинарник крутит цикл канала, вызывая machines.ask() на каждое сообщение. SDK поглотил ботов.
Типизированные пространства имённад всем вашим флотом.
Каждая операция relay отражена в обоих клиентах и защищена кросс-языковой проверкой паритета — метод, который есть в одном языке, но отсутствует в другом, валит CI.
machineslist · get · info · spend · ask · messages · active_sessionfleetscrud · members · attach · detachtunnelsopen · close · list · get · sessionsschedulescrud · trigger · runskeyslist · issue · revokeskillslist · install · publishbotsrun · management (Telegram · Discord · Slack)Читайте документацию.Запускайте за минуты.
Полный справочник по каждому пространству имён, модели стриминга и обработке ошибок.
Стройте на фундаменте.
Программное ядро, на котором построен каждый другой продукт cmdop. Установите, импортируйте, запускайте.