这是一份为您量身定制的 CSDN 博客草稿。内容延续了您前两篇关于 Open Claw 和 Mimi Claw 的系列教程风格,并且自然融入了您的博客标识,详细讲解了多模型切换的方法和底层逻辑。


open claw esp32部署 —— mimi claw (国内无代理版本)保姆级教程
open claw esp32部署 —— mimi claw
在前面的两篇教程中,我们已经成功在 Windows 环境下使用 Trae IDE 完成了 Mimi Claw 的基础部署,并跑通了“飞书 + Kimi”的国内无代理直连方案。很多朋友在后台留言问:**“我想换成最近大火的 DeepSeek 或者智谱 GLM,怎么办?”


1. 为什么推荐使用国内大模型?

在嵌入式 AI 开发中,网络稳定性是第一位的。使用 Anthropic 或 OpenAI 需要在固件中配置代理 IP 和端口。而使用国内模型服务(如 Kimi、GLM、MiniMax 或 DeepSeek),在国内网络环境下可以直接访问,无需代理。这大大降低了网络延迟和掉线率,非常适合我们做个人桌面助理或机器人大脑。

MimiClaw 目前原生支持以下国内模型提供商:

  • Kimi (Moonshot AI)moonshot-v1-8k, moonshot-v1-32k
  • GLM (智谱 AI)glm-4.7
  • DeepSeek (深度求索)deepseek-chat, deepseek-llm
  • MiniMaxMiniMax-M2.7, MiniMax-M2.5

2. 模型切换实战:两种配置方式

MimiClaw 提供了两种非常灵活的配置方式,你可以根据自己的开发习惯来选择。

方式一:编译时配置(推荐,稳如老狗)

这种方式适合你已经选定了一个主力模型,长期固定使用。所有的配置都在 main/mimi_secrets.h 中完成。

  1. 首先,复制示例文件:

    cp main/mimi_secrets.h.example main/mimi_secrets.h
    
  2. 打开 mimi_secrets.h,找到 LLM 模型配置 区域。

  3. 注释掉不需要的模型,并解开你想要使用的模型配置。以 DeepSeek 为例:

    // DeepSeek 配置示例
    #define MIMI_SECRET_API_KEY         "sk-你的真实API_KEY"
    #define MIMI_SECRET_MODEL_PROVIDER  "deepseek"
    #define MIMI_SECRET_MODEL           "deepseek-chat"
    
  4. 保存后,清理缓存并重新编译烧录:

    idf.py fullclean
    idf.py build
    idf.py -p COM口 flash monitor
    

方式二:运行时串口 CLI 配置(极客最爱,动态秒切)

如果你想对比测试不同模型的响应速度和智商,每次重新编译烧录太麻烦了。MimiClaw 支持在运行时通过 CLI 命令配置。

通过串口终端(例如打开 idf.py monitor),你可以直接输入命令实时切换。

切换到智谱 GLM:

set_model_provider glm
set_model glm-4.7
set_api_key sk-你的智谱API_KEY
restart

切换到 MiniMax:

set_model_provider minimax
set_model MiniMax-M2.7
set_api_key sk-你的MiniMax_API_KEY
restart

提示:配置完成后,记得输入 restart 命令让设备重启,新的模型配置即可生效!


3. 进阶探讨:MimiClaw 是如何支持多模型的?

知其然,更要知其所以然。MimiClaw 为什么能这么丝滑地切换模型?

翻看项目代码的架构分析,你会发现整个系统以 app_main 为入口,初始化硬件和各个子系统,并通过 FreeRTOS 任务和队列进行通信。在处理对话的生命周期时,核心的 ReAct (Reasoning and Acting) 循环位于 agent_loop.c 中。

在网络请求层,作者设计了一个非常关键的模块:llm_proxy 大模型代理
它位于 main/llm/llm_proxy.c。这个模块的作用相当于一个“翻译官”和“路由器”。

agent_loop 决定要请求大模型时,它不需要关心底层是哪个厂家的 API:

  1. agent_loop 统一向 llm_proxy 发起标准请求(包含上下文记忆和工具定义)。
  2. llm_proxy 提供统一的 API 调用接口,支持多种 LLM 提供商。
  3. 获得云端响应后,如果返回的是工具调用(比如 “Tool Call: get_weather”),agent 就会转而去执行 tool_registry 中的工具。

这种解耦设计使得添加一个新模型变得极其简单——只需要在 llm_proxy.c 中添加对应厂商的接口地址和特定的 JSON 字段解析逻辑即可,上层的对话逻辑和工具系统完全不用动。

如果你使用的模型不在上述列表中,但它兼容 OpenAI 的 API 格式,你甚至可以直接使用自定义模型 API 功能,通过设定 set_model_provider customset_api_url 来无缝接入。


4. 总结

到目前为止,我们已经为 ESP32 注入了灵魂。你可以给它装上 Kimi 的快速阅读能力,或者 DeepSeek 的深度推理能力,而且一切交互都是在没有 Python 环境的纯 C RTOS 裸机上完成的。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