import os # 必填参数 # API Settings BACKEND_HOST = os.getenv("BACKEND_HOST", "https://api-dev.gptbase.ai") MASTERKEY = os.getenv("MASTERKEY", "master") FASTAPI_URL = os.getenv('FASTAPI_URL', 'http://127.0.0.1:8001') # LLM Token Settings MAX_CONTEXT_TOKENS = int(os.getenv("MAX_CONTEXT_TOKENS", 262144)) MAX_OUTPUT_TOKENS = int(os.getenv("MAX_OUTPUT_TOKENS", 8000)) # 可选参数 # Summarization Settings SUMMARIZATION_MAX_TOKENS = MAX_CONTEXT_TOKENS - MAX_OUTPUT_TOKENS - 1000 SUMMARIZATION_MESSAGES_TO_KEEP = int(os.getenv("SUMMARIZATION_MESSAGES_TO_KEEP", 20)) # Agent Cache Settings TOOL_CACHE_MAX_SIZE = int(os.getenv("TOOL_CACHE_MAX_SIZE", 20)) TOOL_CACHE_TTL = int(os.getenv("TOOL_CACHE_TTL", 180)) TOOL_CACHE_AUTO_RENEW = os.getenv("TOOL_CACHE_AUTO_RENEW", "true") == "true" # Project Settings PROJECT_DATA_DIR = os.getenv("PROJECT_DATA_DIR", "./projects/data") SKILLS_DIR = os.getenv("SKILLS_DIR", "./skills") # Tokenizer Settings TOKENIZERS_PARALLELISM = os.getenv("TOKENIZERS_PARALLELISM", "true") # Embedding Model Settings SENTENCE_TRANSFORMER_MODEL = os.getenv("SENTENCE_TRANSFORMER_MODEL", "TaylorAI/gte-tiny") # Tool Output Length Control Settings TOOL_OUTPUT_MAX_LENGTH = int(SUMMARIZATION_MAX_TOKENS/4) TOOL_OUTPUT_TRUNCATION_STRATEGY = os.getenv("TOOL_OUTPUT_TRUNCATION_STRATEGY", "smart") # THINKING ENABLE DEFAULT_THINKING_ENABLE = os.getenv("DEFAULT_THINKING_ENABLE", "true") == "true" # MCP Tool Timeout Settings MCP_HTTP_TIMEOUT = int(os.getenv("MCP_HTTP_TIMEOUT", 60)) # HTTP 请求超时(秒) MCP_SSE_READ_TIMEOUT = int(os.getenv("MCP_SSE_READ_TIMEOUT", 300)) # SSE 读取超时(秒) # ============================================================ # PostgreSQL Checkpoint Configuration # ============================================================ # PostgreSQL 连接字符串 # 格式: postgresql://user:password@host:port/database #CHECKPOINT_DB_URL = os.getenv("CHECKPOINT_DB_URL", "postgresql://postgres:AeEGDB0b7Z5GK0E2tblt@dev-circleo-pg.celp3nik7oaq.ap-northeast-1.rds.amazonaws.com:5432/gptbase") CHECKPOINT_DB_URL = os.getenv("CHECKPOINT_DB_URL", "postgresql://moshui:@localhost:5432/moshui") # 连接池大小 # 同时可以持有的最大连接数 CHECKPOINT_POOL_SIZE = int(os.getenv("CHECKPOINT_POOL_SIZE", "20")) # Checkpoint 自动清理配置 # 是否启用自动清理旧 session CHECKPOINT_CLEANUP_ENABLED = os.getenv("CHECKPOINT_CLEANUP_ENABLED", "true") == "true" # 清理多少天前未活动的 thread(天数) CHECKPOINT_CLEANUP_INACTIVE_DAYS = int(os.getenv("CHECKPOINT_CLEANUP_INACTIVE_DAYS", "3")) # 清理间隔(小时) # 每隔多少小时执行一次清理任务 CHECKPOINT_CLEANUP_INTERVAL_HOURS = int(os.getenv("CHECKPOINT_CLEANUP_INTERVAL_HOURS", "24")) # ============================================================ # Memori 长期记忆配置 # ============================================================ # Memori 功能开关(全局) MEMORI_ENABLED = os.getenv("MEMORI_ENABLED", "true") == "true" # Memori API 密钥(用于高级增强功能) MEMORI_API_KEY = os.getenv("MEMORI_API_KEY", "") # 语义搜索配置 # 召回记忆数量 MEMORI_SEMANTIC_SEARCH_TOP_K = int(os.getenv("MEMORI_SEMANTIC_SEARCH_TOP_K", "5")) # 相关性阈值(0.0 - 1.0) MEMORI_SEMANTIC_SEARCH_THRESHOLD = float(os.getenv("MEMORI_SEMANTIC_SEARCH_THRESHOLD", "0.7")) # 搜索嵌入限制 MEMORI_SEMANTIC_SEARCH_EMBEDDINGS_LIMIT = int(os.getenv("MEMORI_SEMANTIC_SEARCH_EMBEDDINGS_LIMIT", "1000")) # 记忆注入配置 # 是否将记忆注入到系统提示 MEMORI_INJECT_TO_SYSTEM_PROMPT = os.getenv("MEMORI_INJECT_TO_SYSTEM_PROMPT", "true") == "true" # 增强配置 # 是否启用后台增强 MEMORI_AUGMENTATION_ENABLED = os.getenv("MEMORI_AUGMENTATION_ENABLED", "true") == "true" # 增强等待超时(秒),None 表示后台异步执行 MEMORI_AUGMENTATION_WAIT_TIMEOUT = os.getenv("MEMORI_AUGMENTATION_WAIT_TIMEOUT") if MEMORI_AUGMENTATION_WAIT_TIMEOUT: MEMORI_AUGMENTATION_WAIT_TIMEOUT = float(MEMORI_AUGMENTATION_WAIT_TIMEOUT) else: MEMORI_AUGMENTATION_WAIT_TIMEOUT = None # 嵌入模型(多语言支持) MEMORI_EMBEDDING_MODEL = os.getenv( "MEMORI_EMBEDDING_MODEL", "paraphrase-multilingual-MiniLM-L12-v2" )