feature:新增提示词工坊功能
This commit is contained in:
@@ -4,6 +4,7 @@ from typing import Optional
|
||||
from pathlib import Path
|
||||
import logging
|
||||
import os
|
||||
import uuid
|
||||
|
||||
# 获取项目根目录(从backend/app/config.py向上两级)
|
||||
PROJECT_ROOT = Path(__file__).parent.parent
|
||||
@@ -106,6 +107,11 @@ class Settings(BaseSettings):
|
||||
SESSION_EXPIRE_MINUTES: int = 120 # 会话过期时间(分钟),默认2小时
|
||||
SESSION_REFRESH_THRESHOLD_MINUTES: int = 30 # 会话刷新阈值(分钟),剩余时间少于此值时可刷新
|
||||
|
||||
# 提示词工坊配置
|
||||
WORKSHOP_MODE: str = "client" # client: 本地部署实例, server: 云端中央服务器
|
||||
WORKSHOP_CLOUD_URL: str = "https://mumuverse.space:1566" # 云端服务地址
|
||||
WORKSHOP_API_TIMEOUT: int = 30 # 云端API请求超时时间(秒)
|
||||
|
||||
class Config:
|
||||
env_file = ".env"
|
||||
case_sensitive = False
|
||||
@@ -117,3 +123,27 @@ settings = Settings()
|
||||
config_logger.info(f"配置加载完成: {settings.app_name} v{settings.app_version}")
|
||||
config_logger.debug(f"调试模式: {settings.debug}")
|
||||
config_logger.debug(f"AI提供商: {settings.default_ai_provider}")
|
||||
|
||||
|
||||
# ==================== 提示词工坊实例标识 ====================
|
||||
|
||||
def get_or_create_instance_id() -> str:
|
||||
"""获取或创建实例唯一标识"""
|
||||
instance_file = PROJECT_ROOT / ".instance_id"
|
||||
if instance_file.exists():
|
||||
with open(instance_file, 'r') as f:
|
||||
return f.read().strip()
|
||||
else:
|
||||
instance_id = str(uuid.uuid4())[:12]
|
||||
with open(instance_file, 'w') as f:
|
||||
f.write(instance_id)
|
||||
config_logger.info(f"生成新的实例标识: {instance_id}")
|
||||
return instance_id
|
||||
|
||||
INSTANCE_ID = get_or_create_instance_id()
|
||||
|
||||
def is_workshop_server() -> bool:
|
||||
"""判断当前实例是否为工坊服务端"""
|
||||
return settings.WORKSHOP_MODE.lower() == "server"
|
||||
|
||||
config_logger.info(f"提示词工坊模式: {settings.WORKSHOP_MODE}, 实例ID: {INSTANCE_ID}")
|
||||
|
||||
Reference in New Issue
Block a user