AI Assistant Reference
| Features marked with EE badge require Enterprise Edition. |
This page provides configuration reference for the NetXMS AI assistant.
For setup instructions, see Getting Started with the AI Assistant. For task-oriented guides, see AI Assistant How-to Guides. For architecture and concepts, see AI Assistant Concepts.
Server Configuration
Provider and global AI settings are placed in netxmsd.conf.
Runtime limits are set through server configuration variables (see Server Configuration Variables).
Global Settings
The [AI] section supports the following parameters:
| Parameter | Default | Description |
|---|---|---|
|
(auto) |
Name of the default provider.
If not set, the first provider with the |
|
|
Enable or disable the prompt injection guard. |
Provider Settings
Each provider is configured in a [AI/Provider/<name>] section.
| Parameter | Type | Default | Description |
|---|---|---|---|
|
String |
|
Provider type: |
|
String |
(varies) |
API endpoint URL.
Defaults: |
|
String |
(varies) |
Model name.
Defaults: |
|
String |
(empty) |
API authentication token.
Sent as a |
|
Integer |
-1 |
Sampling temperature.
Set to -1 to use the provider default.
In the current implementation the value is parsed as an integer — fractional values are truncated (e.g., |
|
Integer |
-1 |
Nucleus sampling parameter. Set to -1 to use the provider default. Parsed as an integer — fractional values are truncated; values above 1 are clamped to 1.0. |
|
Boolean |
|
Verify the provider’s TLS certificate. |
|
Integer |
32768 |
Provider-specific token limit.
For |
|
Integer |
180 |
HTTP request timeout in seconds. |
|
String |
|
Comma-separated list of slots this provider serves (e.g., |
Provider Slots
Slots route different types of AI requests to appropriate providers.
Assign one or more slots to each provider using the Slots parameter.
| Slot | Description |
|---|---|
|
General-purpose slot used when no specific slot is requested.
A provider becomes the default when its name matches |
|
Used for interactive chat sessions with users. |
|
Used for background AI task execution. |
|
Used for deep analysis tasks such as incident investigation. |
|
Used when the AI assistant delegates work to a skill (the |
|
Used for quick operations where low latency is preferred over capability (e.g., prompt injection guard fallback). |
|
Used by the prompt injection guard.
If not defined, the |
A request to a slot with no assigned provider falls back to the default provider (except the prompt injection guard, which falls back to the fast slot as noted above).
Configuration Examples
Single cloud provider:
[AI/Provider/openai]
Type = openai
URL = https://api.openai.com/v1/chat/completions
Model = gpt-4o
Token = sk-your-api-key
Slots = default
Multi-provider setup with slots:
[AI/Provider/claude]
Type = anthropic
Model = claude-sonnet-4-20250514
Token = sk-ant-your-key
Slots = default,analytical
[AI/Provider/ollama-fast]
Type = ollama
Model = mistral
Slots = fast
[AI]
DefaultProvider = claude
Local-only deployment with Ollama:
[AI/Provider/local]
Type = ollama
URL = http://127.0.0.1:11434/api/chat
Model = llama3.2
ContextSize = 32768
Slots = default
Server Configuration Variables
The following server configuration variables (stored in the database, changed at runtime from the management client) control the AI subsystem:
| Variable | Default | Description |
|---|---|---|
|
30 |
Number of LLM iterations in an interactive chat request after which the user is asked whether to continue. Continuing grants a fresh iteration budget, so this is not a hard cap. Changes take effect without server restart. |
|
64 |
Maximum number of LLM iterations per background task execution. Changes take effect without server restart. |
Expired AI messages are cleaned up at the interval given by AI.MessageCleanupInterval (default: 60 minutes).
This variable is read directly at runtime and is not visible in the Server Configuration view.
Background AI tasks run in the AITasks thread pool, sized by the ThreadPool.AITasks.BaseSize (default: 4) and ThreadPool.AITasks.MaxSize (default: 16) server configuration variables.
AI operators run in the dedicated AIOperator thread pool, sized by ThreadPool.AIOperator.BaseSize (default: 4) and ThreadPool.AIOperator.MaxSize (default: 16).
nxai Command-Line Reference
nxai [options]
Connection options:
| Option | Description |
|---|---|
|
Server hostname or URL (e.g., |
|
Username for authentication. |
|
Password.
Prefer using the |
|
Disable SSL certificate verification. |
|
Do not save the session token for reuse. |
|
Clear saved session token and exit. |
Context options (mutually exclusive):
| Option | Description |
|---|---|
|
Bind the chat session to a node by name. |
|
Bind the chat session to an object by ID. |
|
Bind the chat session to an incident. |
Display options:
| Option | Description |
|---|---|
|
Force plain text output (no colors or formatting). |
General options:
| Option | Description |
|---|---|
|
Show usage information and exit. |
|
Show version information and exit. |
Environment variables:
| Variable | Description |
|---|---|
|
Default server hostname. |
|
Default username. |
|
Password (avoids passing on command line). |
Session tokens are saved to sessions.json in the nxai configuration directory for automatic reconnection: $XDG_CONFIG_HOME/nxai if XDG_CONFIG_HOME is set, otherwise ~/.config/nxai (%APPDATA%\nxai on Windows).
Saved sessions expire after 4 hours.
Command history is stored in the history file in the same directory.
Use --clear-session to remove saved tokens.
Debug Tags
The following debug tags can be used for troubleshooting the AI subsystem:
| Tag | Description |
|---|---|
|
General AI assistant operations (chat, function calls, incident analysis). |
|
Low-level message assembly traces (debug level 8), for both interactive and background chats. |
|
LLM provider base class (HTTP requests, response parsing). |
|
OpenAI-compatible provider operations. |
|
Anthropic provider operations. |
|
Ollama provider operations. |
|
Mistral provider operations. |
|
AI operator management and execution. |
|
Skill loading and management. |
|
Background task scheduling and execution. |
|
AI message lifecycle and cleanup. |
|
Anomaly detection profile generation. |
|
AI assistant function handlers (data collection, logs, objects). |
|
Web API endpoints for AI chat sessions. |
|
Operations of the |
|
File management skill operations. |
|
SSH command execution skill operations. |
On the agent side, the aifileops debug tag in nxagentd covers file operations performed on behalf of the file management skill.
Enable debug output by adding the DebugTags parameter to the global section of netxmsd.conf (before any named section):
DebugTags = ai.*:6