Конфиденциальность и безопасность данных: как защитить вашу конфиденциальную информацию
Что вы сможете сделать после изучения
- Понять, куда уходят данные: Четко знать, какие данные будут загружены в облако, а какие останутся локально.
- Освоить техники удаления чувствительных данных: Научиться использовать тег
<private>для предотвращения загрузки чувствительной информации (например, паролей, ключей). - Безопасное управление ключами: Научиться настраивать
SUPERMEMORY_API_KEYсамым безопасным способом.
Основная идея
При использовании opencode-supermemory критически важно понимать поток данных:
- Облачное хранение: Ваши памяти (Memories) хранятся в облачной базе данных Supermemory, а не в локальных файлах. Это означает, что вам нужно сетевое подключение для доступа к памятям.
- Локальное удаление чувствительных данных: Для защиты конфиденциальности плагин до отправки данных в облако выполняет удаление чувствительных данных локально.
- Явный контроль: Плагин не автоматически сканирует и загружает все файлы, только когда Agent явно вызывает инструмент
addили триггерирует сжатие, соответствующее содержимое обрабатывается.
Механизм удаления чувствительных данных
Плагин имеет встроенный простой фильтр, специально распознающий тег <private>.
- Ввод:
Пароль базы данных здесь - <private>123456</private> - Обработка: Плагин обнаруживает тег, заменяет содержимое на
[REDACTED]. - Загрузка:
Пароль базы данных здесь - [REDACTED]
Совет
Этот процесс происходит внутри кода плагина и завершается до того, как данные покидают ваш компьютер.
Следуйте моему примеру
Шаг 1: Безопасная настройка API Key
Хотя вы можете напрямую записать API Key в файл конфигурации, но для предотвращения случайной утечки (например, случайного обмена файлом конфигурации с другими) мы рекомендуем понять логику приоритета.
Правило приоритета:
- Файл конфигурации (
~/.config/opencode/supermemory.jsonc): Наивысший приоритет. - Переменная среды (
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.ts | 1-13 |
| Загрузка API Key | src/config.ts | 90 |
| Удаление чувствительных данных при вызове плагина | src/index.ts | 282 |
Ключевые функции:
stripPrivateContent(content): Выполняет замену регулярными выражениями, превращая содержимое<private>в[REDACTED].loadConfig(): Загружает файл локальной конфигурации, приоритет выше переменных среды.
Предпросмотр следующего урока
Поздравляем с завершением основных уроков opencode-supermemory!
Далее вы можете:
- Вернуться к Расширенной настройке для получения дополнительных пользовательских опций.