Update 2026-05-18 14:31:53
This commit is contained in:
@@ -21,8 +21,8 @@ def require_login(request: Request):
|
||||
|
||||
# GitHub API配置
|
||||
GITHUB_API_BASE = "https://api.github.com"
|
||||
REPO_OWNER = "xiamuceer-j"
|
||||
REPO_NAME = "墨木灵思"
|
||||
REPO_OWNER = "mumulingsi-project"
|
||||
REPO_NAME = "mumulingsi"
|
||||
|
||||
# 缓存配置
|
||||
_cache = {
|
||||
@@ -88,7 +88,7 @@ async def fetch_github_commits(page: int = 1, per_page: int = 30) -> List[dict]:
|
||||
|
||||
headers = {
|
||||
"Accept": "application/vnd.github.v3+json",
|
||||
"User-Agent": "墨木灵思-App"
|
||||
"User-Agent": "mumulingsi-App"
|
||||
}
|
||||
|
||||
try:
|
||||
|
||||
@@ -16,7 +16,7 @@ config_logger = logging.getLogger(__name__)
|
||||
|
||||
# 数据库配置:PostgreSQL
|
||||
# 从环境变量获取数据库URL
|
||||
DATABASE_URL = os.getenv("DATABASE_URL", "postgresql+asyncpg://mumuai:password@localhost:5432/mumuai_novel")
|
||||
DATABASE_URL = os.getenv("DATABASE_URL", "postgresql+asyncpg://mumulingsi:password@localhost:5432/mumulingsi_novel")
|
||||
|
||||
config_logger.debug(f"数据库类型: PostgreSQL")
|
||||
config_logger.debug(f"数据库URL: {DATABASE_URL}")
|
||||
@@ -39,7 +39,7 @@ class Settings(BaseSettings):
|
||||
log_backup_count: int = 30 # 保留30个备份文件
|
||||
|
||||
# CORS配置
|
||||
cors_origins: list[str] = ["http://localhost:8000", "http://127.0.0.1:8000"]
|
||||
cors_origins: list[str] = ["http://localhost:3000", "http://127.0.0.1:8000"]
|
||||
|
||||
# 数据库配置 - PostgreSQL
|
||||
database_url: str = DATABASE_URL
|
||||
@@ -126,7 +126,7 @@ class Settings(BaseSettings):
|
||||
|
||||
# 提示词工坊配置
|
||||
WORKSHOP_MODE: str = "client" # client: 本地部署实例, server: 云端中央服务器
|
||||
WORKSHOP_CLOUD_URL: str = "https://mumuverse.space:1566" # 云端服务地址
|
||||
WORKSHOP_CLOUD_URL: str = "" # 云端服务地址
|
||||
WORKSHOP_API_TIMEOUT: int = 30 # 云端API请求超时时间(秒)
|
||||
|
||||
class Config:
|
||||
|
||||
@@ -141,6 +141,12 @@ async def db_session_stats(request: Request):
|
||||
}
|
||||
|
||||
|
||||
@app.get("/nanobot/sessions")
|
||||
async def nanobot_sessions():
|
||||
"""兼容层:为环境监控工具提供空的会话列表"""
|
||||
return []
|
||||
|
||||
|
||||
from app.api import (
|
||||
projects, outlines, characters, chapters,
|
||||
wizard_stream, relationships, organizations,
|
||||
|
||||
@@ -24,7 +24,7 @@ def _session_secret() -> bytes:
|
||||
or settings.openai_api_key
|
||||
)
|
||||
if not secret:
|
||||
secret = "mumuainovel-development-session-secret"
|
||||
secret = "mumulingsi-development-session-secret"
|
||||
return str(secret).encode("utf-8")
|
||||
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ logger = get_logger(__name__)
|
||||
|
||||
def normalize_provider(provider: Optional[str]) -> Optional[str]:
|
||||
"""标准化 provider 名称,兼容渠道别名。"""
|
||||
if provider == "mumu":
|
||||
if provider == "xinmi":
|
||||
return "openai"
|
||||
return provider
|
||||
|
||||
|
||||
@@ -225,11 +225,11 @@ class CoverGenerationService:
|
||||
return GeminiCoverProvider(api_key=api_key, base_url=normalized_base_url)
|
||||
if provider_value == "grok":
|
||||
return GrokCoverProvider(api_key=api_key, base_url=normalized_base_url)
|
||||
if provider_value == "mumu":
|
||||
if provider_value == "xinmi":
|
||||
if normalized_base_url.endswith("/v1beta"):
|
||||
return GeminiCoverProvider(api_key=api_key, base_url=normalized_base_url)
|
||||
return GrokCoverProvider(api_key=api_key, base_url=normalized_base_url or "https://api.mumuverse.space/v1")
|
||||
raise HTTPException(status_code=400, detail="当前版本仅支持 Gemini、Grok 或 MuMuのAPI 作为封面图片 Provider")
|
||||
return GrokCoverProvider(api_key=api_key, base_url=normalized_base_url or "v1")
|
||||
raise HTTPException(status_code=400, detail="当前版本仅支持 Gemini、Grok 或 墨木灵思 API 作为封面图片 Provider")
|
||||
|
||||
def _save_cover_file(
|
||||
self,
|
||||
|
||||
Reference in New Issue
Block a user