Данные и конфиденциальность¶
AI Agent работает внутри QGIS, но удалённая языковая модель не сможет рассуждать о проекте без контекста. Слово «читающий» в плане означает, что инструмент не изменяет QGIS. Оно не обещает, что результат инструмента останется на устройстве.
Режим конфиденциальности¶
Отправка запроса передаёт ваш текст и базовые метаданные проекта — имена слоёв и полей, CRS, заметки проекта — на настроенный эндпоинт. Первая отправка на удалённый эндпоинт показывает одно подтверждение с его адресом: согласие запоминается для этого эндпоинта, отказ отменяет только эту отправку и спросит снова в следующий раз. Локальные адреса диалог не показывают.
Параметр «Разрешить конфиденциальные ГИС-данные» по умолчанию выключен для удалённых эндпоинтов. Он покрывает значения атрибутов объектов, точные границы карты и слоёв, фильтры и источники слоёв, категории стилей, результаты Processing и Python, а также изображения карты или макета. Пока он выключен, инструменты, способные раскрыть эти детали, не попадают в схемы инструментов модели и блокируются, даже если модель выдумает вызов. Запросы, недавний чат, запомненные заметки и базовые метаданные проекта этим переключателем не покрываются: они уходят с каждым запросом и не являются автоматически приватными.
Адреса, распознанные как локальные, разрешают чувствительные инструменты без переключателя. Локальный сервер всё равно может записывать или пересылать данные — проверьте его настройки.
Веб-инструменты¶
У необязательных инструментов search_web, geocode и fetch_url есть
отдельная граница подтверждения для каждого вызова. Вызов попадает в карточку плана,
хотя и не меняет проект QGIS; сетевой запрос начинается только после кнопки
Применить, а Отменить его сбрасывает. Подтверждение обязательно как с
удалённым, так и с локальным эндпоинтом модели. Батч только из веб-чтений не
создаёт снимок проекта.
Получатели и передаваемые данные:
search_webотправляет поисковую фразу в DuckDuckGo; если сервис недоступен, та же фраза уходит в API поиска русской или английской Wikipedia;geocodeотправляет название места в выбранный в настройках демо-сервис Photon или свой Nominatim-совместимый публичный HTTPS-сервис;fetch_urlобращается к публичному HTTPS-хосту из одобренного URL.
Публичный сервер OSMF nominatim.openstreetmap.org намеренно отклоняется, а не
используется агентом для общего геокодирования. По умолчанию геокодирование
выключено. Демо-сервис Photon разрешает разумную нагрузку, но может ограничивать
частые запросы и не гарантирует доступность; для других сценариев подключайте
сервис, оператор которого разрешает такое использование. Изучите официальную
политику Nominatim.
Веб-инструменты принимают только публичные HTTPS-адреса. Локальные, приватные, link-local и зарезервированные адреса, URL с учётными данными или подписью, а также редиректы на другой origin отклоняются. Каждый ответ DNS должен быть глобально маршрутизируемым; один проверенный IP закрепляется на все переходы в рамках origin, а TLS проверяет одобренное имя хоста. Если прямое подключение к нему не удалось, пробуется следующий проверенный адрес. Когда QGIS выбирает явный прокси для одобренного хоста, исходное имя передаётся через этот прокси, чтобы сохранить его правила и DNS-маршрут; прямые подключения по-прежнему закрепляют IP и блокируются при несовпадении маршрута. Для таких запросов выключено сохранение cookie и повторное использование кешированной HTTP-аутентификации. Ответ считается недоверенными данными, а не инструкциями: страница не может разрешить новые запросы или потребовать раскрыть промпты, данные проекта, учётные данные либо результаты других инструментов.
Результаты поиска, геокодирования и чтения страницы становятся результатами инструментов и поэтому могут быть переданы эндпоинту модели, выбранному в настройках. Подтверждение веб-вызова не зависит от эндпоинта модели.
Что получает эндпоинт модели¶
Каждый запрос к модели включает текущую реплику,
недавнюю часть переписки, краткий контекст проекта, инструкции загруженных
скиллов и схемы инструментов. Туда же попадают заметки проекта, созданные через
remember. Поэтому запрос может раскрыть основные метаданные, например
имена и типы слоёв, даже когда передача чувствительных данных выключена.
После выполнения инструмента его результат возвращается модели, чтобы она могла выбрать следующий шаг. Когда отдельная передача чувствительных данных включена, результаты инструментов могут содержать:
- значения атрибутов из примеров, запросов и выделенных объектов, уникальные значения и числовые диапазоны;
- точные экстенты карты и слоёв;
- фильтры и описание источников слоёв;
- категории стилей;
- результаты Processing и Python, включая пути результатов и детали ошибок;
- PNG-изображение канваса или печатного макета, если включён ввод изображений.
Результаты ограничиваются по размеру и уплотняются для контекста модели, но это не является средством защиты данных. Нельзя рассчитывать, что чувствительное значение обязательно будет удалено.
Диагностический запрос проверки подключения не содержит контекст проекта, но провайдер может хранить и использовать его согласно своим условиям.
Что хранится на компьютере¶
API-ключи хранятся в базе учётных данных QGIS — зашифрованном qgis-auth.db
внутри активного профиля, том же хранилище, где QGIS держит пароли к слоям и
PostGIS. Оно открывается мастер-паролем QGIS, который QGIS спрашивает один раз
за сеанс. Ни в проект, ни в файл настроек ключ не пишется: в настройки попадает
только идентификатор записи, но не сам секрет. Удаление ключа в окне настроек
стирает запись.
Сообщения диалогов и заметки проектов сохраняются обычным JSON в каталоге
ai_agent_sessions активного профиля QGIS. Атомарная запись оставляет
предыдущую копию .bak, чтобы сбой питания или частичная запись не уничтожили
последнее корректное состояние. Эти файлы не шифруются. Результаты инструментов
и изображения остаются в памяти, если их содержимое не повторилось в сохранённом
сообщении или не было записано другой операцией. Веб-ответы не кэшируются на
диске.
После прогона с применёнными изменениями плагин также записывает обычный
Markdown-журнал аудита в каталог ai_agent_runs активного профиля QGIS и
сообщает точный путь в диалоге и журнале QGIS. В него входят сокращённые версии
запроса и реплик агента, имена инструментов, текст ошибок неудачных вызовов,
число применённых шагов и итог. Плагин отказывается использовать каталог-журнал
через символическую ссылку, задаёт каталогу доступ только владельца 0700, а
каждому атомарно записанному файлу — 0600, если платформа поддерживает эти
права. Это ограничивает другие локальные учётные записи, но не является
шифрованием. Журналы переживают перезапуск QGIS и остаются до удаления
пользователем. Аргументы инструментов и успешные результаты отдельно не
добавляются, но записанный текст и ошибки всё равно могут содержать
чувствительную информацию.
Другие сетевые запросы¶
В плагине нет телеметрии. Он обращается к настроенному эндпоинту модели и к перечисленным выше получателям подтверждённых веб-вызовов. По запросу пользователя GIS-инструменты могут также обращаться к Overpass, тайловым серверам, WMS/WFS, базам данных и другим выбранным источникам. Сам QGIS и установленные провайдеры могут выполнять собственные сетевые запросы независимо от этого плагина.
Работа с чувствительными проектами¶
- Предпочитайте локальный OpenAI-совместимый сервер, хранение и журналы которого вы контролируете.
- Не включайте передачу чувствительных данных, если задаче не нужен ни один из перечисленных выше подробных типов результатов.
- Запрашивайте схему или агрегаты вместо примеров, когда реальные атрибуты не нужны.
- Ограничивайте список полей перед чтением примеров объектов.
- Не рендерите карту, если её география или подписи чувствительны.
- Удаляйте сохранённые диалоги, заметки и их
.bak-копии, а Markdown-журналы — из каталога профиляai_agent_runs, когда локальная история больше не нужна. - Изучите политику хранения данных провайдера до отправки клиентских данных.