35 lines
951 B
Python
35 lines
951 B
Python
"""API 路由 — Daemon 控制"""
|
|
|
|
from __future__ import annotations
|
|
|
|
from fastapi import APIRouter
|
|
|
|
router = APIRouter(prefix="/api/daemon", tags=["daemon"])
|
|
|
|
|
|
@router.get("/status")
|
|
async def daemon_status():
|
|
from src.main import get_ticker, config
|
|
t = get_ticker()
|
|
return {
|
|
"status": "running",
|
|
"version": "2.6.0",
|
|
"ticker_running": t is not None and t.is_running,
|
|
"tick_count": t.tick_count if t else 0,
|
|
"config": {
|
|
"tick_interval": config.get("daemon", {}).get("tick_interval", 30),
|
|
"max_global_agents": config.get("daemon", {}).get("max_global_agents", 5),
|
|
},
|
|
}
|
|
|
|
|
|
@router.post("/tick")
|
|
async def manual_tick():
|
|
"""触发手动 tick"""
|
|
from src.main import get_ticker
|
|
t = get_ticker()
|
|
if t is None:
|
|
return {"ok": False, "error": "Ticker not initialized"}
|
|
result = await t.manual_tick()
|
|
return {"ok": True, "result": result}
|