---
title: Console 交互
description: 串口 REPL：会话、问答、cap、技能与自动化调试命令。
---

import { Aside, LinkCard } from '@astrojs/starlight/components';

将开发板通过 USB 连到电脑，使用 `idf.py monitor`、`minicom` 或[在线烧录工具](@lang/flash)自带的 Console，进入 `edge_agent` 的交互提示符（默认 `app> `）。

<Aside type="tip">
  能看到日志但敲不了命令？
  - 板子若同时有 UART 与 USB-Serial JTAG，尝试切换到另一个接口。
  - 单 USB 口设备可换用名称带有 `Serial JTAG` 的固件变体，或 [从源码编译与烧录](@lang/reference-project/build-from-source) 并调整 `Channel for console output` menuconfig 项。
</Aside>

## 会话与问答

### 切换 session

不同 `session` 使用不同的会话历史文件（见 [Memory](@lang/reference-project/memory/)）。长期记忆数据仍在共享的 `memory/` 目录中管理。

```sh
session demo
session
```

### 与 LLM 对话

使用 `ask` 可以与 LLM 发起对话。`ask_once` 可以发起单轮对话，与 `ask` 不同的是，`ask_once` 不会将对话内容计入历史上下文。

```sh
ask 帮我列一下你可以做什么
ask_once 这是一次性问题，不要带历史
```

<Aside type="tip">
  若设备启动时未完整配置 LLM（缺 Key / model / profile），`claw_core` 不会初始化，此时 `ask` 会失败。
  见[配置说明](@lang/reference-project/configuration)了解配置 LLM 需要的参数。
</Aside>

## 能力 cap

### 列出能力

```sh
cap list
```

### 调用能力

第二个参数必须是合法 JSON 字符串（注意引号转义）。

```sh
cap call get_current_time '{}'
cap call list_dir '{"keyword":"scripts"}'
```

### 组管理

一个 Capability 可能提供大量 Tools。为了方便管理，这些 Tools 会被组织成一个或多个 Group，可以一次性启用/禁用/卸载整组的 Tools。

```sh
cap groups
cap enable <group_id>
cap disable <group_id>
cap unload <group_id>
```

## 技能 skill

<Aside type="note" title="skill console 命令 默认未注册">
  `edge_agent` 默认**未**调用 `register_cap_skill()`，即串口中不会出现 `skill` 命令。如需在串口使用 `skill` 命令，请在 `components/common/app_claw/app_claw_cli.c` 的 `app_claw_cli_start` 中手动调用 `register_cap_skill()` 并重新编译。

  作为替代方案，可通过 `cap call activate_skill '{"skill_id":"your_skill"}'` 在串口直接操作 Skill。
</Aside>

模型侧用 `activate_skill` / `deactivate_skill`；人类在串口可用 `skill` 命令（由 `cmd_cap_skill` 注册）来管理 Skill，例如：

```sh
skill --catalog
skill --list --session default
skill --activate weather --session default
skill --deactivate weather --session default
skill --clear --session default
```

请保证 `--session` 与当前 `session` 命令切到的 id 一致，否则看起来会像「激活了但没进上下文」。

## 自动化 auto

```sh
auto reload
auto rules
auto last
...
```

<LinkCard
  href="@lang/reference-project/dataflow-and-automation#event-router-提供的-console-命令"
  title="数据流与自动化"
  description="更多命令、详细用法见此文档"
/>


## 其它已注册的 cap 命令

`edge_agent` 中通过各 Capability Group 注册了 `help`、`cap`、`auto`、`time`、`web_search`、`mcp_client`、`mcp_server`、`llm_inspect`、`event_router` 等命令。
在 Console 中输入 `help` 可浏览所有命令。

`cap` 命令除常规子命令（`list`、`call`、`groups`、`enable`、`disable`、`unload`）外，还支持 `cap load qq`（动态注册由 `cap_im_platform` 实现的 `cap_im_qq` 组）。

## 系统配置

运行时改 Wi‑Fi、LLM 等，用 Web 往往更顺手：

<LinkCard href="@lang/tutorial/web-config" title="Web 配置" icon="laptop" description="局域网浏览器修改设置与文件" />
<LinkCard href="@lang/reference-project/configuration" title="配置说明" icon="settings" description="NVS 键与生效方式" />
