AIKraft Agents

promptise-com/foundry

Фундаментальный слой для агентного интеллекта.

Агенты⭐ 894Pythonпоследний релиз: v1.11.0
Открыть на GitHub ↗Сайт проекта ↗

Что это за инструмент

Promptise Foundry — это full-stack фреймворк для Python, объединяющий создание агентов, управление инструментами, память, безопасность и наблюдаемость в единую систему.

Зачем нужен

Инструмент решает проблему фрагментации стека разработки AI-агентов, заменяя необходимость вручную интегрировать десятки библиотек (SDK моделей, векторные базы, guardrails, job runners) одним установочным пакетом. Это позволяет разработчикам сосредоточиться на логике работы агента, а не на инфраструктуре, обеспечивая быстрый переход от прототипа к продакшену с поддержкой мульти-тенантности и безопасности.

Что можно реализовать

  • Создание автономных AI-агентов с автоматическим обнаружением инструментов через MCP (Model Context Protocol).
  • Построение систем с долговременной памятью, использующих ChromaProvider для хранения контекста между вызовами.
  • Обеспечение безопасности и соответствия требованиям (guardrails) через встроенный сканер PromptiseSecurityScanner для блокировки инъекций и редактирования PII.
  • Оптимизация ответов за счет семантического кэширования (SemanticCache) для мгновенного обслуживания похожих запросов.
  • Отладка и мониторинг сложных цепочек рассуждений агентов через встроенную трассировку (observe=True).
  • Развертывание мульти-тенантных сервисов, работающих с различными LLM (OpenAI, Anthropic, Gemini, Ollama) через единый интерфейс.

Ключевые возможности

  • Единый интерфейс build_agent(), который автоматически подключает агента к серверам инструментов MCP.
  • Полная асинхронная архитектура (100% async) с строгой типизацией (mypy strict).
  • Встроенная поддержка безопасности (Bandit 0 HIGH issues) и наблюдаемости (tracing) без дополнительных настроек.
  • Гибкая конфигурация: компоненты памяти, кэша и guardrails подключаются как опциональные параметры.
  • Поддержка нескольких провайдеров LLM и локальных моделей через Ollama в рамках одной установки.

👤 Кому подойдёт: Python-разработчики, инженеры по машинному обучению и архитекторы, создающие production-ready AI-агенты и нуждающиеся в стандартизированном, безопасном и масштабируемом стеке для их развертывания.

Релизы

v1.11.0patch
🕐 3 дн назад · релиз на GitHub ↗

Исправления для Azure OpenAI без ключей, AutoApprovalClassifier и TUI; обновлены примеры моделей в документации.

  • Fixed: Azure OpenAI с Entra ID (без ключа) теперь корректно работает с провайдерами токенов.
  • Fixed: AutoApprovalClassifier теперь принимает обычные функции, оборачивая их в ApprovalPolicy.
  • Fixed: В TUI для promptise run вкладка MCP теперь корректно отображает серверы для агентов.
  • Fixed: Предупреждение о PII/учетных данных BLOCK теперь выдается только при наличии таких данных во вводе.
  • Fixed: promptise audit verify больше не переносит строки, что исправляет парсинг хешей.
  • Обновлены примеры моделей в документации на актуальные (claude-sonnet-5-5, gemini-3.8-flash).
v1.10.1patch
🕐 12 дн назад · релиз на GitHub ↗

Исправлены утечки PII в логах, ошибки одобрения MCP, утечка контейнеров Docker и ошибки async-потоков.

  • Fixed: В логах и трейсах теперь корректно отображаются отфильтрованные результаты инструментов, а не исходные данные до сканирования.
  • Fixed: Обработчики одобрения MCP теперь возвращают понятную ошибку APPROVAL_DENIED с идентификатором запроса вместо INTERNAL_ERROR.
  • Fixed: Удалены контейнеры Docker, которые оставались в статусе Created после неудачного запуска.
  • Fixed: Исправлено исключение контекста при прерывании асинхронных потоков astream() и astream_with_tools().
  • Fixed: Добавлено предупреждение при создании сканера с блокировкой PII, но без флага redact_input=True.
v1.10.0majorbreaking
🕐 12 дн назад · релиз на GitHub ↗

