2026-03-31 04:31:47 +00:00
|
|
|
import os
|
|
|
|
|
|
|
|
|
|
from fastapi import FastAPI
|
|
|
|
|
from fastapi.middleware.cors import CORSMiddleware
|
|
|
|
|
|
|
|
|
|
from api.bot_config_router import router as bot_config_router
|
|
|
|
|
from api.bot_management_router import router as bot_management_router
|
|
|
|
|
from api.bot_router import router as bot_router
|
|
|
|
|
from api.bot_runtime_router import router as bot_runtime_router
|
|
|
|
|
from api.bot_speech_router import router as bot_speech_router
|
|
|
|
|
from api.chat_history_router import router as chat_history_router
|
|
|
|
|
from api.chat_router import router as chat_router
|
2026-04-04 16:29:37 +00:00
|
|
|
from api.health_router import router as health_router
|
2026-03-31 04:31:47 +00:00
|
|
|
from api.image_router import router as image_router
|
2026-04-04 16:29:37 +00:00
|
|
|
from api.panel_auth_router import router as panel_auth_router
|
2026-03-31 04:31:47 +00:00
|
|
|
from api.platform_router import router as platform_router
|
|
|
|
|
from api.skill_router import router as skill_router
|
|
|
|
|
from api.system_router import router as system_router
|
|
|
|
|
from api.topic_router import router as topic_router
|
|
|
|
|
from api.workspace_router import router as workspace_router
|
|
|
|
|
from bootstrap.app_runtime import register_app_runtime
|
2026-04-04 16:29:37 +00:00
|
|
|
from core.auth_middleware import AuthAccessMiddleware
|
2026-03-31 04:31:47 +00:00
|
|
|
from core.docker_instance import docker_manager
|
2026-04-03 15:00:08 +00:00
|
|
|
from core.settings import BOTS_WORKSPACE_ROOT, CORS_ALLOWED_ORIGINS, DATA_ROOT
|
2026-03-31 04:31:47 +00:00
|
|
|
from core.speech_service import WhisperSpeechService
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def create_app() -> FastAPI:
|
|
|
|
|
app = FastAPI(title="Dashboard Nanobot API")
|
|
|
|
|
|
|
|
|
|
speech_service = WhisperSpeechService()
|
|
|
|
|
app.state.docker_manager = docker_manager
|
|
|
|
|
app.state.speech_service = speech_service
|
|
|
|
|
|
2026-04-04 16:29:37 +00:00
|
|
|
app.add_middleware(AuthAccessMiddleware)
|
2026-03-31 04:31:47 +00:00
|
|
|
app.add_middleware(
|
|
|
|
|
CORSMiddleware,
|
2026-04-03 15:00:08 +00:00
|
|
|
allow_origins=list(CORS_ALLOWED_ORIGINS),
|
2026-03-31 04:31:47 +00:00
|
|
|
allow_methods=["*"],
|
|
|
|
|
allow_headers=["*"],
|
2026-04-03 15:00:08 +00:00
|
|
|
allow_credentials=True,
|
2026-03-31 04:31:47 +00:00
|
|
|
)
|
|
|
|
|
|
2026-04-04 16:29:37 +00:00
|
|
|
app.include_router(panel_auth_router)
|
|
|
|
|
app.include_router(health_router)
|
2026-03-31 04:31:47 +00:00
|
|
|
app.include_router(platform_router)
|
|
|
|
|
app.include_router(topic_router)
|
|
|
|
|
app.include_router(system_router)
|
|
|
|
|
app.include_router(image_router)
|
|
|
|
|
app.include_router(skill_router)
|
|
|
|
|
app.include_router(chat_router)
|
|
|
|
|
app.include_router(chat_history_router)
|
|
|
|
|
app.include_router(bot_speech_router)
|
|
|
|
|
app.include_router(workspace_router)
|
|
|
|
|
app.include_router(bot_config_router)
|
|
|
|
|
app.include_router(bot_runtime_router)
|
|
|
|
|
app.include_router(bot_management_router)
|
|
|
|
|
app.include_router(bot_router)
|
|
|
|
|
|
|
|
|
|
os.makedirs(BOTS_WORKSPACE_ROOT, exist_ok=True)
|
|
|
|
|
os.makedirs(DATA_ROOT, exist_ok=True)
|
|
|
|
|
|
|
|
|
|
register_app_runtime(app)
|
|
|
|
|
return app
|