Make runtime log queries support request correlation and date-range diagnostics with shared filtering semantics so the log page can use one consistent contract.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Implemented a complete log system for tracking:
- Agent logs:智能体调用
- System logs: 系统运行
- Chat logs: 问答对话
Backend:
- Log model with type, level, user_id, message, source, duration_ms
- LogService with methods for logging and querying
- API endpoints: GET /api/logs, GET /api/logs/stats, GET /api/logs/recent
Frontend:
- LogView.vue with filters, stats, pagination, auto-refresh
- log.ts API client with TypeScript interfaces
- Added "运行日志" nav item to sidebar
SQLAlchemy wasn't detecting changes when we modified the dict in place
and re-assigned the same object reference. Using deep copy ensures
the ORM sees the update.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>