跳到主要内容

5.1 配置聊天软件

1. 设置飞书机器人

  1. 访问 飞书开放平台

    mimiclaw-6

  2. 创建应用,获取 App ID(应用 ID) 和 App Secret(应用密钥)

    mimiclaw-9

  3. 开启权限:

    • im:message - 发送和接收消息

      mimiclaw-7

    • im:message:send_as_bot - 以机器人身份发送消息

      mimiclaw-8

  4. 配置事件订阅:

    • 将订阅模式设置为 持久连接(长连接)

    • 订阅事件:im.message.receive_v1

      mimiclaw-10

  5. 发布机器人版本

    点击页面左上角的 创建版本 按钮,发布机器人版本

    mimiclaw-11

2. 设置微信 ClawBot

目前,微信以插件的形式提供 ClawBot 功能,需先按照下述步骤在微信中启用,并在 Web 配置页面登录:

  1. 启用微信 ClawBot 插件

    微信「我」→「设置」→「插件」→「ClawBot」,启用此插件。

    espclaw-4

    信息

    若找不到 ClawBot 插件,请尝试更新微信到最新版本。

  2. 在 Web 配置页面登录

    打开 Web 配置页面,可通过以下两种方式登录:

    • 扫码登录:点击「Generate QR」生成二维码,使用微信「我」→「设置」→「插件」→「ClawBot」→「微信扫一扫」扫描二维码。
    • 链接登录:点击「Generate QR」生成二维码后,点击「Open login link」在新窗口打开登录链接,按提示完成登录。
  3. 登录成功

  4. 登录成功后,Web 配置页面将有相应提示。

3. Console 交互

将开发板通过 USB 连到电脑,使用 idf.py monitor或在线烧录工具自带的 Console,进入 basic_demo 的交互提示符(默认 basic_demo> )。

提示

能看到日志但敲不了命令?

板子若同时有 UART 与 USB-JTAG,尝试切换到另一个接口。 单 USB 口设备可换用名称带有 JTAG 的固件变体,或 从源码编译与烧录 并调整 Channel for console output menuconfig 项。

会话与问答

切换 session

不同 session 使用不同的会话历史文件。长期记忆数据仍在共享的 memory/ 目录中管理。

session demo
session

与 LLM 对话

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

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

若设备启动时未完整配置 LLM(缺 Key / model / profile),claw_core 不会初始化,此时 ask 会失败。 见配置说明了解配置 LLM 需要的参数。

能力 cap

列出能力

cap list

调用能力

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

cap call get_current_time '{}'
cap call list_dir '{"path":"/fatfs"}'
组管理

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

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

技能 skill

skill console 命令 默认未注册

basic_demo 默认未调用 register_cap_skill(),即串口中不会出现 skill 命令。如需在串口使用 skill 命令,请在 basic_demo_cli.cbasic_demo_cli_start 中手动调用 register_cap_skill() 并重新编译。

作为替代方案,可通过 cap call activate_skill '{"skill_id":"your_skill"}' 在串口直接操作 Skill。

模型侧用 activate_skill / deactivate_skill;人类在串口可用 skill 命令(由 cmd_cap_skill 注册)来管理 Skill,例如:

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

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

自动化 auto

auto reload
auto rules
auto last