feat: 实现时间同步、NVS稳定性修复和ESP-IDF v6.0兼容性改进
This commit is contained in:
@@ -259,20 +259,35 @@ const char *llm_provider_get_base_url(const char *provider_name) {
|
||||
|
||||
/* Initialize provider system (load from NVS) */
|
||||
void llm_provider_init(void) {
|
||||
/* Load API key for current provider */
|
||||
const char *api_key = llm_provider_get_api_key(s_current_provider->name);
|
||||
if (api_key) {
|
||||
strncpy(s_api_key, api_key, sizeof(s_api_key) - 1);
|
||||
s_api_key[sizeof(s_api_key) - 1] = '\0';
|
||||
const char *nvs_key = get_provider_api_key_nvs_key(s_current_provider->name);
|
||||
if (nvs_key) {
|
||||
nvs_handle_t nvs;
|
||||
if (nvs_open(MIMI_NVS_LLM, NVS_READONLY, &nvs) == ESP_OK) {
|
||||
size_t len = sizeof(s_api_key);
|
||||
if (nvs_get_str(nvs, nvs_key, s_api_key, &len) != ESP_OK || !s_api_key[0]) {
|
||||
s_api_key[0] = '\0';
|
||||
}
|
||||
nvs_close(nvs);
|
||||
} else {
|
||||
s_api_key[0] = '\0';
|
||||
}
|
||||
} else {
|
||||
s_api_key[0] = '\0';
|
||||
}
|
||||
|
||||
/* Load Base URL for current provider */
|
||||
const char *base_url = llm_provider_get_base_url(s_current_provider->name);
|
||||
if (base_url) {
|
||||
strncpy(s_base_url, base_url, sizeof(s_base_url) - 1);
|
||||
s_base_url[sizeof(s_base_url) - 1] = '\0';
|
||||
/* Load Base URL for current provider directly from NVS */
|
||||
const char *url_nvs_key = get_provider_base_url_nvs_key(s_current_provider->name);
|
||||
if (url_nvs_key) {
|
||||
nvs_handle_t nvs;
|
||||
if (nvs_open(MIMI_NVS_LLM, NVS_READONLY, &nvs) == ESP_OK) {
|
||||
size_t len = sizeof(s_base_url);
|
||||
if (nvs_get_str(nvs, url_nvs_key, s_base_url, &len) != ESP_OK || !s_base_url[0]) {
|
||||
s_base_url[0] = '\0';
|
||||
}
|
||||
nvs_close(nvs);
|
||||
} else {
|
||||
s_base_url[0] = '\0';
|
||||
}
|
||||
} else {
|
||||
s_base_url[0] = '\0';
|
||||
}
|
||||
|
||||
@@ -184,11 +184,6 @@ static esp_err_t http_event_handler(esp_http_client_event_t *evt)
|
||||
|
||||
/* ── Provider helpers ──────────────────────────────────────────── */
|
||||
|
||||
static bool provider_is_openai(void)
|
||||
{
|
||||
return llm_provider_is_openai_compatible();
|
||||
}
|
||||
|
||||
static const char *llm_api_url(void)
|
||||
{
|
||||
return llm_provider_api_url();
|
||||
|
||||
Reference in New Issue
Block a user