Skip to main content
Glama
fshbet

sentinel-orchestrator

by fshbet

Универсальная платформа оркестрации ИИ

Домен-агностический, MCP-first движок оркестрации.

Опишите цель, а не рабочий процесс. Дайте ему задачу, и он решает, что это за работа, как её декомпозировать, какие возможности нужны, что можно выполнять параллельно, как проверяются результаты, что делать при сбое и была ли цель фактически достигнута.

Он не содержит предположений о вашем домене. Никаких встроенных ролей агентов, встроенных доменных рабочих процессов, жёстко заданного провайдера или жёстко заданных инструментов.

pip install -e ".[all]"
orchestrator init .
orchestrator run "Accomplish this objective."

В чём отличие

Модель предлагает; программное обеспечение распоряжается. Состояние, планирование, разрешения, повторные попытки, сохранение, проверка и ограничения ресурсов — это детерминированный код. Модель используется для рассуждений, планирования, выполнения работы и оценки субъективных результатов — и ни для чего другого.

Именно это разделение позволяет платформе давать жёсткие обещания вместо вероятностных:

  • Неудачная обязательная проверка не может привести к COMPLETED.

  • Отменённое выполнение не может молча продолжаться.

  • Агент не может вызывать или даже видеть инструмент, который ему не был предоставлен.

  • Каждый цикл — повторные попытки, перепланирования, раунды уточнения, итерации агента — имеет принудительный предел.

  • Обнаруженный MCP-инструмент не доверен; аннотации сервера могут только повышать его оценённый риск, но никогда не понижать.

«Готово» означает что-то. Завершение требует доказательств. Там, где нет детерминированной проверки, платформа сообщает UNCERTAIN, а не притворяется. Модель может достичь LIKELY; она никогда не может подтвердить CONFIRMED.

Ядро имеет нулевую зависимость. Всё остальное — CLI, REST API, HTTP-провайдеры моделей, YAML — подключается по желанию. MCP через stdio работает в чистой установке, потому что клиент протокола реализован нативно.


Related MCP server: agentloop

Позиция безопасности

Эта платформа запускает инструменты с аргументами, которые выбрала модель. Этот единственный факт определяет дизайн безопасности, и контроли применяются в коде, а не запрашиваются у модели.

Объявите профиль развёртывания. Если он опущен, подразумевается production.

profile: production   # development | internal-pilot | production

разработка

внутренний пилот

production

Политика по умолчанию

разрешено

запрещено

запрещено

Явное предоставление инструментов

нет

да

да

Аутентификация API

не требуется

требуется

требуется

Обычный HTTP-трафик наружу

разрешено

отказано

отказано

Частные сети

разрешено

разрешено

отказано

Облачные метаданные

отказано

отказано

отказано

Инструменты процессов

если настроено

отказано

отказано

Прочитайте перед развёртыванием:

  • SECURITY.md — модель угроз, что защищено, а что нет

  • docs/security.md — каждый контроль, с его тестом

  • docs/production-readiness.md — контрольный список из 108 пунктов, каждый отмечен как выполненный / невыполненный / ответственность оператора

  • deployment/runbook.md — три формы развёртывания

  • docs/configuration.md — все настройки

Объём заявления

Поддерживает контролируемое производственное развёртывание за TLS/auth прокси: либо однозначное на SQLite, либо многозначное на PostgreSQL (storage.backend: postgres).

Явно не поддерживается: многозначное на SQLite, принудительная изоляция контейнера/песочницы/удалённая, внутрипроцессная проверка OIDC JWT или любая прокси-переданная идентичность (bearer-токены — единственный механизм идентичности), выполнение процессов без внешней границы изоляции и любая гарантия корректности вывода ИИ.

Проверено на двух репликах в поставляемом стеке Compose: общее состояние PostgreSQL, распределённый отзыв токенов, распределённое ограничение скорости, принудительный исходящий трафик через прокси и TLS-граница, которая удаляет заголовки идентичности, предоставленные клиентом. Платформа предоставляет проверку на основе доказательств, отчётность о уверенности, состязательного рецензента, шлюзы одобрения человеком и детерминированный регрессионный каркас — ни одно из этих средств не делает вывод модели корректным; они делают основу для доверия к нему проверяемой.

python -m pytest tests/ -q        # 699 with PostgreSQL
orchestrator validate             # effective posture and migration notices
orchestrator evaluate             # 31 deterministic regression cases
orchestrator migrate              # schema status