Исправлены критические уязвимости в MCP-аутентификации и сканировании, добавлены таймауты для потоков и изменено поведение .env.

  • Breaking: Поиск .env ограничен корнем проекта; вложенные репозитории больше не загружают внешние переменные.
  • Breaking: astream() и astream_with_tools() теперь могут выбрасывать TimeoutError при превышении max_invocation_time.
  • Breaking: TimeoutError внутри запуска теперь передается как есть, а не преобразуется в текстовое сообщение.
  • Added: Исправлены уязвимости: пропуск вызовов при неверной аутентификации MCP и игнорирование redact_input в inbox.
  • Fixed: Улучшено сканирование длинных учетных данных, исправлена логика аудита и статусы отклоненных вызовов.
v1.9.0majorbreaking
🕐 13 дн назад · релиз на GitHub ↗

Релиз v1.9.0: выбор паттернов рассуждения, трассировка с тенантами и исправления структуры данных.

  • Added: ProcessConfig теперь поддерживает выбор паттернов рассуждения (например, peoatr, research) через ключ agent_pattern.
  • Added: Трассировки теперь фиксируют tenant_id, isolation_key, отказы инструментов и решения об одобрении.
  • Breaking: Аргументы инструментов в метаданных теперь передаются как JSON-объекты, а не строки Python repr.
  • Breaking: Функции работы с пользователями (purge_user, get_users) теперь учитывают тенанты и используют isolation keys.
  • Fixed: Исправлено двойное добавление Prompt в модель, слияние пользователей разных тенантов и ошибки проверки агентов.
v1.8.0majorbreaking
🕐 13 дн назад · релиз на GitHub ↗

Исправлена критическая уязвимость в многопользовательском режиме, добавлено ограничение длины ответов инструментов и улучшена обработка внутренних API.

  • Breaking: Исправлена уязвимость: инструменты PendingApprover теперь изолированы по tenant_id, предотвращая доступ к чужим запросам.
  • Added: Добавлен ContextCompaction для ограничения длины результатов инструментов с маркером усечения.
  • Breaking: OpenAPIProvider теперь требует явного указания base_url для спецификаций без абсолютных адресов.
  • Added: Добавлен параметр allow_private для OpenAPIProvider, позволяющий использовать внутренние API.
  • Fixed: ToolNode теперь добавляет маркер в усеченные результаты, а не обрезает их молча.
v1.7.1patchbreaking
🕐 13 дн назад · релиз на GitHub ↗

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

  • Fixed: Идентификаторы запросов на согласование теперь однократные, что предотвращает атаки повторного воспроизведения.
  • Fixed: Классификатор теперь корректно блокирует вызовы при ошибках в правилах deny, а не пропускает их.
  • Fixed: API-ключи и JWT-токены можно отзывать динамически во время работы MCP-сервера без перезапуска.
  • Breaking: Повторное решение для одного ID запроса теперь вызывает ошибку, а не игнорируется.
v1.7.0minorbreaking
🕐 14 дн назад · релиз на GitHub ↗

Релиз v1.7.0: новые утилиты тестирования, поддержка MCP 2026-07-28, улучшенный Runtime и полная переработка документации.

  • Added: Добавлен модуль promptise.testing с классами ScriptedModel, ToolCall и Malformed для тестирования агентов без провайдера моделей.
  • Added: Runtime: поддержка extra_tools, graceful stop через drain_timeout, доверенные триггеры и схема вебхуков Telegram.
  • Added: MCP 2026-07-28: элицитация над входными раундами на сервере, автопротокол для клиента и новые заголовки CORS.
  • Breaking: HumanNode без обработчика теперь вызывает ошибку вместо одобрения; ограниченный sandbox блокирует link-local адреса.
  • Fixed: Исправлено редактирование GitHub-токенов, отчеты о таймаутах инструментов, логирование отказов по бюджету и ошибки в reasoning engine.
  • Полная проверка примеров в документации, добавлен публичный API-индекс и справочник переменных окружения.
v1.6.0minor
🕐 15 дн назад · релиз на GitHub ↗

