通过 sdkconfig.defaults 选择性启用/禁用模块,减少固件体积: 新增模块开关: - CONFIG_MIMI_CHAN_TELEGRAM (默认 n) - CONFIG_MIMI_CHAN_FEISHU (默认 y) - CONFIG_MIMI_TOOL_WEB_SEARCH (默认 y) - CONFIG_MIMI_TOOL_GPIO (默认 n) - CONFIG_MIMI_WS_SERVER (默认 y) - CONFIG_MIMI_WIFI_ONBOARD (默认 y) - CONFIG_MIMI_OTA (默认 n) 技术实现: - CMakeLists.txt 条件编译源文件 - 头文件使用 static inline stub - CLI 命令和工具注册也支持条件编译 消除 Telegram 未配置时的 5 秒轮询警告日志
30 lines
991 B
C
30 lines
991 B
C
#pragma once
|
|
|
|
#include "esp_err.h"
|
|
#include <stddef.h>
|
|
#include <stdio.h>
|
|
|
|
#ifdef CONFIG_MIMI_TOOL_WEB_SEARCH
|
|
esp_err_t tool_web_search_init(void);
|
|
esp_err_t tool_web_search_execute(const char *input_json, char *output, size_t output_size);
|
|
esp_err_t tool_web_search_set_key(const char *api_key);
|
|
esp_err_t tool_web_search_set_tavily_key(const char *api_key);
|
|
#else
|
|
static inline esp_err_t tool_web_search_init(void) { return ESP_OK; }
|
|
static inline esp_err_t tool_web_search_execute(const char *input_json, char *output, size_t output_size) {
|
|
(void)input_json; (void)output; (void)output_size;
|
|
if (output && output_size > 0) {
|
|
snprintf(output, output_size, "Error: Web search tool is disabled in this build.");
|
|
}
|
|
return ESP_OK;
|
|
}
|
|
static inline esp_err_t tool_web_search_set_key(const char *api_key) {
|
|
(void)api_key;
|
|
return ESP_OK;
|
|
}
|
|
static inline esp_err_t tool_web_search_set_tavily_key(const char *api_key) {
|
|
(void)api_key;
|
|
return ESP_OK;
|
|
}
|
|
#endif
|