---
title: cap_system — 系统信息与设备重启
description: 查询设备运行状态（系统、内存、CPU、Wi-Fi、IP）并支持延迟重启等运维操作。
---

import LinkToSource from '@/components/LinkToSource.astro';
import { Aside } from '@astrojs/starlight/components';

源码：<LinkToSource relativePath="components/claw_capabilities/cap_system/src/cap_system.c" /> · 头文件：<LinkToSource relativePath="components/claw_capabilities/cap_system/include/cap_system.h" />

## 定位

`cap_system` 提供设备运行状态的统一查询入口，并提供可控的重启动作。它属于可被 LLM 直接调用的系统级工具组，适合用于设备诊断、健康检查和远程恢复。

## 暴露给 LLM 的工具

| 工具 ID | 功能 | 输入参数 |
|---------|------|----------|
| `get_system_info` | 返回系统汇总（芯片、内存、CPU、Wi-Fi、IP、uptime） | (无) |
| `get_memory_info` | 返回内存信息（内部内存、heap、PSRAM） | (无) |
| `get_cpu_usage` | 返回 CPU 使用率与运行时统计信息 | (无) |
| `get_wifi_info` | 返回当前 Wi-Fi 连接信息（SSID、RSSI、信道等） | (无) |
| `get_ip_address` | 返回当前站点 IP / netmask / gateway | (无) |
| `restart_device` | 安排设备延迟重启 | `delay_ms`（可选，毫秒） |

## 返回结构说明

- `get_system_info` 会组合多个子结构：`memory`、`cpu`、`wifi`、`ip`。
- `get_cpu_usage` 在未启用 FreeRTOS 运行时统计时，返回 `supported: false` 与说明消息。
- `get_wifi_info` / `get_ip_address` 在未连网时会返回 `connected: false` 与空值字段。

## `restart_device` 行为

- `delay_ms` 可选，`0` 或省略时使用默认延迟。目前，默认延迟为 500ms。
- 重启是异步安排的：工具会先返回成功结果，再由后台任务执行 `esp_restart()`。
- 失败时会返回 `ok: false` 和错误码字符串。

示例：

```json
{"delay_ms": 1500}
```

可能返回：

```json
{"ok":true,"message":"device restart scheduled","delay_ms":1500}
```

<Aside type="caution">
  `restart_device` 会导致设备重启，而重启会中断 ESP-Claw 系统运行。
  如将 `delay_ms` 设为极小值，LLM 可能在回复执行状态前即会重启设备，导致无法收到回复。
</Aside>
