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. |
|
16384 |
Maximum total size (bytes) of environment memory entries placed into AI assistant prompts. Entries beyond this size are available to the model only on request. |
|
8192 |
Maximum total size (bytes) of per-user memory entries placed into AI assistant prompts. |
|
8192 |
Maximum total size (bytes) of per-object memory entries placed into AI assistant prompts. |
|
1 |
Enable the AI operator subsystem (global switch for all operator instances). |
|
3 |
Number of consecutive execution failures after which an AI operator instance is disabled automatically. |
|
60 |
Minimum time (seconds) between an AI operator iteration and the next iteration started by a standing check with the wake action. Interrupts arriving sooner are queued until it elapses. |
|
10 |
Maximum execution time (seconds) of a single run of an AI operator standing check script. |
|
5 |
Number of consecutive script errors after which a standing check is disabled automatically. |
|
32 |
Maximum number of standing checks per AI operator instance. |
|
20 |
Number of standing instruction history records kept per AI operator instance. |
|
8192 |
Maximum size (bytes of UTF-8 text) of AI operator standing instructions; longer text returned by the model is truncated at a character boundary. |
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] [message]
nxai is nxshell started under another name and accepts the same options, except -c.
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 an object 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 nxshell configuration directory for automatic reconnection: $XDG_CONFIG_HOME/nxshell if XDG_CONFIG_HOME is set, otherwise ~/.config/nxshell (%APPDATA%\nxshell 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 memory store (environment, per-user, and per-object entries). |
|
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, memory, and operators. |
|
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.
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