Files
mini-openclaw/backend/app.py
T
NathanAlex7 c4ac5aa82e feat(xingbang): 兴邦金租 AI 评审平台模块(构建于 mini-OpenClaw)
新增兴邦金租评审项目模块, 作为 mini-OpenClaw 之上的完整交付:
- 五智能体流水线(data_curator/risk_scout/case_finder/approval_advisor/risk_monitor)
- evolution 自进化子系统(轨迹采集+奖励计算+模式归纳prompt增强)
- /api/xingbang/* 端点(config/workflow/stream/evolution/trajectories)
- 运行时产物(客户产出情报卡 + 进化轨迹数据)已 gitignore, 不含隐私

遵循兴邦三档分级审批制度, 数据源指向兴邦实验数据包
2026-09-01 16:58:44 +08:00

64 lines
1.8 KiB
Python

"""Mini-OpenClaw Backend — FastAPI Entry Point"""
import os
from contextlib import asynccontextmanager
from pathlib import Path
from dotenv import load_dotenv
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
load_dotenv()
BASE_DIR = Path(__file__).resolve().parent
@asynccontextmanager
async def lifespan(app: FastAPI):
"""Startup: scan skills, initialize agent, build memory index."""
from tools.skills_scanner import scan_skills
from graph.agent import agent_manager
from graph.memory_indexer import get_memory_indexer
scan_skills(BASE_DIR)
agent_manager.initialize(BASE_DIR)
# Initialize memory indexer for RAG mode
indexer = get_memory_indexer(BASE_DIR)
indexer.rebuild_index()
print("✅ mini OpenClaw backend ready")
yield
app = FastAPI(title="mini OpenClaw", version="0.1.0", lifespan=lifespan)
app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
from api.chat import router as chat_router
from api.files import router as files_router
from api.sessions import router as sessions_router
from api.tokens import router as tokens_router
from api.compress import router as compress_router
from api.config_api import router as config_router
from api.xingbang_api import router as xingbang_router
app.include_router(chat_router, prefix="/api")
app.include_router(files_router, prefix="/api")
app.include_router(sessions_router, prefix="/api")
app.include_router(tokens_router, prefix="/api")
app.include_router(compress_router, prefix="/api")
app.include_router(config_router, prefix="/api")
app.include_router(xingbang_router)
@app.get("/")
async def root():
return {"name": "mini OpenClaw", "version": "0.1.0", "status": "running"}