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 |
|
Number |
-1 |
Sampling temperature. Set to -1 to use the provider default. |
|
Number |
-1 |
Nucleus sampling parameter. Set to -1 to use the provider default. 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.
nxai Command-Line Reference
nxai [options]
Connection options:
| Option | Description |
|---|---|
|
Server hostname or URL (e.g., |
|
Web API port, appended to the server address when it does not already contain a port (default: 443 for HTTPS). |
|
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 in sessions.json for automatic reconnection, and command history is stored in history, both in $XDG_CONFIG_HOME/nxai if XDG_CONFIG_HOME is set, otherwise in ~/.config/nxai.
Use --clear-session to remove a saved token.
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. |
|
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 ai.tools debug tag in nxagentd covers AI tools provided by agent subagents, which the AI assistant discovers and calls with the get-node-ai-tools and execute-agent-tool functions.
The aifileops subagent, which provides file search and editing tools, logs under the aifileops tag.
It does not start without at least one RootFolder entry in its [aifileops] configuration section (same path[;ro][;nofollow] format as the filemgr subagent), and its file-modifying tools are available only to master servers Since 6.2.6.
The file management skill of the aiext module does not use aifileops: its requests are served by the agent’s filemgr subagent.
Enable debug output by adding the DebugTags parameter to the global section of netxmsd.conf (before any named section):
DebugTags = ai.*:6