Запуск от начала до конца

objective
   → goal analysis        structured requirements, provenance-tagged
   → pattern selection    deterministic complexity scoring
   → planning             validated task DAG (or a deterministic fallback)
   → scheduling           dependency-aware, parallel, resource-locked
   → per task             capability-routed agent, least-privilege scope,
                          bounded loop, independent validation gate
   → recovery             classify → strategy ladder → retry/swap/re-plan/ask
   → objective gate       success criteria, checked
   → review               structural precondition on completion
   → COMPLETED

Любая фаза может остановиться и ждать человека, приостановиться или отмениться — и возобновиться из сохранённого состояния после этого, в том числе после смерти процесса.

orchestrator inspect <id>    # the task graph, validations, failures
orchestrator audit <id>      # every decision, in order

Паттерны оркестрации

Компонуемые фрагменты графа, а не режимы. Параллельный веер, чей шаг слияния — это цикл оценщик-оптимизатор, — просто граф.

single agent · sequential · parallel · router · orchestrator-worker · evaluator-optimizer · hierarchical · handoff · dynamic DAG

Маршрутизатор материализует каждую ветвь и обрезает те, которые не выбрал. Задача может передать оставшуюся работу другому специалисту, с ограничением, чтобы коллеги не могли передавать её по кругу. И задача может быть целым оркестрированным запуском сама по себе, с бюджетом, выделенным из бюджета родителя, а не добавленным к нему.

Платформа выбирает один из структуры цели. Тривиальная цель получает одного агента и одну проверку — а не десять агентов и четырёх рецензентов. Переопределите с помощью --pattern, когда захотите.


Возможности, а не роли

Ничто не маршрутизируется по имени. Задача объявляет, что она требует; агент рекламирует, что он предоставляет; выбор — это детерминированная оценка, которая предпочитает наименьшее избыточное привилегирование. Когда ничто не покрывает требование, создаётся ограниченный эфемерный специалист — а когда недостаток нереален, выбор громко проваливается.

Ядро не поставляет никаких возможностей, агентов или навыков. Они поступают из конфигурации, плагинов или планировщика. Именно это сохраняет его доменно-нейтральным.

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


MCP

Первоклассный в обоих направлениях, реализован нативно поверх JSON-RPC 2.0 без зависимости от SDK. Версии протокола согласовываются, а не предполагаются.

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

orchestrator mcp    # health, negotiated version, registered tools, refusals

Как сервер: orchestrator mcp-serve предоставляет оркестрацию другим агентным системам. Операции управления остаются за --allow-control.


Документация

docs/how-it-works.html

Руководство простым языком. Начните здесь, если не собираетесь читать код

ARCHITECTURE.md

Дизайн, инварианты, карта подсистем

ORCHESTRATION_GUIDE.md

Как на самом деле им управлять

MCP_GUIDE.md

MCP в обоих направлениях

EXTENDING.md

Каждая точка расширения

docs/production-readiness.md

Что доказано, что нет, и как проверялось каждое утверждение

docs/security.md

Контроли и что каждый из них не покрывает

deployment/runbook.md

Запуск: три поддерживаемые формы

docs/

29 тематических руководств

docs/adr/

12 записей архитектурных решений

docs/research/ORCHESTRATION_RESEARCH.md

Что было оценено и отклонено


Статус

701 тест. 699 проходят, когда доступен экземпляр PostgreSQL; без него 659 проходят, а 42 теста на PostgreSQL пропускаются. Каждая подсистема проверяется на реальных хранилищах, реальном подпроцессе MCP-сервера и намеренном внедрении сбоев. Многозначные контроли — общий отзыв токенов, общее ограничение скорости, принудительный исходящий трафик и TLS-граница — проверяются на работающем производственном стеке Compose с помощью deployment/smoke-test.sh, а не только в модульных тестах.

Известные ограничения честно записаны в docs/production-readiness.md и docs/research/ORCHESTRATION_RESEARCH.md, а не оставлены для обнаружения.

Apache-2.0.

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Control plane for autonomous software labor. Agents claim objectives over MCP with audit trail.

  • MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.

  • Personal assistant MCP server with search, execute, packages, jobs, secrets, and integrations.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/fshbet/sentinel-orchestrator'

If you have feedback or need assistance with the MCP directory API, please join our Discord server