fix(lint): 修复 PR #14 引入的 lint 回退 (119→0)
PR #14 从旧分支复制文件导致回退了 PR #10 的 lint 修复。 修复内容: - autoflake 移除未使用导入/变量 - autopep8 修复缩进/空格 - 手动修复 F821(pathlib→Path), F541(f-string), F841(未使用变量) - 所有修复均通过 flake8 --max-line-length=120 --extend-ignore=E501 检查 (0 errors)
This commit is contained in:
+19
-14
@@ -1,6 +1,13 @@
|
||||
"""v2.6 主入口 - FastAPI + Daemon ticker 共享 asyncio event loop"""
|
||||
|
||||
from __future__ import annotations
|
||||
from src.api.toolchain_routes import router as toolchain_router
|
||||
from src.api.mail_routes import router as mail_router
|
||||
from src.api.sse_routes import router as sse_router
|
||||
from src.api.project_routes import router as project_router
|
||||
from src.api.daemon_routes import router as daemon_router
|
||||
from src.api.checkpoint_routes import router as checkpoint_router
|
||||
from src.api.blackboard_routes import router as blackboard_router
|
||||
|
||||
import logging
|
||||
from contextlib import asynccontextmanager
|
||||
@@ -131,7 +138,8 @@ async def lifespan(app: FastAPI):
|
||||
counter = ActiveAgentCounter(
|
||||
max_global=daemon_config.get("max_global_agents", 5),
|
||||
max_per_session=daemon_config.get("max_per_session", 1),
|
||||
max_concurrent_sessions=daemon_config.get("max_concurrent_sessions", 3),
|
||||
max_concurrent_sessions=daemon_config.get(
|
||||
"max_concurrent_sessions", 3),
|
||||
default_cooldown_seconds=daemon_config.get("cooldown_seconds", 120),
|
||||
)
|
||||
# BootstrapBuilder(L2 四段式引擎注入层,v2.1)
|
||||
@@ -181,7 +189,10 @@ async def lifespan(app: FastAPI):
|
||||
spawner=spawner,
|
||||
counter=counter,
|
||||
db_path=default_db_path,
|
||||
guardrails=GuardrailEngine(config_path=Path(__file__).parent.parent / "config" / "guardrails.yaml"),
|
||||
guardrails=GuardrailEngine(
|
||||
config_path=Path(__file__).parent.parent /
|
||||
"config" /
|
||||
"guardrails.yaml"),
|
||||
)
|
||||
|
||||
# ── 集成模块 ──
|
||||
@@ -191,7 +202,7 @@ async def lifespan(app: FastAPI):
|
||||
)
|
||||
|
||||
# ExperienceDistiller(经验自动蒸馏)
|
||||
experience_config = config.get("experience", {})
|
||||
config.get("experience", {})
|
||||
experience_distiller = ExperienceDistiller(
|
||||
store=ExperienceStore(store_path=DATA_ROOT / "experiences.jsonl"),
|
||||
)
|
||||
@@ -252,13 +263,6 @@ app.add_middleware(
|
||||
# API 路由注册
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
from src.api.blackboard_routes import router as blackboard_router
|
||||
from src.api.checkpoint_routes import router as checkpoint_router
|
||||
from src.api.daemon_routes import router as daemon_router
|
||||
from src.api.project_routes import router as project_router
|
||||
from src.api.sse_routes import router as sse_router
|
||||
from src.api.mail_routes import router as mail_router
|
||||
from src.api.toolchain_routes import router as toolchain_router
|
||||
|
||||
app.include_router(blackboard_router)
|
||||
app.include_router(checkpoint_router)
|
||||
@@ -300,16 +304,17 @@ async def list_projects_compat():
|
||||
DIST_DIR = Path(__file__).parent / "frontend" / "dist"
|
||||
if DIST_DIR.exists():
|
||||
# v3.1: 缓存策略 - HTML 不缓存(确保新版本生效),JS/CSS 长缓存(Vite content hash 已处理)
|
||||
import mimetypes
|
||||
_static_app = StaticFiles(directory=str(DIST_DIR), html=True)
|
||||
|
||||
|
||||
class CachedStaticFiles:
|
||||
"""包装 StaticFiles,添加 Cache-Control 头"""
|
||||
|
||||
def __init__(self, app):
|
||||
self._app = app
|
||||
|
||||
|
||||
async def __call__(self, scope, receive, send):
|
||||
original_send = send
|
||||
|
||||
async def patched_send(message):
|
||||
if message.get("type") == "http.response.start":
|
||||
headers = dict(message.get("headers", []))
|
||||
@@ -321,5 +326,5 @@ if DIST_DIR.exists():
|
||||
message["headers"] = list(headers.items())
|
||||
await original_send(message)
|
||||
await self._app(scope, receive, patched_send)
|
||||
|
||||
|
||||
app.mount("/", CachedStaticFiles(_static_app), name="frontend")
|
||||
|
||||
Reference in New Issue
Block a user