> ## Documentation Index
> Fetch the complete documentation index at: https://docs.agentium.in/llms.txt
> Use this file to discover all available pages before exploring further.

# System information

> Read device health, process, and network information with SystemToolkit.

`SystemToolkit` from `@agentium/edge` exposes system information through tools. It uses Node.js and OS interfaces; no optional native npm package is required.

## Connect the toolkit

Install `@agentium/core@4.0.0` and `@agentium/edge@4.0.0`. This factory accepts the model your application already uses:

```typescript theme={null}
import { Agent, type ModelProvider } from "@agentium/core";
import { SystemToolkit } from "@agentium/edge";

export function createDeviceAssistant(model: ModelProvider) {
  const system = new SystemToolkit({ includeProcessDetails: false });
  return new Agent({
    name: "device-assistant",
    model,
    instructions: "Report measured device health. Say when a reading is unavailable.",
    tools: system.getTools(),
  });
}
```

The host calls `agent.run()` and owns `await agent.close()` after active runs finish. System tools return JSON strings.

## Available tools

| Tool | Input | Result |
| - | - | - |
| `system_info` | Empty object | Platform, architecture, hostname, uptime, CPU, memory, and root filesystem usage |
| `system_process_list` | Optional `limit`, default `20` | Linux process IDs, names, and RSS in KB, sorted by RSS |
| `system_network_info` | Empty object | Non-internal interfaces, IP and MAC addresses, and Wi-Fi SSID when available |

`includeProcessDetails` defaults to `false`, which bounds the set of process directories inspected to twice the requested limit. Set it to `true` to scan all process directories before sorting and limiting; this can cost more on a busy host.

## Platform behavior

CPU temperature and frequency come from Linux `/sys` files and are `null` when unavailable. Process listing returns an error result on non-Linux hosts. Network information uses Node's OS interfaces; the optional Linux SSID lookup needs `iwgetid`. Root filesystem usage is read with `statfsSync("/")`; filesystem errors can fail the tool call.

Choose only the tools your application needs before sending host information to a remote model. Continue with the [edge runtime](/edge/runtime) for monitoring and health endpoints.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.