[general]
name=AI Agent
qgisMinimumVersion=4.0
qgisMaximumVersion=4.99
description=AI agent inside QGIS: explores your project and processes data from a plain-language request.
about=The agent inspects the open project, styles layers, runs Processing, edits data and creates layouts from plain-language requests. Changes wait in a visible plan until you press Apply. Everything the agent reads goes to the language model you configure: your prompt, recent chat, project notes, layer and field metadata, and tool results such as feature attribute values, exact map and layer extents, layer filters and sources, style categories, Processing and Python results, and rendered map or layout images. There is no switch that holds them back, so use a local model server for projects that must not leave your computer. The first send to each remote endpoint asks for confirmation; agreeing is remembered for that endpoint. Optional web tools require per-call confirmation: searches contact DuckDuckGo or Wikipedia, geocoding contacts the Photon demo or custom Nominatim service selected in Settings, and page reads contact the approved public HTTPS host. Geocoding is disabled until a service is selected, and the public OSMF Nominatim instance is not offered. Private hosts and credential-bearing URLs are rejected. Web results are untrusted, may be sent to the configured model and are not cached on disk. Conversation messages and project notes are stored as plain JSON in the QGIS profile. When enabled, applied runs write an unencrypted Markdown journal containing shortened request and agent text, tool names, errors and outcome in the profile's ai_agent_runs directory; owner-only permissions are applied where supported, the path is reported and the file remains until the user deletes it. API keys are stored encrypted in the QGIS authentication database and unlocked by the QGIS master password; only the identifier of the stored entry reaches the settings file. The plugin has no external Python dependencies. OpenAI-compatible providers including Google Gemini, Anthropic and local endpoints are supported. A local server can still store or forward data. The interface is available in English and Russian.
version=0.1.1
author=mzarov
email=mzarov@duck.com

hasProcessingProvider=False
experimental=False
deprecated=False

icon=icon.png
tags=ai,agent,llm,openai,processing,vector,raster,openstreetmap

homepage=https://mzarov.github.io/qgis-ai-agent/
repository=https://github.com/mzarov/qgis-ai-agent
tracker=https://github.com/mzarov/qgis-ai-agent/issues

changelog=0.1.1
    - Much cheaper runs: a stable prompt prefix that provider caching can reuse, stepped compaction, a shorter base prompt
    - Out of the box the agent can read your data and run Processing: the sensitive-data switch is gone (see Data and privacy)
    - Fixes for QGIS 4: geometry and field types were reported wrongly to the model
    - Undo no longer empties temporary layers; text virtual fields no longer come out empty
    - Type @ to insert an exact layer name and / to pick a skill; your own skills from the profile folder
    - A stopped or failed run keeps the partial answer, puts your request back and still offers prepared changes
    - Retries on overloads and rate limits; correct streaming for Cyrillic; current Claude thinking settings
    - Destructive edits show the filter and values before you confirm; network-sending algorithms are flagged
    0.1.0
    - Initial public release: 65 tools across twelve skill domains
    - Annotations, a 3D view and an auditable run journal
    - Google Gemini provider preset through its OpenAI-compatible endpoint
    - Keys in the QGIS authentication database: no external Python dependencies
    - Reads the project, styles layers, runs Processing, downloads OSM data
    - Basemaps, PostGIS tables, in-place attribute editing, print layouts with PDF export
    - The agent sees the map on vision models and verifies its own changes after Apply
    - Web search, page reading and geocoding with per-call consent and public-HTTPS protections
    - Safety model: local reads run instantly; network reads and writes wait for Apply; destructive steps ask twice
    - Interface in English and Russian, following the QGIS language
