System Info
Query system resources on the machine where the Tensorify CLI runner is running — CPU, memory, disk, processes, network interfaces, open ports, and uptime.
Runs on the CLI runner only — requires tensorify runner start on your machine. Uses the psutil Python package, which is included in the Tensorify runtime. No authentication is required.
Each node run executes a single query. Set Query in the node settings, then optionally use Filter to narrow results.
Returns overall CPU utilization, core count, and per-core usage. Includes a 1-second sampling interval for accurate percent readings.
Config:
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| query | enum | Yes | cpu |
Output:
{
"cpu_percent": 23.5,
"cpu_count": 8,
"per_cpu": [12.0, 45.2, 8.1, 30.0, 5.5, 18.3, 22.0, 10.1],
"success": true
}
Returns virtual memory usage in gigabytes and as a percentage.
Config:
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| query | enum | Yes | memory |
Output:
{
"memory_used_gb": 10.245,
"memory_total_gb": 32.0,
"memory_percent": 32.0,
"memory_available_gb": 21.755,
"success": true
}
Returns disk usage for a mount point. Use Filter to specify the mount path (defaults to /).
Config:
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| query | enum | Yes | disk |
| filter | string | No | Mount path to query (default /). Example: /home, C:\. |
Output:
{
"disk_free_gb": 120.5,
"disk_total_gb": 500.0,
"disk_used_gb": 379.5,
"disk_percent": 75.9,
"mount_path": "/",
"success": true
}
Returns a list of running processes with PID, name, CPU percent, and memory usage. Use Filter to match processes by name (case-insensitive substring match).
Config:
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| query | enum | Yes | processes |
| filter | string | No | Process name filter. Example: python, nginx. |
Output:
{
"processes": [
{
"pid": 1234,
"name": "python3",
"cpu_percent": 2.5,
"memory_rss_mb": 128.45
},
{
"pid": 5678,
"name": "nginx",
"cpu_percent": 0.1,
"memory_rss_mb": 12.3
}
],
"success": true
}
Returns all network interfaces and their assigned addresses (family, address, netmask, broadcast).
Config:
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| query | enum | Yes | network |
Output:
{
"network": [
{
"interface": "eth0",
"addresses": [
{
"family": "AddressFamily.AF_INET",
"address": "192.168.1.100",
"netmask": "255.255.255.0",
"broadcast": "192.168.1.255"
}
]
}
],
"success": true
}
Returns open network connections with port number, status, and owning PID. Use Filter to match a specific port number.
Config:
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| query | enum | Yes | ports |
| filter | string | No | Port number to filter by. Example: 8080, 5432. |
Output:
{
"ports": [
{
"port": 8080,
"status": "LISTEN",
"pid": 9012
},
{
"port": 5432,
"status": "LISTEN",
"pid": 3456
}
],
"success": true
}
Returns hours since the system last booted, plus the boot timestamp in ISO format.
Config:
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| query | enum | Yes | uptime |
Output:
{
"uptime_hours": 72.5,
"boot_time_iso": "2026-06-20T08:30:00+00:00",
"success": true
}
Query results are emitted on the result handle, accessible downstream as {{ system_info.* }}. Fields present depend on the query type:
| Field | Query | Type | Description |
|-------|-------|------|-------------|
| cpu_percent | cpu | number | Overall CPU utilization (%) |
| cpu_count | cpu | number | Number of logical CPUs |
| per_cpu | cpu | array | Per-core utilization (%) |
| memory_used_gb | memory | number | Used memory in GB |
| memory_total_gb | memory | number | Total memory in GB |
| memory_percent | memory | number | Memory usage (%) |
| memory_available_gb | memory | number | Available memory in GB |
| disk_free_gb | disk | number | Free disk space in GB |
| disk_total_gb | disk | number | Total disk space in GB |
| disk_used_gb | disk | number | Used disk space in GB |
| disk_percent | disk | number | Disk usage (%) |
| mount_path | disk | string | Queried mount path |
| processes | processes | array | List of process objects |
| network | network | array | List of interface objects |
| ports | ports | array | List of connection objects |
| uptime_hours | uptime | number | Hours since boot |
| boot_time_iso | uptime | string | Boot time (ISO 8601) |
| success | all | boolean | Whether the query succeeded |
The Filter field narrows results for specific queries:
| Query | Filter usage |
|-------|-------------|
| disk | Mount path (default /) |
| processes | Process name substring (case-insensitive) |
| ports | Port number (integer) |
| cpu, memory, network, uptime | Not used |
Filter values support {{ }} bindings for dynamic queries.
Connect a System Info node to an AI Agent Tools handle to give the agent visibility into the runner machine's resources.
Use Allowed Operations (Agent) to restrict which query types the agent can invoke — for example, allow cpu and memory but block processes and ports. Query types not in the allowed list are rejected at runtime. This setting is excluded from the tool schema.
When used as a tool, the agent supplies query and optional filter as tool arguments.
A health-check workflow that alerts when disk usage exceeds 90%:
- Add a System Info node.
- Set Query to
disk. - Set Filter to
/. - Add an If node checking
{{ system_info.disk_percent }} > 90. - On the true branch, send an alert via HTTP Request or email.
For process monitoring, set Query to processes and Filter to your application name (e.g. tensorify) to list matching PIDs and memory usage.