В Foundry v1.6.0 появились нативные инструменты @tool, оптимизирован MCPClient и исправлены ошибки в логах и очереди событий.

  • Added: Добавлен декоратор @tool для создания инструментов из Python-функций без импорта langchain_core, с автоматической генерацией схемы по типам и docstring.
  • Fixed: MCPClient переиспользует HTTP-соединения вместо создания нового для каждого запроса, что предотвращает исчерпание локальных портов.
  • Fixed: Исправлен баг с завышенным queue_size в статусе агента, когда события удерживались воркером, но не учитывались в очереди.
  • Fixed: Команда promptise run --tui теперь корректно завершается после вывода последней строки программы, исключая дублирование состояния exited.
v1.5.2patch
🕐 15 дн назад · релиз на GitHub ↗

Исправлена критическая ошибка MCPClient, улучшена обработка stdin stdio-серверов и ошибки недоступности узлов.

  • Fixed: MCPClient больше не путает ошибки сервера JSON-RPC (-32000) с потерей соединения, корректно обрабатывая ToolError.
  • Fixed: stdio-сервер теперь дописывает ответы на активные запросы после закрытия stdin, а не завершается мгновенно.
  • Fixed: get_node_status() теперь корректно выбрасывает NodeUnreachableError для недоступных узлов, как и документировано.
  • Fixed: События, потерянные из-за переполнения буфера триггера, теперь корректно отправляются в dead-letter queue.
v1.5.1minorbreaking
🕐 16 дн назад · релиз на GitHub ↗

Поддержка MCP SDK 2.x, запуск песочницы от nobody, исправление PII-редактирования и гонки при stop().

  • Added: Добавлена поддержка MCP SDK 2.x (требование mcp>=1.9,<3), совместимость с 1.x сохранена.
  • Breaking: Код в песочнице теперь запускается от пользователя nobody (65534:65534), а не от root.
  • Fixed: Исправлено ложное срабатывание PII-шаблонов на номерах и IBAN, теперь они не маскируются ошибочно.
  • Fixed: Устранена гонка при stop(), из-за которой завершённый запуск мог выполниться повторно.
  • Fixed: Восстановлена работа SPIFFE-аутентификации и исправлена ошибка импорта при использовании MCP 2.x.
v1.5.0majorbreaking
🕐 16 дн назад · релиз на GitHub ↗

Релиз v1.5.0: Runtime стал стабильным, добавлены строгие проверки безопасности для API и улучшена работа с журналами.

  • Breaking: Изменена структура ошибок Control API: исключения больше не котируются в сообщении, вместо этого используются фиксированные коды ошибок и error_id для поиска логов.
  • Breaking: По умолчанию запрещены деплои с выполнением команд (stdio MCP, хуки) и использованием переменных окружения (${VAR}), что требует явного разрешения через флаги API.
  • Breaking: Введены строгие проверки манифестов: неизвестные ключи теперь вызывают ошибки, а пути к файлам в деплоях должны находиться внутри заданного data_dir.
  • Added: По умолчанию включено восстановление состояния из журнала (Journal recovery) при старте, а история диалогов сохраняется между остановками и перезапусками процесса.
  • Fixed: Исправлена логика работы с секретами: теперь они сохраняются при остановке, если явно не указано обратное, и правильно маскируются в логах.
v1.4.3patch
🕐 18 дн назад · релиз на GitHub ↗

Исправлено падение с ошибкой NoMatches в TUI-интерфейсе при закрытии во время обновления статуса.

  • Fixed: Исправлена ошибка NoMatches в `promptise run --tui`, возникавшая при закрытии программы во время обновления статуса.
v1.4.2patch
🕐 18 дн назад · релиз на GitHub ↗

Исправлено: команда promptise run больше не отказывается от файлов promptise.toml, принадлежащих root, что актуально для контейнеров.

  • Fixed: Команда promptise run больше не блокирует файлы promptise.toml, принадлежащие root, что решает проблему с правами доступа в контейнерных образах после COPY.
v1.4.0major
🕐 19 дн назад · релиз на GitHub ↗

Запуск проектов через promptise run, новый манифест, режимы, окружение, devtools, TUI, serve и инициализация.

  • Added: Команда promptise run запускает проект как полноценную Python-программу с автоинструментацией агентов.
  • Added: Внедрён манифест promptise.toml с поддержкой скриптов, окружения, режимов и таблиц конфигурации.
  • Added: Добавлен интерактивный терминальный интерфейс (TUI) с вкладками, метриками и управлением вызовами инструментов.
  • Added: Появился HTTP-сервер (serve) с API для инвокеров, стриминга, аутентификации и мониторинга.
  • Added: Реализованы devtools для трассировки, отчётов и watch-режима, а также prod-режим с JSON-логированием.
  • Added: Добавлена команда init для создания стартового проекта с манифестом, агентами и примерами.
