#!/usr/bin/env python3 """ 环境变量检查脚本 检查工作流运行所需的环境变量 """ import os from typing import List, Dict, Tuple def check_env_vars() -> List[Tuple[str, str, str]]: """ 检查所有相关的环境变量 Returns: List of (variable_name, status, value_preview) """ # 需要检查的环境变量列表 required_vars = [ "COZE_WORKSPACE_PATH", "COZE_BUCKET_ENDPOINT_URL", "COZE_BUCKET_NAME", ] optional_vars = [ "COZE_API_KEY", "COZE_BASE_URL", "COZE_API_ENDPOINT", "PYTHONPATH", "PATH", ] results = [] # 检查必需的环境变量 for var in required_vars: value = os.environ.get(var, "") if value: status = "✅ 已设置" preview = f"{value[:50]}..." if len(value) > 50 else value else: status = "❌ 未设置" preview = "N/A" results.append((var, status, preview)) # 检查可选的环境变量 for var in optional_vars: value = os.environ.get(var, "") if value: status = "✅ 已设置" preview = f"{value[:50]}..." if len(value) > 50 else value else: status = "⚠️ 未设置(可选)" preview = "N/A" results.append((var, status, preview)) return results def check_llm_client(): """检查 LLM 客户端配置""" try: from coze_coding_dev_sdk import LLMClient from coze_coding_utils.runtime_ctx.context import new_context print("\n" + "=" * 80) print("LLM 客户端测试") print("=" * 80) # 尝试创建客户端 try: ctx = new_context(method="invoke") client = LLMClient(ctx=ctx) print("✅ LLM 客户端创建成功") # 检查客户端配置 if hasattr(client, '_client') and client._client: print(f"✅ LLM 客户端已初始化") if hasattr(client._client, 'base_url'): print(f" Base URL: {client._client.base_url}") if hasattr(client._client, 'timeout'): print(f" Timeout: {client._client.timeout}") return True except Exception as e: print(f"❌ LLM 客户端创建失败: {str(e)[:200]}") return False except ImportError as e: print(f"❌ 无法导入 LLM 客户端: {str(e)}") return False except Exception as e: print(f"❌ 检查 LLM 客户端时发生错误: {str(e)[:200]}") return False def main(): print("=" * 80) print("环境变量检查") print("=" * 80) print() results = check_env_vars() print(f"{'变量名':<40} {'状态':<20} {'值预览'}") print("-" * 100) for var, status, preview in results: print(f"{var:<40} {status:<20} {preview}") print() print("=" * 80) print("总结") print("=" * 80) required_missing = [r for r in results if "❌" in r[1] and "COZE_WORKSPACE_PATH" in r[0]] if required_missing: print("\n⚠️ 缺少必需的环境变量:") for var, _, _ in required_missing: print(f" - {var}") print("\n请设置这些环境变量后再运行工作流。") else: print("\n✅ 所有必需的环境变量都已设置。") # 检查 LLM 客户端 check_llm_client() print() print("=" * 80) print("配置建议") print("=" * 80) print() print("如果 LLM 调用失败,请检查以下配置:") print("1. 确保在 Coze 平台中正确配置了 LLM 服务") print("2. 检查是否需要设置 API 密钥或认证信息") print("3. 确认 LLM 服务的端点 URL 是否正确") print("4. 检查网络连接是否可以访问 LLM 服务") print() print("在 Docker 容器中运行时,可能需要添加以下环境变量:") print(" - COZE_WORKSPACE_PATH: 工作空间路径") print(" - 其他必要的认证和配置信息") print() if __name__ == "__main__": main()