Лимиты
Все лимиты, которые Sallyport применяет к вашим вызовам: значение, где его изменить и что происходит за чертой.
На этой странице
Лимит есть только там, где без него пострадают память, деньги или чужой сервис. Выход за тариф не останавливает ни одного вызова.
Вызовы
| Лимит | Значение | За чертой |
|---|---|---|
| Вызовы по тарифу | 10 000 в месяц на Solo, 100 000 на Pro, 1 000 000 на Team, без потолка на Agency | Вызовы продолжают работать. Консоль показывает уведомление, а MCP-результат вызова, который прошёл сразу, несёт PLAN_LIMIT. Ответы на /p/ его не несут. |
| Агенты по тарифу | 1 на Solo, до 5 на Pro, до 25 на Team, без ограничения на Agency | Новый агент отклоняется с PLAN_LIMIT. Удалите агента или перейдите на тариф побольше. |
| Действующий тариф | Он нужен каждой организации. Новая организация начинает с пробных 7 дней. | Вызовы отклоняются, пока владелец не выберет тариф. Ключи, агенты и журнал сохраняются. |
| Вызовов в час на агента | Без лимита первые 30 дней аккаунта, затем 10 000. Свой потолок задаётся в поле «Вызовов в час» на странице агента. | Вызов отклоняется с RATE_LIMITED и временем для повтора: начало следующей минуты. |
| Вызовов одновременно на агента | 32. Меняется в поле «Одновременные вызовы» на странице агента. | Вызов отклоняется с RATE_LIMITED и повтором через секунду. |
| Вызовов одновременно на аккаунт | 64 на всех его агентов | Вызов отклоняется с UNAVAILABLE и повтором через полсекунды. |
| Вызовов в час на подключение | Без лимита, пока вы не зададите его на странице подключения в блоке «Лимиты», поле «Вызовов в час до вопроса человеку», или через budget_calls_per_hour запросом PATCH /v1/bindings/{id}. 0 снимает порог. | Каждый следующий вызов этого подключения в этот час ждёт человека, и разрешение его не покрывает. |
| Карточки в ожидании | 20 на агента, 100 на аккаунт | Вызов, который переходит черту, отклоняется с SUSPENDED, и агент встаёт на паузу за одной карточкой. Ответ на неё снова запускает агента. |
| Лимит чтения | Выключен. Задайте от 2 до 100 в поле «Лимит чтения» на странице агента. | Через 7 дней истории карточка спросит вас, когда объём, прочитанный агентом из одного подключения за час, во столько раз превысит его медианный час на этом подключении. |
Размеры
| Лимит | Значение | За чертой |
|---|---|---|
| Ответ внутри результата MCP-инструмента | 24 КиБ или сколько агент укажет в max_inline_bytes, до 1 МиБ | Остальное сохраняется. Агент читает его через fetch_body в течение 30 дней. |
| Ответ сервиса | 512 МиБ на вызов: больше подключение не принимает. Уменьшить можно на странице подключения в блоке «Лимиты», поле «Самый большой ответ сервиса», или через max_upstream_bytes. | Через MCP вызов завершается с UPSTREAM_TOO_LARGE, неполный ответ не возвращается. На /p/ ответ уже идёт потоком, поэтому он обрывается, а следующий опрос вызова показывает UPSTREAM_TOO_LARGE. |
| Тело запроса через HTTP-прокси | 32 МиБ, для открытой JSON-формы 1 МиБ | Запрос отклоняется до отправки. |
| Одно сообщение MCP | 8 МиБ | Сообщение отклоняется до отправки. |
| Файл, записываемый по SFTP | До 32 МиБ через PUT на /p/. Внутри вызова MCP столько, сколько помещается в одно сообщение 8 МиБ: около 6 МиБ в content_base64. | Запрос отклоняется до отправки. |
| Файл, читаемый по SFTP | Самый большой ответ сервиса для подключения, по умолчанию 512 МиБ. Файл больше читается частями через offset и length. | Как с любым ответом: UPSTREAM_TOO_LARGE через MCP, поток обрывается раньше на /p/. |
| Ответ базы данных | 1 000 строк | Ответ об этом сообщает. Остальное читайте по страницам через LIMIT и OFFSET. |
| Письмо | 100 получателей, 20 вложений, 10 МиБ | Агент узнаёт, какая граница, и ничего не отправляется. |
| Сообщение WebSocket | 1 МиБ, в любую сторону | Обе стороны получают закрытие 1009, а сообщение дальше не передаётся. |
Время
| Лимит | Значение | За чертой |
|---|---|---|
| Сервис начинает отвечать | 60 секунд после отправки запроса | Вызов завершается с UPSTREAM_ERROR. |
| Вызов без потока | 5 минут от начала до ответа | Вызов завершается с UPSTREAM_ERROR. |
| Тишина внутри потока | 10 минут между двумя частями ответа | Поток закрывается. |
| Сессия WebSocket | 60 минут | Обе стороны получают закрытие 1001 с причиной. |
| Тишина в сессии WebSocket | 10 минут без кадра в обе стороны | Обе стороны получают закрытие 1001 с причиной. |
| Запрос к базе данных | 30 секунд, по просьбе агента до 300 секунд | База останавливает запрос и сообщает об этом. |
| Операция с почтой | 120 секунд | Вызов останавливается и сообщает об этом. |
| MCP-вызов в ожидании человека | 240 секунд для клиента, который присылает токен прогресса, 45 секунд для клиента без него | Агент получает APPROVAL_PENDING с call_id и продолжает тот же вызов позже. |
| Карточка одобрения | 60 минут. Меняется в «Настройки», «Организация», «Срок подтверждения (секунды)»: от 60 до 86 400. | Карточка истекает, вызов завершается с APPROVAL_EXPIRED. |
| Разрешение с карточки | Сколько задано в поле «Максимальный срок разрешения (секунды)»: 24 часа по умолчанию и не больше. По умолчанию до 200 чтений, 20 изменений или 1 необратимого вызова. | Следующий вызов снова спросит человека. |
| Запрос доступа | 7 дней | Запрос закрывается. Агент может попросить снова. |
| Сохранённые ответы | 30 дней | Ответ удаляется. |
| История вызовов и журнал | 180 дней. Меняется в «История вызовов и журнал (дни)». | Старые вызовы и месяцы журнала удаляются. |
Лавину запросов останавливает Cloudflare
Все имена Sallyport стоят за Cloudflare, и достучаться до шлюза может только Cloudflare. Лавины запросов останавливает он. Собственные лимиты шлюза перечислены на этой странице.