diff --git a/backend/scripts/run_parallel_simulation.py b/backend/scripts/run_parallel_simulation.py index e9bb943..bc352c6 100644 --- a/backend/scripts/run_parallel_simulation.py +++ b/backend/scripts/run_parallel_simulation.py @@ -1019,9 +1019,16 @@ def create_model(config: Dict[str, Any], use_boost: bool = False): if not llm_model: llm_model = config.get("llm_model", "gpt-4o-mini") + # Set env vars for camel-ai factory check (required) + if llm_api_key: + os.environ["OPENAI_API_KEY"] = llm_api_key + if not llm_api_key: raise ValueError("LLM_API_KEY not configured. Set it in .env file.") + if llm_base_url: + os.environ["OPENAI_BASE_URL"] = llm_base_url + print(f"{config_label} model={llm_model}, base_url={llm_base_url[:40] if llm_base_url else '默认'}...") # camel-ai reads OPENAI_API_KEY from env automatically diff --git a/backend/scripts/run_reddit_simulation.py b/backend/scripts/run_reddit_simulation.py index fdd73cb..b2fe977 100644 --- a/backend/scripts/run_reddit_simulation.py +++ b/backend/scripts/run_reddit_simulation.py @@ -449,9 +449,16 @@ class RedditSimulationRunner: if not llm_model: llm_model = self.config.get("llm_model", "gpt-4o-mini") + # Set env vars for camel-ai factory check (required) + if llm_api_key: + os.environ["OPENAI_API_KEY"] = llm_api_key + if not llm_api_key: raise ValueError("LLM_API_KEY not configured. Set it in .env file.") + if llm_base_url: + os.environ["OPENAI_BASE_URL"] = llm_base_url + print(f"LLM配置: model={llm_model}, base_url={llm_base_url[:40] if llm_base_url else '默认'}...") # Pass api_key and base_url via model_config_dict diff --git a/backend/scripts/run_twitter_simulation.py b/backend/scripts/run_twitter_simulation.py index 61c6c13..71d6368 100644 --- a/backend/scripts/run_twitter_simulation.py +++ b/backend/scripts/run_twitter_simulation.py @@ -442,9 +442,16 @@ class TwitterSimulationRunner: if not llm_model: llm_model = self.config.get("llm_model", "gpt-4o-mini") + # Set env vars for camel-ai factory check (required) + if llm_api_key: + os.environ["OPENAI_API_KEY"] = llm_api_key + if not llm_api_key: raise ValueError("LLM_API_KEY not configured. Set it in .env file.") + if llm_base_url: + os.environ["OPENAI_BASE_URL"] = llm_base_url + print(f"LLM配置: model={llm_model}, base_url={llm_base_url[:40] if llm_base_url else '默认'}...") # Pass api_key and base_url via model_config_dict diff --git a/frontend/src/components/Step2EnvSetup.vue b/frontend/src/components/Step2EnvSetup.vue index a27ba34..5b724e7 100644 --- a/frontend/src/components/Step2EnvSetup.vue +++ b/frontend/src/components/Step2EnvSetup.vue @@ -1369,6 +1369,7 @@ onUnmounted(() => { font-size: 14px; font-weight: 700; color: #000; + font-family: -apple-system, BlinkMacSystemFont, 'Noto Sans Thai', 'Sarabun', 'Kanit', system-ui, sans-serif; } .profile-username {