Skip to content

Конфиденциальность и безопасность данных: как защитить вашу конфиденциальную информацию

Что вы сможете сделать после изучения

  • Понять, куда уходят данные: Четко знать, какие данные будут загружены в облако, а какие останутся локально.
  • Освоить техники удаления чувствительных данных: Научиться использовать тег <private> для предотвращения загрузки чувствительной информации (например, паролей, ключей).
  • Безопасное управление ключами: Научиться настраивать SUPERMEMORY_API_KEY самым безопасным способом.

Основная идея

При использовании opencode-supermemory критически важно понимать поток данных:

  1. Облачное хранение: Ваши памяти (Memories) хранятся в облачной базе данных Supermemory, а не в локальных файлах. Это означает, что вам нужно сетевое подключение для доступа к памятям.
  2. Локальное удаление чувствительных данных: Для защиты конфиденциальности плагин до отправки данных в облако выполняет удаление чувствительных данных локально.
  3. Явный контроль: Плагин не автоматически сканирует и загружает все файлы, только когда Agent явно вызывает инструмент add или триггерирует сжатие, соответствующее содержимое обрабатывается.

Механизм удаления чувствительных данных

Плагин имеет встроенный простой фильтр, специально распознающий тег <private>.

  • Ввод: Пароль базы данных здесь - <private>123456</private>
  • Обработка: Плагин обнаруживает тег, заменяет содержимое на [REDACTED].
  • Загрузка: Пароль базы данных здесь - [REDACTED]

Совет

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

Следуйте моему примеру

Шаг 1: Безопасная настройка API Key

Хотя вы можете напрямую записать API Key в файл конфигурации, но для предотвращения случайной утечки (например, случайного обмена файлом конфигурации с другими) мы рекомендуем понять логику приоритета.

Правило приоритета:

  1. Файл конфигурации (~/.config/opencode/supermemory.jsonc): Наивысший приоритет.
  2. Переменная среды (SUPERMEMORY_API_KEY): Если она не установлена в файле конфигурации, используется эта переменная.

Рекомендуемый подход: Если вы хотите гибко переключаться или использовать в среде CI/CD, используйте переменные среды. Если вы личный разработчик, настройка в файле JSONC в пользовательском каталоге также безопасна (потому что она не в вашем Git-репозитории проекта).

Шаг 2: Использование тега <private>

Когда вы позволяете Agent запомнить содержимое, содержащее чувствительную информацию, через естественный язык в диалоге, вы можете использовать тег <private> для обертывания чувствительной части.

Демонстрация действия:

Скажите Agent:

Пожалуйста, запомните, IP базы данных в производственной среде - 192.168.1.10, но пароль root - <private>SuperSecretPwd!</private>, не раскрывайте пароль.

Что вы должны увидеть: Agent вызывает инструмент supermemory для сохранения памяти. Хотя ответ Agent может содержать пароль (потому что он в контексте), фактическая память, сохраненная в облаке Supermemory, уже удалена.

Шаг 3: Проверка результата удаления чувствительных данных

Мы можем проверить, действительно ли только что введенный пароль не был сохранен, с помощью поиска.

Действие: Пусть Agent ищет только что сохраненную память:

Поиск пароля базы данных производственной среды.

Ожидаемый результат: Содержание, которое Agent извлекает из Supermemory, должно быть: IP базы данных в производственной среде - 192.168.1.10, но пароль root - [REDACTED]...

Если Agent говорит вам "пароль - [REDACTED]", это означает, что механизм удаления чувствительных данных работает нормально.

Распространенные заблуждения

Заблуждение 1: весь код будет загружен

Факт: Плагин не автоматически загружает всю вашу кодовую базу. Он загружает только конкретные фрагменты при выполнении инициализации сканирования /supermemory-init или когда Agent явно решает "запомнить" логику кода.

Заблуждение 2: файл .env будет загружен автоматически

Факт: Плагин читает SUPERMEMORY_API_KEY из среды процесса. Если вы поместите файл .env в корень проекта, плагин не автоматически прочитает его, если только ваша используемая терминал или основная программа OpenCode не загрузила его.

Приложение: справочник по исходному коду

Нажмите, чтобы просмотреть расположение исходного кода

Время обновления: 2026-01-23

ФункцияПуть к файлуНомер строки
Логика удаления чувствительных данныхsrc/services/privacy.ts1-13
Загрузка API Keysrc/config.ts90
Удаление чувствительных данных при вызове плагинаsrc/index.ts282

Ключевые функции:

  • stripPrivateContent(content): Выполняет замену регулярными выражениями, превращая содержимое <private> в [REDACTED].
  • loadConfig(): Загружает файл локальной конфигурации, приоритет выше переменных среды.

Предпросмотр следующего урока

Поздравляем с завершением основных уроков opencode-supermemory!

Далее вы можете: