fix:无意图识别时,无"plugins"配置报错的bug

This commit is contained in:
hrz
2025-12-18 11:18:49 +08:00
parent a00f8e4b76
commit 19736e66ad
6 changed files with 25 additions and 24 deletions
@@ -11,15 +11,17 @@ def append_devices_to_prompt(conn):
"functions", []
)
# 安全地获取插件配置
plugins_config = conn.config.get("plugins", {})
config_source = (
"home_assistant"
if conn.config["plugins"].get("home_assistant")
if plugins_config.get("home_assistant")
else "hass_get_state"
)
if "hass_get_state" in funcs or "hass_set_state" in funcs:
prompt = "\n下面是我家智能设备列表(位置,设备名,entity_id),可以通过homeassistant控制\n"
deviceStr = conn.config["plugins"].get(config_source, {}).get("devices", "")
deviceStr = plugins_config.get(config_source, {}).get("devices", "")
conn.prompt += prompt + deviceStr + "\n"
# 更新提示词
conn.dialogue.update_system_message(conn.prompt)
@@ -30,17 +32,17 @@ def initialize_hass_handler(conn):
if not conn.load_function_plugin:
return ha_config
# 安全地获取插件配置
plugins_config = conn.config.get("plugins", {})
# 确定配置来源
config_source = (
"home_assistant"
if conn.config["plugins"].get("home_assistant")
else "hass_get_state"
"home_assistant" if plugins_config.get("home_assistant") else "hass_get_state"
)
if not conn.config["plugins"].get(config_source):
if not plugins_config.get(config_source):
return ha_config
# 统一获取配置
plugin_config = conn.config["plugins"][config_source]
plugin_config = plugins_config[config_source]
ha_config["base_url"] = plugin_config.get("base_url")
ha_config["api_key"] = plugin_config.get("api_key")