// server/api/stats.get.ts - 服务运行统计接口 import { setResponseStatus } from "h3"; import { invalidAccessTokenResponse, verifyAccessToken } from "~~/server/utils/auth"; import { createApiLogger } from "~~/server/utils/logging"; import { getRuntimeStats } from "~~/server/utils/runtimeState"; /** * 运行统计接口 * * 统计信息包含 uptime、模型名、缓存数量、最近问答记录数量 * 因为它能反映服务使用情况,所以和旧 Python 服务一样走可选 ACCESS_TOKEN 校验 */ export default defineEventHandler((event) => { const logger = createApiLogger(event, "api.stats"); // 未配置 ACCESS_TOKEN 时 verifyAccessToken 会放行;配置后必须携带正确 token if (!verifyAccessToken(event)) { setResponseStatus(event, 403); logger.warn("invalid_access_token"); return { success: false, message: invalidAccessTokenResponse().msg }; } // getRuntimeStats 会实时清理过期缓存,再返回有效缓存数量 logger.info("finish_success"); return getRuntimeStats(); });