飞书是字节跳动开发的一站式企业协作平台核心整合即时通讯、云文档、视频会议、日历和工作台五大模块。它以提升组织协同效率为核心通过无限消息记录、实时多人文档编辑、智能会议纪要等特色功能打造流畅的协作体验。平台提供丰富的开放API接口支持深度集成第三方应用特别适合企业级场景。2023年推出的飞书智能伙伴集成大模型AI能力实现智能对话、文档创作和知识问答。在教育领域飞书可作为MimiClaw等AI硬件的理想接入平台通过机器人API和云文档实现智能设备管理与数据协同构建完整的教育信息化生态。一、环境与代码准备需核对二、创建必须的 SD 卡文件文件夹D:\Espressif\frameworks\esp-idf-v5.5.3\mimiclaw手动新建文件夹sdcard结构必须如下mimiclaw/ └── sdcard/ ├── config/ ├── img/ ├── memory/ └── skills/最重要在 sdcard/config/ 里新建system.conf内容直接复制把你的信息填进去#WiFi必须2.4GWIFI_SSID你的WiFi名WIFI_PWD你的WiFi密码#LLM填你自己的LLM_API_KEYsk-xxxxxxxxxxxxLLM_MODELmoonshot-v1-8k#飞书机器人必填FEISHU_APP_IDcli-xxxxxxxFEISHU_APP_SECRETxxxxxxxxxFEISHU_ENCRYPT_KEYFEISHU_VERIFICATION_TOKEN三、把整个 sdcard 复制到 K10 的 TF 卡根目录步骤把 K10 配的 TF 卡 拿出来插电脑把刚创建的 sdcard 里的 4 个文件夹config / img / memory / skills直接复制到 TF 卡根目录把 TF 卡插回 K10四、编译烧录直接复制命令打开你的 ESP-IDF 5.5.3 命令行cdD:\Espressif\frameworks\esp-idf-v5.5.3\mimiclaw idf.py fullclean idf.py erase_flash-pCOM你的串口号 idf.py build flash monitor-pCOM你的串口号五、飞书连接成功标志烧录后你会在串口看到WiFi connect successFeishu bot connectedMimiClaw started看到 Feishu bot connected说明飞书已经接入成功MimiClaw运行日志I (895) mimi: SPIFFS: total11378081, used7530I (895) bus: Message bus initialized (queue depth 16)I (895) memory: Memory store initialized at /spiffsI (895) skills: Initializing skills systemI (1235) skills: Skills system ready (4 skills on SPIFFS)I (1235) session: Session manager initialized at /spiffs/sessionsI (1235) pp: pp rom version: e7ae62fI (1235) net80211: net80211 rom version: e7ae62fI (1245) wifi:wifi driver task: 3fcee95c, prio:23, stack:6656, core0I (1245) wifi:wifi firmware version: 4df78f2I (1245) wifi:wifi certification version: v7.0I (1245) wifi:config NVS flash: enabledI (1245) wifi:config nano formatting: disabledI (1255) wifi:Init data frame dynamic rx buffer num: 6I (1255) wifi:Init static rx mgmt buffer num: 5I (1255) wifi:Init management short buffer num: 32I (1255) wifi:Init dynamic tx buffer num: 32I (1255) wifi:Init static tx FG buffer num: 2I (1255) wifi:Init static rx buffer size: 1600I (1255) wifi:Init static rx buffer num: 3I (1255) wifi:Init dynamic rx buffer num: 6I (1255) wifi_init: rx ba win: 3I (1255) wifi_init: accept mbox: 6I (1255) wifi_init: tcpip mbox: 16I (1255) wifi_init: udp mbox: 6I (1255) wifi_init: tcp mbox: 6I (1255) wifi_init: tcp tx win: 5760I (1255) wifi_init: tcp rx win: 5760I (1255) wifi_init: tcp mss: 1440I (1255) wifi_init: WiFi IRAM OP enabledI (1255) wifi_init: WiFi RX IRAM OP enabledI (1255) wifi: WiFi manager initializedW (1255) telegram: No Telegram bot token. Use CLI: set_tg_tokenI (1255) feishu: Feishu credentials loaded (app_idcli_a95a…)I (1255) llm: LLM proxy initialized (provider: openai, model: deepseek-chat)W (1255) web_search: No search API key. Use CLI: set_search_key or set_tavily_keyI (1255) tools: Registered tool: web_searchI (1255) tools: Registered tool: get_current_timeI (1255) tools: Registered tool: read_fileI (1255) tools: Registered tool: write_fileI (1255) tools: Registered tool: edit_fileI (1255) tools: Registered tool: list_dirI (1255) tools: Registered tool: cron_addI (1255) tools: Registered tool: cron_listI (1255) tools: Registered tool: cron_removeI (1255) tool_gpio: GPIO tool initialized (pin range 1-21)I (1255) tools: Registered tool: gpio_writeI (1255) tools: Registered tool: gpio_readI (1255) tools: Registered tool: gpio_read_allI (1265) tools: Tools JSON built (12 tools)I (1265) tools: Tool registry initializedI (1655) cron: No cron file found, starting freshI (1655) heartbeat: Heartbeat service initialized (file: /spiffs/HEARTBEAT.md, interval: 1800s)I (1655) agent: Agent loop initializedType ‘help’ to get the list of commands.Use UP/DOWN arrows to navigate through command history.Press TAB when typing command name to auto-complete.Your terminal application does not support escape sequences.Line editing and history features are disabled.On Windows, try using Windows Terminal or Putty instead.mimi I (2655) cli: Serial CLI startedI (2655) mimi: Serial CLI started. Type ‘help’ for commands.I (2655) wifi: Connecting to SSID: zhz3W (2665) wifi:Password length matches WPA2 standards, authmode threshold changes from OPEN to WPA2I (2665) phy_init: phy_version 711,97bcf0a2,Aug 25 2025,19:04:10I (2695) wifi:mode : sta (cc:ba:97:24:bd:ac)I (2695) wifi:enable tsfI (2695) mimi: Scanning nearby APs on boot…I (2695) wifi: Scanning nearby APs…W (2705) wifi: Disconnected (reason36:UNKNOWN)W (2705) wifi: Disconnected, retry 1/10 in 1000msW (3705) wifi: No APs foundE (3705) wifi:sta is connecting, return errorI (3705) mimi: Waiting for WiFi connection…I (4435) wifi7,0, old:1,0, ap:255,255, sta:7,0, prof:1, snd_ch_cfg:0x0I (4435) wifi:state: init - auth (0xb0)I (4495) wifi:state: auth - assoc (0x0)I (4535) wifi:state: assoc - run (0x10)I (4665) wifi:connected with zhz3, aid 2, channel 7, BW20, bssid 3c57:69:0f:3aI (4665) wifi:security: WPA2-PSK, phy: bgn, rssi: -51I (4665) wifi:pm start, type: 1I (4665) wifi:dp: 1, bi: 102400, li: 3, scale listen interval from 307200 us to 307200 usI (4665) wifi:set rx beacon pti, rx_bcn_pti: 0, bcn_timeout: 25000, mt_pti: 0, mt_time: 10000I (4675) wifi:AP’s beacon interval 102400 us, DTIM period 1I (5195) wifi:idx:0 (ifx:0, 3c57:69:0f:3a), tid:0, ssn:2, winSize:64I (6405) esp_netif_handlers: sta ip: 192.168.28.75, mask: 255.255.255.0, gw: 192.168.28.1I (6405) wifi: Connected! IP: 192.168.28.75I (6405) mimi: WiFi connected: 192.168.28.75I (6405) onboard: I (6405) onboard: Starting WiFi Configuration PortalI (6405) onboard: I (6405) wifi:mode : sta (cc:ba:97:24:bd:ac) softAP (cc:ba:97:24:bd:ad)I (6405) wifi:Total power save buffer number: 16I (6405) wifi:Init max length of beacon: 752/752I (6405) wifi:Init max length of beacon: 752/752I (6415) esp_netif_lwip: DHCP server started on interface WIFI_AP_DEF with IP: 192.168.4.1I (6415) wifi:Total power save buffer number: 16I (6415) onboard: Soft AP started: MimiClaw-BDAD (open)I (6415) esp_netif_lwip: DHCP server started on interface WIFI_AP_DEF with IP: 192.168.4.1I (6415) onboard: HTTP server started on port 80I (6425) onboard: Connect to MimiClaw-XXXX WiFi, then open http://192.168.4.1I (6425) onboard: Local admin portal stays available while STA is connectedI (6425) mimi: Outbound dispatch startedI (6425) agent: agent_loop task created with stack24576 bytesI (6425) agent: Agent loop started on core 1I (6425) feishu: Feishu WebSocket mode enabledI (6425) ws: WebSocket server started on port 18789I (6425) mimi: All services started!I (6425) mimi: MimiClaw ready. Type ‘help’ for CLI commands.I (6435) main_task: Returned from app_main()I (6465) wifi:idx:1 (ifx:0, 3c57:69:0f:3a), tid:5, ssn:1, winSize:64I (8395) feishu: WS config ready: service_id33554678 ping90000msI (8395) websocket_client: StartedI (9395) feishu: Feishu WS connectedI (55675) feishu: Message from ou_1f6ce18f5c5d222d9fa9a1719b359ee2 in oc_1c91518431fd91ea11c03cf269bdcd33(p2p): 你好I (55675) agent: Processing message from feishu:ou_1f6ce18f5c5d222d9fa9a1719b359ee2I (57815) skills: Skills summary: 511 bytesI (57815) context: System prompt built: 3912 bytesI (57815) agent: LLM turn context: channelfeishu chat_idou_1f6ce18f5c5d222d9fa9a1719b359ee2I (58345) mimi: Dispatching response to feishu:ou_1f6ce18f5c5d222d9fa9a1719b359ee2I (58355) llm: Calling LLM API with tools (provider: openai, model: deepseek-chat, body: 8712 bytes)I (58355) llm: LLM tools request (8712 bytes): {“model”:“deepseek-chat”,“max_completion_tokens”:4096,“messages”:[{“role”:“system”,“content”:# MimiClaw\n\nYou are MimiClaw, a personal AI assistant running on …I (59115) feishu: Got tenant access token (expires in 7200s)I (59985) feishu: Sent to ou_1f6ce18f5c5d222d9fa9a1719b359ee2 (22 bytes)I (59995) mimi: Feishu send success for ou_1f6ce18f5c5d222d9fa9a1719b359ee2 (22 bytes)I (61715) llm: LLM tools raw response (682 bytes): {“id”:“ec95d3ac-65a5-4403-8caf-3ad3adc4226d”,“object”:“chat.completion”,“created”:1775300551,“model”:“deepseek-chat”,“choices”:[{“index”:0,“message”:{“role”:“as …I (61715) llm: Response: 208 bytes text, 0 tool calls, stopend_turnI (62825) agent: Session saved for chat ou_1f6ce18f5c5d222d9fa9a1719b359ee2I (62825) agent: Queue final response to feishu:ou_1f6ce18f5c5d222d9fa9a1719b359ee2 (208 bytes)I (62825) agent: Free PSRAM: 8285012 bytesI (62825) mimi: Dispatching response to feishu:ou_1f6ce18f5c5d222d9fa9a1719b359ee2I (63865) feishu: Sent to ou_1f6ce18f5c5d222d9fa9a1719b359ee2 (208 bytes)I (63865) mimi: Feishu send success for ou_1f6ce18f5c5d222d9fa9a1719b359ee2 (208 bytes)I (120695) feishu: Message from ou_1f6ce18f5c5d222d9fa9a1719b359ee2 in oc_1c91518431fd91ea11c03cf269bdcd33(p2p): 你好I (120695) agent: Processing message from feishu:ou_1f6ce18f5c5d222d9fa9a1719b359ee2I (123425) skills: Skills summary: 511 bytesI (123425) context: System prompt built: 3912 bytesI (123425) agent: LLM turn context: channelfeishu chat_idou_1f6ce18f5c5d222d9fa9a1719b359ee2I (123435) mimi: Dispatching response to feishu:ou_1f6ce18f5c5d222d9fa9a1719b359ee2I (123445) llm: Calling LLM API with tools (provider: openai, model: deepseek-chat, body: 8991 bytes)I (123445) llm: LLM tools request (8991 bytes): {“model”:“deepseek-chat”,“max_completion_tokens”:4096,“messages”:[{“role”:“system”,“content”:”# MimiClaw\n\nYou are MimiClaw, a personal AI assistant running on …I (124505) feishu: Sent to ou_1f6ce18f5c5d222d9fa9a1719b359ee2 (22 bytes)I (124505) mimi: Feishu send success for ou_1f6ce18f5c5d222d9fa9a1719b359ee2 (22 bytes)I (127065) llm: LLM tools raw response (779 bytes): {“id”:“982d7c20-7016-456a-9496-bb483f359ef2”,“object”:“chat.completion”,“created”:1775300616,“model”:“deepseek-chat”,“choices”:[{“index”:0,“message”:{“role”:as …I (127075) llm: Response: 295 bytes text, 0 tool calls, stopend_turnI (127085) agent: Session saved for chat ou_1f6ce18f5c5d222d9fa9a1719b359ee2I (127085) agent: Queue final response to feishu:ou_1f6ce18f5c5d222d9fa9a1719b359ee2 (295 bytes)I (127085) agent: Free PSRAM: 8285012 bytesI (127085) mimi: Dispatching response to feishu:ou_1f6ce18f5c5d222d9fa9a1719b359ee2I (128095) feishu: Sent to ou_1f6ce18f5c5d222d9fa9a1719b359ee2 (295 bytes)I (128095) mimi: Feishu send success for ou_1f6ce18f5c5d222d9fa9a1719b359ee2 (295 bytes)通过飞书进行对话