Блог

Секреты и переменные окружения без вставки ключей в чат

Большинству реальных приложений нужен хотя бы один секрет: ключ платёжного провайдера, ключ сервиса рассылки писем, ключ для AI API. В Mythex такие ключи не нужно вставлять в запрос. Когда агенту нужен ключ, он показывает в чате карточку запроса секрета, вы вводите значение прямо в карточку, и оно сохраняется как секрет проекта, который может читать ваше приложение. Сам ключ при этом не попадает в переписку.

Что это такое

Каждый проект Mythex может хранить переменные окружения: именованные значения, например STRIPE_SECRET_KEY, которые приложение читает во время работы, вместо того чтобы записывать их прямо в код. Секреты — это переменные окружения, значения которых должны оставаться приватными.

Эти значения доступны в двух местах:

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

Добавить значения можно тремя способами:

  1. Карточка запроса секрета, которую агент показывает в чате, когда ключ нужен, чтобы что-то завершить.
  2. Настройки проекта → Secrets, где можно добавлять и менять значения в любой момент.
  3. /secrets в чате, чтобы добавить или обновить секреты по запросу.

Зачем это нужно

Очевидный способ передать агенту ключ — вставить его в сообщение. Это работает, но тогда ключ становится частью истории чата и лежит открытым текстом рядом со всем остальным, что вы написали.

Карточка секрета не даёт значению попасть в переписку. Вы вводите его в поля карточки, а не в поле сообщения, и значение сохраняется как секрет проекта. Агент продолжает работу, и ключ доступен в песочнице.

Хранение ключей в настройках проекта, а не в коде, даёт и другие преимущества:

  • Ключи не попадают в систему контроля версий. Код ссылается на ключ по имени, а значение лежит в настройках проекта.
  • Агент и запущенное приложение видят одну и ту же конфигурацию. Нет копии, которая устаревает.
  • Ключ можно сменить без переписывания кода. Вы меняете значение в настройках, а код читает его по тому же имени.

Если переменные окружения для вас в новинку, наше руководство что такое переменные окружения и секреты объясняет эту идею с нуля.

Как пользоваться карточкой секрета

  1. Попросите функцию — например, «отправь приветственное письмо, когда кто-то регистрируется».
  2. Когда агенту нужен ключ, в чате появляется карточка запроса секрета с перечнем нужных значений.
  3. Введите значение в поля карточки, а не в поле сообщения.
  4. Подтвердите. Значение сохраняется как секрет проекта.
  5. Агент продолжает работу, а ключ доступен в песочнице.

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

  1. Откройте настройки проекта, затем Secrets.
  2. Добавьте ключи, например STRIPE_SECRET_KEY, OPENAI_API_KEY или учётные данные вашего сервиса.
  3. Попросите агента читать их стандартным для вашего фреймворка способом — например, из process.env в приложении на Node.
  4. Опубликуйте проект заново, если опубликованному приложению нужны новые значения.

Чтобы добавить или изменить секреты прямо в чате, можно также ввести /secrets.

Смена секрета в опубликованном приложении

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

Советы по безопасности

  • Никогда не коммитьте секреты в репозиторий. Храните их в настройках проекта.
  • Для привилегированных операций используйте ключи, доступные только на сервере. Ключ, который может списывать деньги с карт или отправлять письма, должен работать в коде на сервере, а не в том, что скачивает браузер посетителя.
  • Если ключ когда-либо попал в историю чата, перевыпустите его. Создайте новый ключ у провайдера, отзовите старый и обновите значение в настройках проекта. Считайте любой ключ, вставленный в чат, скомпрометированным.

Ограничения

  • Карточка помогает, только если вы ею пользуетесь. Если вы всё равно вставите ключ в поле сообщения, он останется в истории. Перевыпустите его у провайдера и обновите сохранённое значение.
  • Опубликованным приложениям нужна повторная публикация, чтобы получить новые или изменённые секреты.
  • Безопасное хранение ключа не делает безопасным любое его использование. Важно, где ключ применяется: привилегированные ключи держите на серверной стороне приложения.

Больше о том, как защитить приложение перед тем, как им делиться, читайте в нашем чек-листе безопасности для приложений, созданных с помощью AI.

Подробности есть в документации: Переменные окружения и секреты и Секреты в чате.

Mythex · Pricing · Создавайте что угодно с ИИ · Шаблоны сайтов и приложений · Сравнения Mythex · Глоссарий по созданию приложений с ИИ · Бесплатные инструменты для создания приложений с ИИ · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)