v1.3.5patchbreaking
🕐 20 дн назад · релиз на GitHub ↗

Исправлено некорректное поведение при исчерпании лимита вызовов инструментов и улучшена детализация аудита ошибок.

  • Added: Введен новый тип исключения CodeActionBudgetError для корректной обработки ситуаций, когда лимит вызовов инструментов исчерпан.
  • Fixed: Исправлена ошибка, при которой модель выдавала неполный результат вместо ошибки, если лимит вызовов был слишком мал.
  • Fixed: В журнале аудита теперь корректно фиксируется код ошибки (например, ACCESS_DENIED), а не только тип исключения.
  • Breaking: Изменены промпты для модели: теперь запрещено усекать данные, а при превышении лимита генерируется ошибка вместо частичного ответа.
v1.3.4patchbreaking
🕐 21 дн назад · релиз на GitHub ↗

Исправлены критические баги лимитов, бюджетов, валидации MCP и редактирования JSON в v1.3.4.

  • Fixed: max_agent_iterations=N теперь строго ограничивает N вызовами модели, а не N+1.
  • Breaking: Превышение бюджета теперь вызывает GraphBudgetExceededError, а не возвращает сырой результат.
  • Fixed: Исправлен баг: BudgetHook теперь корректно считает токены для каждого запуска, а не для всего движка.
  • Fixed: Context compaction больше не зацикливает модель на перечитывании усеченных результатов.
  • Fixed: Невалидные вызовы MCP теперь проходят через аутентификацию и возвращают структурированные ошибки.
  • Fixed: Редактирование учетных данных в JSON больше не ломает синтаксис документа.
v1.3.3patch
🕐 25 дн назад · релиз на GitHub ↗

Исправлены критические ошибки миссий, здоровья и MCP-клиентов; улучшена работа с инструкциями и токенами.

  • Fixed: Исправлен сбой Mission LLM judge из-за отсутствия аргумента servers и добавлена поддержка передачи модели в evaluate().
  • Fixed: Введен контроль max_invocations: миссия теперь корректно завершается с ошибкой при превышении лимита успешных вызовов.
  • Fixed: Health actions теперь срабатывают для любых завершений процессов (успешных или с ошибками), а не только для успешных в пределах 5 секунд.
  • Fixed: Исправлено чтение журнала процессов по имени и реализовано немедленное применение обновленных инструкций через PATCH.
  • Fixed: Устранена утечка ресурсов: MCP-клиенты теперь корректно закрываются при остановке, перезапуске и горячей перезагрузке.
  • Fixed: Явные API-ключи серверов теперь имеют приоритет над токенами идентичности агента в заголовках авторизации.
v1.3.2patch
🕐 25 дн назад · релиз на GitHub ↗

Исправлены критические баги с кэшированием результатов инструментов, хуками post_tool и обработкой лимита итераций в циклах.

  • Fixed: Повторные вызовы инструментов теперь выполняются заново, а не возвращают устаревшие результаты из контекста.
  • Fixed: Исправлены аргументы хуков post_tool в CodeActionNode, теперь они корректно могут переписывать результаты.
  • Fixed: Превышение лимита итераций в цикле инструментов теперь вызывает GraphIterationLimitError, а не возвращает сырой вывод.
  • Fixed: Дедупликация в ToolNode теперь работает только в пределах одного хода модели, а не сохраняется между запусками.
  • Fixed: Вызовы инструментов теперь корректно транслируются через astream_events() и astream_with_tools().
v1.3.1patch
🕐 25 дн назад · релиз на GitHub ↗

Исправлена отправка null в MCP, ошибки аргументов теперь видимы, вложенные объекты — в JSON, ключи API скрыты.

  • Fixed: MCP-инструменты больше не отправляют null для опциональных параметров, серверы валидации принимают вызовы.
  • Fixed: Невалидные аргументы теперь вызывают ToolArgumentError с подробным описанием, а не падают молча.
  • Fixed: Вложенные аргументы инструментов сериализуются в чистый JSON, а не в repr объектов.
  • Fixed: Улучшена редакция: скрыты ключи OpenAI/Anthropic и ошибки в OTel-спанах.
  • Fixed: Исправлен дублирующий лог делегаций и добавлено логирование сбоев astream_with_tools().
