"""Flask Application Entry Point""" import logging import sys import os # Add project root to path sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) import json from datetime import datetime, date from flask import Flask, Response from config import Config from memory_system import MemorySystem from api.routes import api from auth.api_auth import require_auth, api_auth_bp logging.basicConfig( level=logging.INFO, format="%(asctime)s [%(levelname)s] %(name)s: %(message)s", ) logger = logging.getLogger(__name__) def _sanitize(obj): """Recursively sanitize data for JSON serialization.""" if isinstance(obj, dict): return {k: _sanitize(v) for k, v in obj.items()} if isinstance(obj, list): return [_sanitize(v) for v in obj] if isinstance(obj, bytes): return None if isinstance(obj, (datetime, date)): return obj.isoformat() return obj def json_response(data, status=200): """Create a JSON response with proper serialization.""" return Response( json.dumps(_sanitize(data), ensure_ascii=False), status=status, mimetype="application/json", ) LANDING_HTML = """ Memory System - 多智能体记忆系统

🧠 Memory System

多智能体记忆系统 —— 为 AI Agent 提供双层次记忆、语义检索和智能生命周期管理的基础设施。

""" def create_app(): app = Flask(__name__) app.config["JSON_SORT_KEYS"] = False app.json_response = json_response app.sanitize = _sanitize # Initialize memory system cfg = Config() app.memory_system = MemorySystem(cfg) logger.info("MemorySystem initialized") # Register auth before_request handler app.before_request(require_auth) logger.info("API Key auth middleware registered") # Register API blueprint app.register_blueprint(api) # Register admin blueprint (localhost-only) app.register_blueprint(api_auth_bp) logger.info("Admin endpoints registered at /admin/*") return app app = create_app() @app.route("/") def index(): from flask import Response return Response(LANDING_HTML, mimetype="text/html") if __name__ == "__main__": app.run(host="127.0.0.1", port=8081, debug=False)