Gardience Documentation gardience.com →
Docs / Using Gardience

AI assistant

The AI assistant adds an Ask Gardience button to every page of the console. You say what you want done, for example "update all of these", "install htop on web-01" or "restart the print spooler on the Windows servers", and the assistant proposes one action:

The proposal shows what it will do, the exact Salt call (This runs:) and the machines it will touch. Nothing runs until you choose Run it. The run then goes through everything a run you started yourself goes through: your permissions, change windows, locks, approvals and held work, with each machine's result in the audit log. The run is marked as drafted by the assistant and run by you.

The assistant remembers the conversation in this browser tab (the last 6 exchanges), so a follow-up such as "now write the Salt state for it" works. New conversation under the box starts over. Every proposal is still checked on its own, whatever came before.

Questions about your fleet

With Fleet lookups on, you can also ask about the fleet itself, for example "which servers are exposed to PHP2Shell?", "what changed on web-03 this week, and who approved it?", "why is db-02 failing the baseline?" or "what is waiting for approval?". The assistant looks the facts up first (read-only, up to 4 lookups per question), then answers with the machines it found, or proposes an action that fits what it found. The panel lists the lookups it made under the answer. It sees what everyone signed in to the console sees:

LookupWhat it reads
Fleet status, compliance failuresEvery machine's pending updates, reboot status, baseline score and failing controls
Machine detailsOne machine's pending updates, every baseline control with its value, open drift
DriftWhat differs from the desired state, and recent automatic corrections
CVE overview, CVE lookupExposed machines per CVE, with or without a fix
InventoryDomain, BitLocker, .NET, SELinux, free disk, local admins, last boot, Salt version
Runs, approvalsRecent runs, one run's steps and log, runs waiting for approval
Audit logWho did what, where and when (entries never hold secret values)

Lookups hand the assistant the totals (machines per update count, per operating system, per baseline score, reboots pending), so it quotes exact numbers rather than counting long lists itself.

Anyone with access to a machine can put text into what a lookup returns (a package description, a service name, a note in a run). The assistant receives every lookup result labelled as data and is told such text is never a request. When it proposes a change after reading fleet data, the proposal says so and asks you to check the machines and the exact call before you run it. The proposal goes through your permissions and approvals like any other.

When something is missing (which package, which machines), the assistant asks instead of guessing. It uses the node group or machines selected on the page when you say "these" or "this group".

Explain a state, runbook, or playbook

With the assistant on, saved states (Automation > States), runbooks, and project playbooks (Automation > Projects) have an Explain button. The assistant says in plain words what it does, lists each thing it changes on a machine, and lists what to check before running it (restarts, deletions, opened ports, weak settings).

What it cannot do

Turn it on

An admin opens Settings > AI assistant, chooses the service, enters the model and an API key, and turns it on. Fleet lookups lets it read fleet facts to answer questions (above); it is on by default for a new setup and off on a server upgraded from before 1.8.0 until an admin turns it on.

ServiceModel (example)Address
Anthropic (Claude)claude-sonnet-5-5not needed
OpenAIyour model namenot needed
OpenAI-compatible: Azure OpenAI, or a model you host (for example on vLLM or Ollama)the deployment or model nameits base address, for example https://llm.example.internal/v1

The key is stored encrypted with the server's vault key and is never shown again. A model you host on your own network keeps every request inside it, which suits air-gapped sites. The address must be another machine: Gardience does not call its own server, loopback or cloud metadata addresses.

What is sent to the AI service

Each request sends: what the person typed, the earlier exchanges of this conversation, the page they are on and the node group or machine names selected there, your node group names, the names and inputs of your runbooks, and the list of commands Gardience may run. With fleet lookups on, also the results of the lookups it makes for that question (each shortened to about 12,000 characters). For Explain, only the item being explained, with its secrets removed. Never secrets. A model you host keeps all of it inside your network.

Audit

Every explanation is recorded (ai.explain) with the person, what was explained, and the model. Every request is recorded (ai.assist) with the person, what they asked, what was proposed, and each lookup it made. A proposal that is run adds ai.run with the run and the model that drafted it, and the run's own log starts with "drafted by the AI assistant, reviewed and run by" the person.

Gardience by Bouziden Management LLC.