v1.3.0majorbreaking
🕐 26 дн назад · релиз на GitHub ↗

Релиз v1.3.0: 48 исправлений безопасности, 164 бага и новые функции; многие настройки теперь работают по принципу «fail closed».

  • Breaking: MCP-серверы по умолчанию привязываются к 127.0.0.1, а CORS-конфигурация с allow_credentials=True теперь требует явного указания origins.
  • Breaking: Включена обязательная аутентификация для ресурсов и промптов, а также закрытие доступа при недоступности песочницы или Identity Provider.
  • Breaking: Изменены механизмы верификации вебхуков, добавлена обязательная подпись аудиторских логов и ужесточены правила кэширования.
  • Added: Добавлены 54 новые функции, включая улучшенную работу Reasoning Graph, адаптивных стратегий и RAG-пайплайнов.
  • Fixed: Исправлено 164 ошибки, включая корректную обработку ошибок MCP-инструментов и редактирование чувствительных данных в трейсах.
v1.2.1patch
🕐 26 дн назад · релиз на GitHub ↗

Исправлены ошибки при отклонении соединений MCP и восстановлено сохранение описаний параметров инструментов.

  • Fixed: Отклонённые соединения больше не зависают, а сразу вызывают типизированную ошибку MCPConnectionRejectedError.
  • Fixed: Восстановлено сохранение описаний и ограничений из Annotated[T, Field(...)] в схеме инструментов.
  • Fixed: Исправлена работа значений по умолчанию для Field и добавлено извлечение описаний из docstring.
  • Описание инструментов теперь включает весь абзац-резюме из docstring, а не только первую строку.
v1.2.0minor
🕐 26 дн назад · релиз на GitHub ↗

Выпуск v1.2.0: генерация MCP-серверов из OpenAPI через MCPcast, поддержка любых моделей и исправления безопасности.

  • Added: MCPcast: автоматическая генерация готового проекта MCP-сервера из OpenAPI/Swagger с классификацией рисков и approval-gated доступом.
  • Added: Унифицированная работа с моделями: поддержка провайдеров через строку provider:model, объект Model или .superagent без отдельных пакетов.
  • Added: Guided setup: интерактивный терминальный мастер для обнаружения API, планирования и генерации сервера.
  • Fixed: Исправлена привязка identity вызывающего к запросу, защита от DNS-rebinding и корректная обработка ошибок модели.
  • Fixed: Устранено отображение учетных данных в выводе Model и защита тестов от доступа к реальному API.
v1.1.1patch
🕐 2 мес назад · релиз на GitHub ↗

Исправлена ошибка разрешения зависимостей: добавлен верхний предел версии для mcp (<2.0) из-за несовместимости API.

  • Fixed: Добавлен cap mcp<2.0, так как версия 2.0 изменила сигнатуру конструктора Server() и переименовала ResourceTemplate.uriTemplate, что ломало работу SDK.
  • Fixed: Версия mcp теперь ограничена диапазоном >=1.9.0,<2.0, что предотвращает случайную установку несовместимой версии 2.0 при обновлении.
  • Релиз протестирован на 3493 тестах с mcp 1.29.0, cryptography 50, starlette 1.6, langchain-openai 1.5 и pydantic 2.13.4; уязвимостей в зависимостях не обнаружено.
v1.1.0major
🕐 3 мес назад · релиз на GitHub ↗

Foundry v1.1.0: верифицируемая идентичность агентов, многопользовательская изоляция и серверные HITL-контроли.

  • Added: Верифицируемая идентичность агентов с поддержкой Microsoft Entra ID, AWS IAM, Google Cloud, SPIFFE/SPIRE и OIDC.
  • Added: Первоклассная многопользовательская изоляция (multi-tenancy) для кэша, памяти, очередей и аудита.
  • Added: Серверные контроли одобрения действий (HITL) с проверкой аргументов и разделением обязанностей.
  • Added: Улучшенный движок рассуждений с автоматическим управлением контекстом и новыми паттернами.
  • Fixed: CLI-команда promptise serve теперь доступна с поддержкой stdio, HTTP, SSE и перезагрузкой.